:root{--bg:#120b06;--bg-soft:#21120a;--panel:#1c0f08e0;--panel-strong:#26140af5;--line:#ffb74d40;--text:#fff3df;--muted:#d9be9a;--gold:#ffbf47;--gold-deep:#ff8f1f;--accent:#ffd978;--shadow:0 24px 60px #00000073}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--text);background:radial-gradient(circle at 100% 0,#ffba3840,#0000 24%),radial-gradient(circle at 0,#ff78002e,#0000 20%),linear-gradient(#0f0804 0%,#1a0f08 50%,#120b06 100%);min-height:100vh;margin:0;font-family:Outfit,sans-serif}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.loader{z-index:20;background:radial-gradient(circle,#ffbf4729,#0000 28%),linear-gradient(#0a0603,#180d07);place-items:center;transition:opacity .4s,visibility .4s;display:grid;position:fixed;inset:0}.loader.is-hidden{opacity:0;visibility:hidden}.modal{opacity:0;visibility:hidden;z-index:30;background:#0000008c;place-items:center;padding:1rem;transition:opacity .25s,visibility .25s;display:grid;position:fixed;inset:0}.modal.is-open{opacity:1;visibility:visible}.modal__backdrop{position:absolute;inset:0}.modal__card{border:1px solid var(--line);width:min(100%,420px);box-shadow:var(--shadow);text-align:center;background:linear-gradient(#26140afa,#160c07fa);border-radius:24px;padding:1.5rem;position:relative}.modal__logo{width:72px;margin:0 auto 1rem}.modal__card h2{margin:0 0 .75rem;font-family:Cinzel,serif}.modal__card p{color:var(--muted);margin:0 0 .75rem}.loader__inner{text-align:center;animation:1.8s ease-in-out infinite loaderFloat}.loader__spinner{border:4px solid #ffbf472e;border-top-color:var(--gold);border-right-color:var(--gold-deep);border-radius:50%;width:56px;height:56px;margin:0 auto 1rem;animation:.85s linear infinite spin}.loader__logo{filter:drop-shadow(0 12px 22px #ffa82740);width:108px;margin:0 auto .9rem;animation:1.6s ease-in-out infinite logoPulse}.loader__text{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.82rem;animation:1.6s ease-in-out infinite textGlow}@keyframes logoPulse{0%,to{filter:drop-shadow(0 12px 22px #ffa82740);transform:scale(1)rotate(0)}50%{filter:drop-shadow(0 16px 30px #ffbf4773);transform:scale(1.08)rotate(2deg)}}@keyframes loaderFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes textGlow{0%,to{opacity:.7;letter-spacing:.08em}50%{opacity:1;letter-spacing:.12em}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.page-shell{width:min(1180px,100% - 2rem);margin:0 auto;padding:1rem 0 4rem}.hero{padding-top:.5rem}.topbar{border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#130a05b8;border-radius:24px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;padding:1rem 1.2rem;display:flex}.brand{align-items:center;gap:1rem;display:flex}.brand__logo{flex:none;width:60px}.brand__eyebrow,.section-heading__eyebrow,.info-panel__label,.price-card__tier{letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:0 0 .35rem;font-size:.8rem}.brand h1,.section-heading h2,.hero__copy h2{margin:0;font-family:Cinzel,serif}.brand h1{font-size:clamp(1rem,2vw,1.3rem)}.hero__content{grid-template-columns:1.1fr .9fr;align-items:center;gap:2rem;display:grid}.hero__copy,.hero__poster-card,.info-panel,.price-card,.reservation-form,.summary-card{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow)}.hero__copy{border-radius:32px;padding:2rem}.hero__spotlight{margin-bottom:1rem}.pill{color:var(--accent);background:#ffbf4726;border:1px solid #ffbf474d;border-radius:999px;align-items:center;margin-bottom:1rem;padding:.55rem .95rem;font-weight:600;display:inline-flex}.pill--strong{letter-spacing:.08em;text-transform:uppercase;color:#1a0f08;background:linear-gradient(135deg,#ffe39d,#ff9f1f);border-color:#ffe291a6;padding:.85rem 1.35rem;font-size:1rem;font-weight:800;box-shadow:0 18px 40px #ff8f1f47}.hero__copy h2{margin-bottom:1rem;font-size:clamp(2rem,4vw,3.8rem);line-height:1.08}.hero__lead,.section-heading p,.info-panel p,.price-card p,.summary-note,.pay-later-banner,.field span,.form-message{color:var(--muted)}.hero__lead{font-size:1.05rem;line-height:1.7}.notice-card{background:#ffc46114;border:1px solid #ffc46138;border-radius:20px;margin:1.6rem 0;padding:1rem 1.1rem}.notice-card h3,.summary-card h3{margin-top:0}.notice-card p{margin:.35rem 0}.cta-row{flex-wrap:wrap;gap:.9rem;display:flex}.button{border-radius:999px;justify-content:center;align-items:center;min-height:52px;padding:.85rem 1.25rem;font-weight:700;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button--primary{color:#1a0f08;background:linear-gradient(135deg, var(--accent), var(--gold-deep));box-shadow:0 14px 36px #ff8f1f47}.button--secondary,.button--ghost{background:#ffbf4714;border:1px solid #ffbf474d}.button--wide{cursor:pointer;width:100%;font:inherit;border:0}.button[disabled]{cursor:wait}.button__content{justify-content:center;align-items:center;gap:.65rem;display:inline-flex}.button__spinner{border:2px solid #1a0f0840;border-top-color:#1a0f08;border-radius:50%;width:18px;height:18px;animation:.75s linear infinite spin;display:none}.button.is-loading .button__spinner{display:inline-block}.hero__poster-card{background:linear-gradient(#2a150af5,#140b06f5);border-radius:32px;padding:1rem}.hero__poster{border-radius:24px;width:100%}.pricing__grid,.reservation__layout{gap:1.2rem;display:grid}.section-heading{margin-bottom:1.2rem}.section-heading h2{margin-bottom:.5rem;font-size:clamp(1.8rem,3vw,2.8rem)}.pricing__grid{grid-template-columns:repeat(3,1fr)}.price-card{border-radius:26px;padding:1.5rem}.price-card--featured{background:linear-gradient(180deg, #ffc4611f, #20120af0), var(--panel)}.price-card h3{color:var(--accent);margin:0 0 .65rem;font-size:2rem}.reservation{margin-top:3rem}.reservation__layout{grid-template-columns:320px 1fr;align-items:start}.summary-card,.reservation-form{border-radius:28px;padding:1.5rem}.summary-row{border-bottom:1px solid #ffbf471f;justify-content:space-between;gap:1rem;padding:.9rem 0;display:flex}.summary-row--total{color:var(--accent);font-size:1.05rem}.summary-row--payment{color:var(--accent);font-size:1.1rem}.form-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.field{flex-direction:column;gap:.55rem;display:flex}.field--full{grid-column:1/-1}.field span{font-size:.95rem}.field input,.field select,.ticket-input input{background:var(--panel-strong);width:100%;color:var(--text);font:inherit;border:1px solid #ffbf472e;border-radius:16px}.field input,.field select{min-height:52px;padding:.9rem 1rem}.field input::placeholder{color:#b89772}.ticket-inputs{gap:1rem;margin:1.4rem 0;display:grid}.ticket-input{background:#ffbf470f;border:1px solid #ffbf471f;border-radius:22px;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.ticket-input__title,.ticket-input__price{margin:0}.ticket-input__title{font-size:1.05rem;font-weight:700}.ticket-input__price{color:var(--muted);margin-top:.25rem}.ticket-input input{text-align:center;width:110px;min-height:52px;padding:.9rem;font-weight:700}.pay-later-banner{background:linear-gradient(90deg,#ffbf472e,#ff8f1f1a);border:1px solid #ffbf4738;border-radius:20px;flex-direction:column;gap:.2rem;margin-bottom:1.1rem;padding:1rem 1.1rem;line-height:1.6;display:flex}.pay-later-banner strong{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:1rem}.pay-later-banner span{color:var(--text);font-weight:600}.form-message{min-height:1.4rem;margin:1rem 0 0}.form-message.is-success{color:#ffe39d}.form-message.is-error{color:#ff9f8f}@media (width<=980px){.hero__content,.reservation__layout,.pricing__grid{grid-template-columns:1fr}.reservation__summary{order:2}}@media (width<=720px){.page-shell{width:min(100% - 1rem,1180px)}.topbar,.brand,.cta-row,.ticket-input{flex-direction:column;align-items:stretch}.topbar{border-radius:18px;padding:.9rem}.form-grid{grid-template-columns:1fr}.hero__copy,.hero__poster-card,.summary-card,.reservation-form{border-radius:24px}.hero__copy{padding:1.4rem}.hero__copy h2{font-size:2.15rem}.pricing__grid,.ticket-inputs,.reservation__layout{gap:.9rem}.price-card,.modal__card,.summary-card,.reservation-form{padding:1.15rem}.ticket-input input{width:100%}.brand__logo{width:52px}}
