/* The approved A direction: physical illuminated lettering is the lead.
   Artwork owns the ornate logo; navigation, headline and actions remain HTML. */

.home-page .marquee-hero{--lamp:#ffe0a0;isolation:isolate;position:relative;min-height:900px;min-height:max(900px,100svh);height:auto;max-height:none;background:#061b17;overflow:hidden;color:#fff1cf}
.home-page .marquee-hero:after{content:none}.marquee-scenery{position:absolute;z-index:-3;inset:0;pointer-events:none;transform:translate3d(0,var(--parallax,0px),0)}.marquee-scenery img{width:100%;height:100%;object-fit:cover;object-position:center center}.marquee-atmosphere{position:absolute;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 50% 44%,color-mix(in srgb,var(--lamp) 12%,transparent),transparent 60%),linear-gradient(0deg,#04150c77,transparent 22%,transparent 87%,#04150b44);transition:background .6s}
.marquee-content{width:100%;position:relative;display:flex;flex-direction:column;align-items:center;padding:94px 25px 66px;text-align:center;z-index:2}
.marquee-sign{position:relative;width:min(87vw,1240px);max-width:100%;flex:none;filter:drop-shadow(0 24px 22px #0009);transform:perspective(1500px) rotateY(var(--sign-x,0deg)) rotateX(var(--sign-y,0deg));transition:transform .65s ease-out;transform-origin:50% 58%}
.marquee-sign:after{content:'';position:absolute;inset:32% 12% 10%;z-index:-1;pointer-events:none;box-shadow:0 0 90px 22px #ffbc3a0c;border-radius:50%}
.marquee-sign img{width:100%;height:auto;display:block}
.marquee-poster{transition:opacity .15s linear}
.marquee-video{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain;pointer-events:none;opacity:0;-webkit-mask-image:url('marquee-loop-mask.svg');mask-image:url('marquee-loop-mask.svg');-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;mask-mode:alpha}
.marquee-sign.is-playing .marquee-video{opacity:1}
.marquee-sign.is-playing .marquee-poster{opacity:0}
html.motion-reduced .marquee-video,html.motion-paused .marquee-video{opacity:0}
html.motion-reduced .marquee-poster,html.motion-paused .marquee-poster{opacity:1}
.marquee-neon{position:absolute;top:93px;left:max(5%,calc(50% - 645px));width:clamp(210px,20vw,285px);height:auto;z-index:3;pointer-events:none;transform:rotate(-7deg);filter:drop-shadow(0 0 10px #ff236133)}
.marquee-intro{position:relative;z-index:3;margin-top:-2px;text-align:center;max-width:650px;text-shadow:0 2px 6px #000,0 0 20px #00120e}
.home-page .marquee-hero h1{font:700 22px/1.7 MarqueeMincho,'Yu Mincho',serif;letter-spacing:.12em;color:#fff0ce;font-synthesis:none;margin:0}
.marquee-intro>p{font:700 15px/1.9 MarqueeMincho,'Yu Mincho',serif;letter-spacing:.045em;margin:2px 0 18px;font-synthesis:none;color:#fff0d2}
.marquee-service{font:500 11px/1.7 Noto,sans-serif;letter-spacing:.12em;color:#ecddbc}
.marquee-ticket{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;gap:22px;width:340px;min-height:65px;max-width:100%;margin:auto;color:#fff1cf;font:700 23px/1.3 MarqueeMincho,'Yu Mincho',serif;letter-spacing:.12em;font-synthesis:none;text-shadow:0 2px 3px #380615;filter:drop-shadow(0 5px 6px #0008) drop-shadow(0 0 9px #ffd47825);transition:transform .25s,filter .25s}
.marquee-ticket-frame{position:absolute;inset:0;width:100%;height:100%;z-index:-1;overflow:visible}.marquee-ticket-frame path:first-child{fill:#751333;stroke:#ffdfa2;stroke-width:2;vector-effect:non-scaling-stroke}.marquee-ticket-frame path:last-child{fill:none;stroke:#d99b64;stroke-width:1;vector-effect:non-scaling-stroke}
.marquee-ticket-star{font-family:Georgia,serif;font-size:20px;color:#ffe69d}.marquee-ticket-arrow{font-family:Georgia,serif;font-size:35px;line-height:1;color:#ffe69d;letter-spacing:-.1em}
.marquee-ticket:is(:hover,.is-touch-active,.is-scroll-active){transform:translateY(-3px);filter:drop-shadow(0 6px 8px #0008) drop-shadow(0 0 15px #ffd47855)}.marquee-ticket:is(:hover,.is-touch-active,.is-scroll-active) path:first-child{fill:#94204a}.marquee-ticket:focus-visible{outline:3px solid #fff0a6;outline-offset:6px}
.marquee-discover{display:inline-flex;align-items:center;gap:15px;margin-top:15px;padding:5px 0;border-bottom:1px solid #c5a97380;color:#f0dfc3;font:500 11px/1.6 Noto,sans-serif;letter-spacing:.05em;text-shadow:0 2px 6px #000}
.marquee-discover span{font-family:Noto,sans-serif}.marquee-discover:hover{color:#ffcbe6;border-color:#ffcbe6}
.marquee-bottom{position:absolute;bottom:19px;left:40px;right:40px;display:flex;align-items:center;justify-content:space-between;gap:25px;z-index:4;text-shadow:0 1px 5px #000}
.marquee-scroll{font:600 10px/1.5 Barlow,sans-serif;letter-spacing:.15em;display:flex;align-items:center;gap:12px;color:#e2c99b}.marquee-scroll>span{font:16px Noto,sans-serif}

.home-page .mobile-bar{border-top:1px solid #c79d59;background:#041c17}.home-page .mobile-bar a{font-family:MarqueeMincho,Noto,serif;font-weight:700}.home-page .mobile-bar a:first-child{background:#6a1733;color:#ffebc3}.home-page .mobile-bar a:last-child{background:#123c34;color:#ffebc3}
html.motion-paused :is(.marquee-sign,.marquee-scenery),html.motion-reduced :is(.marquee-sign,.marquee-scenery){transform:none}
@media(min-width:1600px){.marquee-neon{top:155px;left:calc(50% - 710px);width:325px}.marquee-content{padding-top:100px}.marquee-sign{width:min(85vw,1400px)}.home-page .marquee-hero{min-height:100svh}}
@media(max-width:1200px){.marquee-sign{width:min(91vw,1080px)}.marquee-neon{width:24vw;left:4%;top:128px}.marquee-content{padding-top:100px}.home-page .marquee-hero{min-height:900px}.marquee-bottom{left:25px;right:25px}}
@media(max-width:850px){.home-page .marquee-hero{min-height:850px}.marquee-content{padding:158px 12px 110px}.marquee-sign{width:98vw;max-width:none}.marquee-neon{top:96px;left:7%;width:27vw;max-width:230px;transform:rotate(-5deg)}.marquee-intro{margin-top:15px}.home-page .marquee-hero h1{font-size:23px}.marquee-intro>p{font-size:14px}.marquee-bottom{bottom:24px;flex-wrap:wrap;justify-content:center;gap:8px 30px}.marquee-scroll{display:none}}
@media(max-width:600px){.home-page .marquee-hero{min-height:780px;min-height:max(780px,100svh);height:auto}.marquee-scenery img{object-fit:cover;object-position:center center}.marquee-atmosphere{background:radial-gradient(ellipse at 50% 43%,color-mix(in srgb,var(--lamp) 12%,transparent),transparent 60%),linear-gradient(0deg,#03120a88,transparent 24%,transparent 87%,#03120b55)}.marquee-content{padding:175px 0 164px}.marquee-neon{top:98px;left:7%;width:39vw;max-width:185px;transform:rotate(-6deg)}.marquee-sign{width:100%;max-width:none;filter:drop-shadow(0 16px 15px #0008)}.marquee-intro{width:calc(100% - 42px);max-width:430px;margin-top:29px}.home-page .marquee-hero h1{font-size:22px;line-height:1.6;letter-spacing:.06em}.marquee-intro>p{font-size:12px;line-height:2;margin:9px 0 21px;letter-spacing:.025em}.marquee-service{font-size:10px;letter-spacing:.07em}.marquee-ticket{width:300px;min-height:62px;font-size:22px;letter-spacing:.13em;gap:22px}.marquee-ticket-star{font-size:18px}.marquee-ticket-arrow{font-size:31px}.marquee-discover{font-size:10px;margin-top:16px;gap:10px;letter-spacing:.02em}.marquee-bottom{left:15px;right:15px;bottom:78px;gap:10px}.home-page .mobile-bar a{font-size:12px}}
@media(max-width:350px){.home-page .marquee-hero{min-height:740px}.marquee-content{padding-top:174px;padding-bottom:160px}.marquee-neon{width:43vw;top:95px;left:5%}.marquee-sign{width:100%}.marquee-intro{margin-top:27px;width:calc(100% - 34px)}.home-page .marquee-hero h1{font-size:19px}.marquee-intro>p{font-size:11px}.marquee-service{font-size:9px}.marquee-ticket{width:265px;font-size:20px;gap:17px;min-height:58px}}
@media(prefers-reduced-motion:reduce){.marquee-sign,.marquee-scenery{transform:none!important}.marquee-ticket:is(:hover,.is-touch-active,.is-scroll-active){transform:none}}
/* Keep the marquee width-led on short screens; its content can scroll vertically. */
@media(min-width:851px) and (max-height:800px){.home-page .marquee-hero{min-height:800px}.marquee-content{padding-top:86px;padding-bottom:65px}.marquee-neon{top:88px;width:min(21vw,245px)}.home-page .marquee-hero h1{font-size:20px;line-height:1.5}.marquee-intro>p{font-size:13px;margin-bottom:13px}.marquee-ticket{min-height:58px;font-size:21px}.marquee-discover{margin-top:11px}}
