:root{--bg: #050403;--text: #fff8ed;--muted: #c7b8a3;--gold: #c7954a;--gold-bright: #f2cf91;--wine: #6f1f2b;--sage: #8ca087;--line: rgba(242, 207, 145, .18);--panel: rgba(8, 6, 4, .62);--font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif: "Playfair Display", Georgia, serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%}html,body{overflow:hidden;overscroll-behavior:none;background:var(--bg)}body{margin:0;color:var(--text);font-family:var(--font-sans);line-height:1.5;text-rendering:optimizeLegibility}button,input,select{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}.app-shell{position:relative;min-height:100dvh;isolation:isolate}.background-stage{position:fixed;inset:0;z-index:0;overflow:hidden;background:#020201;transform:translateZ(0)}.bg-frame{position:absolute;inset:-4%;z-index:0;width:108%;height:108%;object-fit:cover;filter:saturate(1.04) contrast(1.08);will-change:transform,opacity}.aurora-grid{position:absolute;inset:0;z-index:4;opacity:.32;background-image:linear-gradient(rgba(242,207,145,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(242,207,145,.07) 1px,transparent 1px);background-size:86px 86px;-webkit-mask-image:radial-gradient(circle at 50% 48%,black 0%,transparent 70%);mask-image:radial-gradient(circle at 50% 48%,black 0%,transparent 70%);animation:grid-drift 18s linear infinite}.cinema-vignette{position:absolute;inset:0;z-index:5;pointer-events:none;background:radial-gradient(circle at var(--focus-x, 50%) var(--focus-y, 55%),transparent 0%,rgba(5,4,3,.06) 30%,rgba(5,4,3,.74) 80%),linear-gradient(90deg,#050403e0,#05040329 46%,#050403c7),linear-gradient(180deg,rgba(5,4,3,.3),transparent 40%,rgba(5,4,3,.72));transition:background-position 1.8s ease}.grain{position:absolute;inset:0;z-index:6;pointer-events:none;opacity:.13;background-image:linear-gradient(0deg,rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:4px 4px;mix-blend-mode:overlay}.cursor-glow{position:fixed;inset:0;z-index:7;pointer-events:none;opacity:.76}.topbar{position:fixed;top:0;left:0;right:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px clamp(18px,5vw,58px);transition:background .36s ease,border-color .36s ease,padding .36s ease}.topbar.is-scrolled,.app-shell.is-final .topbar{padding-block:12px;border-bottom:1px solid var(--line);background:#050403b3;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand-button{border:0;padding:0;background:transparent;color:var(--text);font-family:var(--font-serif);font-size:1.55rem;font-weight:700;letter-spacing:.03em;cursor:pointer}.topbar nav{display:none;align-items:center;gap:6px;padding:5px;border:1px solid rgba(242,207,145,.12);border-radius:999px;background:#0504036b;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.topbar nav button{border:0;border-radius:999px;padding:9px 14px;background:transparent;color:#fff8edb8;font-size:.72rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase;cursor:pointer;transition:background .18s ease,color .18s ease}.topbar nav button:hover,.topbar nav button.is-active,.footer-links a:hover{color:var(--gold-bright)}.topbar nav button.is-active{background:#f2cf911f}.topbar-cta{min-width:68px;border:1px solid var(--line);border-radius:999px;padding:10px 15px;background:#05040338;color:var(--gold-bright);font-size:.78rem;font-weight:900;text-align:center;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.story{position:relative;z-index:10;width:100%;height:100dvh}.chapter,.reserve-section{position:fixed;inset:0;display:flex;align-items:center;min-height:100dvh;padding:116px clamp(18px,5vw,72px) 88px;will-change:transform,opacity,filter}.align-right{justify-content:flex-end}.copy-block{width:min(780px,100%)}.copy-block.compact{width:min(620px,100%);border-left:1px solid var(--line);padding:28px 0 28px 24px;background:linear-gradient(90deg,rgba(5,4,3,.34),transparent)}.kicker{display:inline-flex;align-items:center;gap:10px;margin-bottom:18px;color:var(--gold-bright);font-size:.74rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}h1,h2,p{margin-top:0}h1,h2{font-family:var(--font-serif);line-height:.98;text-wrap:balance}h1{max-width:12ch;margin-bottom:24px;font-size:clamp(3.1rem,9.2vw,7.4rem)}h2{margin-bottom:20px;font-size:clamp(2.2rem,5.8vw,4.35rem)}p{max-width:570px;margin-bottom:30px;color:var(--muted);font-size:1.04rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;border:0;border-radius:999px;padding:0 28px;background:linear-gradient(135deg,var(--gold-bright),var(--gold));color:#171008;font-weight:900;cursor:pointer;box-shadow:0 18px 52px #c7954a33;transition:box-shadow .22s ease,filter .22s ease}.button:hover{box-shadow:0 22px 70px #c7954a61;filter:brightness(1.04)}.button:disabled{cursor:wait;opacity:.78}.floating-stat{position:absolute;right:clamp(78px,8vw,132px);bottom:clamp(108px,12vh,150px);z-index:12;display:grid;gap:2px;min-width:156px;border:1px solid rgba(242,207,145,.2);border-radius:8px;padding:18px;background:linear-gradient(135deg,rgba(242,207,145,.14),transparent 42%),#0504038a;box-shadow:0 26px 70px #00000057;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.align-right .floating-stat{right:auto;left:clamp(78px,8vw,132px)}.floating-stat span{font-family:var(--font-serif);font-size:2.4rem;line-height:1}.floating-stat small{color:var(--muted);font-size:.7rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.scroll-cue{position:absolute;left:clamp(18px,5vw,72px);bottom:32px;display:inline-flex;align-items:center;gap:10px;color:#fff8ed94;font-size:.7rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.story-progress{position:fixed;top:50%;right:clamp(16px,3vw,34px);z-index:35;width:34px;height:160px;transform:translateY(-50%)}.story-progress:before{content:"";position:absolute;left:50%;top:0;width:1px;height:100%;background:#fff8ed33;transform:translate(-50%)}.story-progress>span{position:absolute;left:50%;top:0;display:block;width:1px;background:var(--gold-bright);transform:translate(-50%);transition:height 1.2s cubic-bezier(.16,1,.3,1)}.progress-dots{position:absolute;inset:-6px 0;display:flex;flex-direction:column;justify-content:space-between;align-items:center}.progress-dots button{width:9px;height:9px;border:1px solid rgba(255,248,237,.42);border-radius:999px;padding:0;background:#050403b8;cursor:pointer}.progress-dots button.is-active{border-color:var(--gold-bright);background:var(--gold-bright);box-shadow:0 0 0 6px #f2cf911f}.step-dock{position:fixed;left:50%;bottom:24px;z-index:36;display:flex;align-items:center;gap:8px;padding:8px;border:1px solid rgba(242,207,145,.16);border-radius:999px;background:#0504039e;box-shadow:0 24px 80px #00000057;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.step-dock button{display:grid;place-items:center;width:38px;height:38px;border:1px solid transparent;border-radius:999px;padding:0;background:#fff8ed0d;color:#fff8edc2;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease}.step-dock button:hover{transform:translateY(-2px);color:var(--gold-bright)}.step-dock button.is-active{border-color:#f2cf9157;background:linear-gradient(135deg,#f2cf9138,#6f1f2b52);color:var(--gold-bright)}.step-dock span{font-size:.76rem;font-weight:900}.reserve-section{background:linear-gradient(180deg,#0504030a,#050403b8)}.reserve-panel{width:min(1120px,100%);margin-inline:auto;display:grid;gap:34px;border:1px solid var(--line);border-radius:8px;padding:clamp(24px,5vw,56px);background:linear-gradient(135deg,rgba(242,207,145,.14),transparent 30%),linear-gradient(225deg,rgba(111,31,43,.22),transparent 34%),var(--panel);box-shadow:0 28px 90px #0000008a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.reservation-meta{display:grid;gap:10px;color:#fff8edbd;font-size:.88rem;font-weight:700}.reservation-meta span{display:inline-flex;align-items:center;gap:9px}.reservation-form{display:grid;gap:16px}.reservation-form label{display:grid;gap:8px}.reservation-form label span{color:var(--muted);font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}input,select{width:100%;min-height:54px;border:1px solid rgba(242,207,145,.22);border-radius:8px;padding:0 15px;outline:none;background:#050403b8;color:var(--text);transition:border-color .18s ease,box-shadow .18s ease}input:focus,select:focus{border-color:#f2cf91b8;box-shadow:0 0 0 4px #c7954a24}.reservation-submit{width:100%}.footer{position:fixed;left:0;right:0;bottom:0;z-index:28;display:grid;gap:14px;padding:18px clamp(18px,5vw,72px);border-top:1px solid var(--line);background:#050403b8;color:var(--muted);opacity:0;pointer-events:none;transform:translate3d(0,18px,0);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:opacity .78s ease,transform 1.1s cubic-bezier(.16,1,.3,1)}.app-shell.is-final .footer{opacity:1;pointer-events:auto;transform:translateZ(0)}.footer p{margin-bottom:0}.footer-links{display:grid;gap:8px}@keyframes grid-drift{0%{background-position:0 0}to{background-position:86px 86px}}@media(min-width:760px){.topbar nav{display:flex}.reserve-panel{grid-template-columns:.78fr 1fr;align-items:start}.reservation-form{grid-template-columns:repeat(2,minmax(0,1fr))}.reservation-form .button{grid-column:1 / -1}.footer{grid-template-columns:1fr auto;align-items:center}.footer-links{grid-template-columns:repeat(3,auto);column-gap:24px}}@media(max-width:759px){.cinema-vignette{background:radial-gradient(circle at var(--focus-x, 50%) var(--focus-y, 56%),transparent 0%,rgba(5,4,3,.18) 30%,rgba(5,4,3,.88) 80%),linear-gradient(180deg,#05040324,#050403eb)}.chapter,.reserve-section{align-items:flex-end;padding-bottom:108px}.copy-block.compact{padding-left:18px}.floating-stat,.story-progress{display:none}.step-dock{max-width:calc(100vw - 24px);bottom:16px}.step-dock button{width:34px;height:34px}.footer{display:none}}@media(max-width:430px){.topbar{gap:12px}.brand-button{font-size:1.32rem}.topbar-cta{min-width:60px;padding-inline:12px}h1{max-width:11ch}p{font-size:.98rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
