@font-face { font-family: "Dancing Script"; src: url("DancingScript-SemiBold.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: block; }
:root { color-scheme: light; background: #5f3d25; }
* { box-sizing: border-box; }
html, body { width: 100%; min-height: 100%; margin: 0; overflow: hidden; }
button, a { -webkit-tap-highlight-color: transparent; }
.app-shell { position: fixed; inset: 0; overflow: hidden; background: #5f3d25; }
.screen-background { position: absolute; inset: 0; background: #5f3d25; }
.safe-area { position: absolute; inset: env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px); overflow: hidden; }
.stage { --scale: 1; width: 941px; height: 1672px; position: absolute; left: 50%; top: 50%; margin: -836px 0 0 -470.5px; transform: scale(var(--scale)); transform-origin: center; overflow: hidden; box-shadow: none; }
.design { position: absolute; inset: 0; width: 941px; height: 1672px; }
.design svg { display: block; width: 941px; height: 1672px; }
.design-background { display: block; width: 941px; height: 1672px; }
.menu-toggle { position: absolute; z-index: 16; top: 32px; left: 28px; display: grid; gap: 8px; width: 62px; height: 58px; padding: 14px; cursor: pointer; background: rgb(70 28 13 / 48%); border: 2px solid rgb(255 238 200 / 75%); border-radius: 12px; box-shadow: 0 2px 6px rgb(34 12 4 / 55%); }
.menu-toggle span { display: block; height: 4px; background: #fff4d8; border-radius: 4px; box-shadow: 0 1px 1px rgb(48 15 4 / 70%); }
.menu-toggle.is-open { visibility: hidden; }
.menu-toggle:focus-visible { outline: 5px solid #006b3b; outline-offset: 3px; }
.site-menu { position: absolute; z-index: 15; inset: 0; visibility: hidden; pointer-events: none; }
.site-menu.is-open { visibility: visible; pointer-events: auto; }
.site-menu-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; background: rgb(25 9 3 / 48%); border: 0; opacity: 0; transition: opacity .24s ease; }
.site-menu.is-open .site-menu-backdrop { opacity: 1; }
.site-menu-panel { position: absolute; inset: 0 auto 0 0; width: 657px; padding: 174px 38px 58px 170px; overflow-y: auto; color: #422116; background: linear-gradient(rgb(255 245 216 / 29%), rgb(255 245 216 / 29%)), url("menu-pergament.webp") center / cover no-repeat; border: 0; box-shadow: 10px 0 28px rgb(35 10 3 / 58%); transform: translateX(-105%); transition: transform .28s ease-out; }
.site-menu.is-open .site-menu-panel { transform: translateX(0); }
.site-menu-heading { display: flex; align-items: flex-start; justify-content: space-between; min-height: 104px; padding: 3px 0 22px; color: #006b3b; font: 600 52px/.9 "Dancing Script", cursive; text-shadow: 0 1px 0 rgb(255 248 224 / 70%); border-bottom: 3px solid rgb(92 45 23 / 43%); }
.site-menu-heading button { width: 48px; height: 48px; margin: -3px 2px 0 10px; color: #542314; font: 500 46px/.82 Georgia, serif; cursor: pointer; background: rgb(255 238 195 / 46%); border: 2px solid rgb(84 35 20 / 67%); border-radius: 50%; box-shadow: 0 1px 2px rgb(50 14 4 / 25%); }
.site-menu nav { display: grid; margin-top: 17px; }
.site-menu nav a, .site-menu nav button { position: relative; display: flex; width: 100%; min-height: 89px; align-items: center; padding: 16px 48px 16px 2px; color: #4a1e13; font: 700 33px/1.08 Georgia, serif; text-align: left; text-decoration: none; cursor: pointer; background: transparent; border: 0; border-bottom: 2px solid rgb(106 54 28 / 32%); text-shadow: 0 1px 0 rgb(255 246 219 / 55%); }
.site-menu nav a:not(.desktop-view)::after, .site-menu nav button:not(.menu-install)::after { content: "›"; position: absolute; right: 15px; top: 50%; color: #55200f; font: 500 68px/.55 Georgia, serif; transform: translateY(-50%); }
.site-menu nav a:hover, .site-menu nav button:hover, .site-menu nav a:focus-visible, .site-menu nav button:focus-visible { color: #006b3b; background: rgb(255 247 220 / 30%); outline: 0; }
.site-menu nav .menu-install { min-height: 82px; margin: 14px 8px 12px -6px; padding: 13px 44px; color: #fff9e6; font-size: 30px; justify-content: center; background: linear-gradient(115deg, #00623a, #007047 55%, #005230); border: 2px solid #004728; border-radius: 15px; box-shadow: inset 0 2px 0 rgb(255 255 255 / 18%), 0 3px 5px rgb(47 18 6 / 34%); text-shadow: 0 2px 1px rgb(34 12 4 / 58%); }
.site-menu nav .menu-install span { display: none; }
.site-menu nav .menu-install::after { content: "›"; position: absolute; right: 18px; top: 50%; color: #fff6d8; font: 500 76px/.5 Georgia, serif; transform: translateY(-50%); }
.site-menu nav a:nth-of-type(5), .site-menu nav a:nth-of-type(6), .site-menu nav a:nth-of-type(7) { min-height: 63px; padding-top: 11px; padding-bottom: 11px; color: rgb(74 30 19 / 82%); font-size: 26px; }
.site-menu nav a:nth-of-type(5)::after, .site-menu nav a:nth-of-type(6)::after, .site-menu nav a:nth-of-type(7)::after { font-size: 52px; }
.site-menu nav .desktop-view { min-height: 76px; margin: 74px 12px 0 -1px; padding-left: 24px; color: #4a1e13; font-size: 27px; justify-content: center; text-align: center; background: rgb(255 237 190 / 30%); border: 2px solid #784019; border-radius: 14px; box-shadow: inset 0 1px 0 rgb(255 249 222 / 75%); }
.site-menu nav .desktop-view::before { content: "▱"; margin-right: 14px; font: 40px/.7 Arial, sans-serif; }
.site-menu nav .desktop-view::after { content: "›"; position: absolute; right: 18px; top: 50%; font: 500 70px/.5 Georgia, serif; transform: translateY(-50%); }
.main-greeting { position: absolute; z-index: 2; left: 195px; top: 424px; width: 560px; margin: 0; color: #006b3b; font: 600 48px/1 "Dancing Script", cursive; white-space: nowrap; text-align: center; text-shadow: 0 1px 0 rgb(255 248 224 / 75%); pointer-events: none; }
.welcome-note { position: absolute; z-index: 2; left: 94px; top: 728px; width: 753px; margin: 0; color: #006b3b; font: 600 48px/1 "Dancing Script", cursive; text-align: center; text-shadow: 0 1px 0 rgb(255 248 224 / 75%); pointer-events: none; }
.action { position: absolute; display: block; border: 0; background: transparent; cursor: pointer; border-radius: 26px; outline-offset: 7px; }
.reservation { left: 84px; top: 559px; width: 774px; height: 151px; }
.tile-menu { left: 0; top: 793px; width: 551px; height: 356px; }
.tile-vouchers { left: 456.55341px; top: 779.18451px; width: 476.84467px; height: 397.70874px; }
.tile-news { left: 16.697248px; top: 1134.3148px; width: 463.9881px; height: 397.72388px; }
.tile-contact { left: 475.34653px; top: 1154.9807px; width: 436.49817px; height: 361.32132px; }
.tile-contact::after { content: ""; position: absolute; left: 126px; top: 342px; width: 180px; height: 5px; border-radius: 50%; background: linear-gradient(90deg, transparent, #006b3b 10%, #006b3b 90%, transparent); transform: rotate(-2deg); box-shadow: 0 1px 1px rgb(255 246 215 / 60%); pointer-events: none; }
.legal-footer { position: absolute; z-index: 3; top: 1562px; left: 195px; width: 565px; display: grid; grid-template-columns: .9fr 1fr 1.22fr; align-items: center; text-align: center; }
.legal-footer a { display: grid; min-width: 0; min-height: 58px; align-content: center; padding: 6px 3px; color: #5d2416; font: 700 19px/1.12 Georgia, serif; text-decoration: underline; text-decoration-color: rgb(93 36 22 / 55%); text-decoration-thickness: 1px; text-underline-offset: 4px; white-space: nowrap; }
.legal-footer a:focus-visible { outline: 5px solid #006b3b; outline-offset: -3px; }
.install-launch { position: absolute; z-index: 4; left: 760px; top: 1500px; width: 172px; height: 156px; display: grid; grid-template-rows: 122px 25px; place-items: center; padding: 0; color: #fffdf5; font: 700 15px/1 Georgia, serif; text-shadow: 0 1px 3px rgb(52 20 5 / 95%); border: 0; background: transparent; cursor: pointer; }
.install-launch-animation { position: relative; display: block; width: 170px; height: 122px; overflow: hidden; }
.install-launch-animation img { position: absolute; inset: 50% auto auto 50%; width: 220px; height: 220px; object-fit: contain; opacity: 0; filter: brightness(0) invert(1) drop-shadow(0 0 1.8px #fff) drop-shadow(0 2px 2px rgb(43 15 4 / 90%)); transform: translate(-50%, -50%); animation: install-phone-frame 6.4s steps(1, end) infinite; }
.install-launch-animation img:nth-child(2) { animation-delay: 1.6s; }
.install-launch-animation img:nth-child(3) { animation-delay: 3.2s; }
.install-launch-animation img:nth-child(4) { animation-delay: 4.8s; }
.install-launch:focus-visible { outline: 5px solid #fffdf5; outline-offset: -4px; border-radius: 18px; }
.install-launch:hover .install-launch-animation img, .install-launch:focus-visible .install-launch-animation img { animation-play-state: paused; }
@keyframes install-phone-frame { 0%, 24.99% { opacity: 1; } 25%, 100% { opacity: 0; } }
.install-guide { position: fixed; z-index: 20; inset: 0; display: grid; align-items: end; padding: 18px 16px max(100px, calc(env(safe-area-inset-bottom) + 74px)); pointer-events: none; }
.install-guide[hidden] { display: none; }
.install-guide-card { position: relative; width: min(100%, 390px); margin: 0 auto; padding: 15px 20px 16px; color: #43291b; text-align: center; pointer-events: auto; background: #f9dfac; border: 3px solid #c98c43; border-radius: 18px; box-shadow: 0 8px 20px rgb(32 14 6 / 45%), inset 0 0 25px rgb(140 77 32 / 16%); }
.install-guide-card::after { content: ""; position: absolute; left: 50%; bottom: -20px; width: 0; height: 0; border: 12px solid transparent; border-top: 20px solid #f9dfac; transform: translateX(-50%); filter: drop-shadow(0 3px 1px rgb(64 31 13 / 22%)); }
.install-guide.android { align-items: start; justify-content: end; padding: max(94px, calc(env(safe-area-inset-top) + 74px)) 16px 18px; }
.install-guide.android .install-guide-card::after { top: -20px; bottom: auto; border-top-color: transparent; border-bottom: 20px solid #f9dfac; filter: drop-shadow(0 -2px 1px rgb(64 31 13 / 22%)); }
.install-guide-close { position: absolute; top: 8px; right: 10px; width: 34px; height: 34px; color: #fff6df; font: 700 1.45rem/1 Georgia, serif; background: #8b1e16; border: 1px solid #64120e; border-radius: 50%; cursor: pointer; }
.install-guide-logo, .install-guide-kicker { display: none; }
.install-guide h2 { margin: 1px 32px 7px; color: #006b3b; font: 600 1.8rem/1 "Dancing Script", cursive; }
.install-guide-lead { margin: 0 auto 10px; line-height: 1.35; }
.install-steps { display: grid; gap: 8px; max-height: min(57vh, 510px); margin: 0; padding: 10px 2px; overflow-y: auto; list-style: none; text-align: left; border-top: 1px solid rgb(92 54 25 / 35%); }
.install-steps li { display: grid; grid-template-columns: 38px 1fr; gap: 10px; align-items: center; min-height: 38px; line-height: 1.32; }
.install-steps strong { color: #006b3b; }
.install-step-number { display: grid; width: 34px; height: 34px; place-items: center; color: #006b3b; background: #fff6df; border: 2px solid #006b3b; border-radius: 9px; }
.install-step-number svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 2.35; stroke-linecap: round; stroke-linejoin: round; }
.install-now { width: 100%; margin-top: 9px; padding: 8px 14px; font: 700 .95rem Georgia, serif; cursor: pointer; border-radius: 8px; }
.install-now { color: #fff6df; background: #006b3b; border: 2px solid #004728; box-shadow: 0 2px 0 #004728; }
.action:focus-visible { outline: 5px solid #006b3b; }
.install-guide button:focus-visible { outline: 3px solid #006b3b; outline-offset: 3px; }
.preview-tour-launch { position: fixed; z-index: 30; right: 14px; bottom: 14px; padding: 9px 12px; color: #fff6df; font: 700 .82rem Georgia, serif; background: #006b3b; border: 2px solid #c98c43; border-radius: 8px; box-shadow: 0 2px 0 #004728; cursor: pointer; }
