/* Shared finishing touches for phones, photos and practical information. */
.brand-main,.brand-detail{display:block}.brand-detail{font-size:.9em}.brand-title{display:block;max-width:none}.site-header .brand{min-width:0;flex-shrink:0}.site-header .main-nav{white-space:nowrap}.site-header .header-inner{gap:18px}.header-actions{flex-shrink:0}
button,input,select,summary{touch-action:manipulation}.btn,.menu-btn,.mobile-menu a{min-height:44px}.mobile-menu{max-height:calc(100dvh - 96px);overflow-y:auto;overscroll-behavior:contain}.mobile-menu a:last-child{border-bottom:0}.skip-link{position:fixed;top:8px;left:12px;z-index:100;padding:10px 16px;border-radius:8px;background:#efd08b;color:#15120c;transform:translateY(-180%);font-weight:700}.skip-link:focus{transform:none}
main{scroll-margin-top:100px}main:focus{outline:none}.section[id],.ticket-details[id],.ticket-estimate[id],#estimate-title{scroll-margin-top:105px}.photo-open{aspect-ratio:16/10}.photo-open img,.photo-card:first-child .photo-open img{object-fit:cover!important;object-position:50% 45%;width:100%;height:100%!important;max-height:none!important}.photo-card figcaption{min-height:64px;flex-wrap:wrap}.tourism-media{aspect-ratio:16/10;overflow:hidden}.tourism-media img{width:100%;height:100%;object-fit:cover}.tourism-copy{display:flex;flex-direction:column}.tourism-copy>a{margin-top:auto;padding-top:22px}.image-panel{overflow:hidden}.hotel-copy h3{min-height:2.4em}.hotel-image img{object-position:center}
.booking-status{margin-top:30px;display:grid;grid-template-columns:1fr 1fr;gap:24px}.booking-status>article{border:1px solid #d6a84b;border-radius:20px;background:linear-gradient(130deg,#1c1a14,#101419);padding:28px;display:flex;flex-direction:column;align-items:flex-start}.booking-status h2{font-size:1.65rem;line-height:1.2;margin:18px 0 12px;letter-spacing:-.025em}.booking-status p{color:#b8c1cd;line-height:1.7;font-size:.9rem}.booking-status .btn{margin-top:auto}.booking-status .status-label{border:1px solid #d6a84b66;border-radius:20px;color:#edcd87;padding:6px 11px;font-size:.7rem;letter-spacing:.04em}.booking-status ol{padding-left:18px;color:#d0d5de;font-size:.84rem;line-height:1.8;margin:6px 0 24px}.booking-status .kicker{margin-top:18px}.hotel-note{max-width:80ch}.mobile-menu.open a[aria-current=page]{color:#efd08b}
@media(max-width:1300px){.site-header .main-nav{display:none}.site-header .menu-btn{display:grid;place-items:center}.site-header .header-actions{gap:10px}.site-header .header-actions>.btn{display:none}}
@media(max-width:800px){.home-hero-side{display:flex!important;flex-direction:column;gap:16px}.hero-scene{width:100%;aspect-ratio:16/9!important;min-height:0!important}.home-page .hero-grid{gap:30px}.booking-status{grid-template-columns:1fr}.hotel-copy h3{min-height:0}.section-head{gap:20px}.section-head h2{font-size:clamp(2rem,7vw,3rem);line-height:1.1}.page-hero p{max-width:50ch}.photo-card figcaption{font-size:.82rem}.photo-card figcaption span{letter-spacing:.05em}}
@media(max-width:560px){.site-header{height:76px}.site-header .header-inner{gap:7px}.site-header .brand{gap:5px;flex:1;overflow:hidden}.site-header .brand-title{max-width:none!important;line-height:1.4;letter-spacing:0;white-space:normal;font-size:.65rem}.site-header .brand-main{font-size:1.06em;white-space:nowrap}.site-header .brand-detail{font-size:.88em;white-space:nowrap}.site-header .brand-sub{display:block!important;font-size:.41rem;letter-spacing:.02em;white-space:nowrap;margin-top:3px}.site-header .header-mascot{display:block!important;width:31px!important;height:41px!important;flex:0 0 31px}.site-header .header-actions{gap:6px}.site-header .menu-btn{width:42px;height:42px;min-width:42px}.site-header .lang-switch{padding:2px;gap:0}.site-header .lang-switch a{padding:12px 5px;font-size:.62rem;letter-spacing:0;min-height:36px;display:grid;place-items:center}.mobile-menu{top:85px}.home-page .hero{padding-top:112px}.page-hero{padding-top:123px}.page-hero.with-mascot .container{gap:16px}.home-page .hero h1{font-size:clamp(2.35rem,10.4vw,3.3rem);line-height:1.06}.hero-intro>.kicker{font-size:.61rem;line-height:1.5}.hero-actions{gap:10px}.hero-actions .btn{font-size:.76rem;min-height:46px;padding:12px 16px}.home-page .hero-copy{font-size:.95rem;line-height:1.7}.motion-toggle{position:static;margin:0 14px 20px auto;width:max-content;max-width:calc(100% - 28px)}.footer{padding-bottom:30px}.scene-caption{font-size:.58rem;left:13px;right:65px;bottom:16px}.scene-mascot{width:67px;height:67px;right:1px}.scene-duration{top:11px;left:12px;font-size:9px}.scene-play{right:10px;top:10px;min-width:36px;min-height:36px}.count-grid{gap:6px}.count-unit{min-width:0}.photo-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.photo-dialog .photo-dialog-image{height:58dvh}.photo-dialog button{min-height:44px}.photo-dialog-footer{align-items:flex-start}.photo-dialog-nav{width:100%;justify-content:space-between}.booking-status>article{padding:23px}.booking-status h2{font-size:1.5rem}.venue-film-links{gap:9px}.price-table{font-size:.74rem}.tickets-page .pricing-title h2{font-size:1.15rem;overflow-wrap:anywhere}.footer .footer-brand .brand-title{font-size:.77rem}}
@media(max-width:359px){.site-header .brand-title{font-size:.58rem}.site-header .brand-detail{font-size:.66em}.site-header .header-mascot{width:25px!important;height:35px!important;flex-basis:25px}.site-header .lang-switch a{padding:12px 4px;font-size:.57rem}.site-header .menu-btn{width:38px;min-width:38px}.home-page .hero h1{font-size:2.25rem}.hero-actions .btn{width:100%}.brand-sub{letter-spacing:0!important}}

.hotel-booking-steps{margin-top:24px;padding:22px 24px;border:1px solid #d6a84b55;border-radius:16px;background:#121519}.hotel-booking-steps h3{font-size:1rem;margin:0 0 12px}.hotel-booking-steps ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:0;padding-left:20px;color:#c4ccd7;font-size:.83rem;line-height:1.7}.ticket-faq summary{min-height:44px;padding:7px 0}@media(max-width:650px){.hotel-booking-steps ol{grid-template-columns:1fr;gap:10px}}


.table-hint{display:none}@media(max-width:900px){.table-hint{display:block;color:#edcd87;font-size:.75rem;margin:0 0 12px}.price-table-shell{overscroll-behavior-x:contain}.price-table th:first-child,.price-table td:first-child{position:sticky;left:0;z-index:1;background:#11151a;box-shadow:3px 0 8px #0003}.price-table .golden-row td:first-child{background:#211e16}.price-table .vip-row td:first-child{background:#111c1e}}

