:root{--cream:#f4e8d2;--cream-2:#f4e8d2;--tagline-col:#e7d3bd;--ink:#3a0d18;--ink-soft:#8a6851;--muted:#a98a72;--price:#9a2438;--btn-line:#3b181d;--gold:#b68a3e;--gold-deep:#ca954e;--gold-soft:#e7d3bd;--wine:#4a1320;--wine-deep:#2c0a13;--line:#3a0d1824;--line-gold:#3a0d1833;--line-light:#f4e8d229;--shadow:0 18px 50px -24px #14060b99;--typeface:var(--font-primary), "Noto Serif", Georgia, serif;--serif:var(--typeface);--sans:var(--typeface);--ease:cubic-bezier(.22, .61, .36, 1);--dur:.55s}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{height:100%}body{font-family:var(--sans);color:var(--ink);background:var(--wine-deep);-webkit-font-smoothing:antialiased;background-image:radial-gradient(120% 80% at 50% -10%,#3a0f1a 0%,#2c0a13 60%,#1e070d 100%);justify-content:center;align-items:stretch;min-height:100dvh;display:flex}#app{justify-content:center;align-items:stretch;width:100%;min-height:100dvh;display:flex}.app{background:var(--wine);width:100%;max-width:452px;color:var(--ink);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:none;height:100dvh;box-shadow:var(--shadow);isolation:isolate;position:relative;overflow:hidden auto}.app::-webkit-scrollbar{display:none}@media (width>=520px){.app{border-radius:30px;height:calc(100dvh - 52px);margin:26px 0}}.pages{width:100%;position:relative}.page{min-height:100%;animation:pagein .42s var(--ease);flex-direction:column;display:flex}@keyframes pagein{0%{opacity:0}to{opacity:1}}.bar{z-index:40;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#f4eee2d1;align-items:center;gap:12px;padding:14px 18px;display:flex;position:sticky;top:0}.bar-spacer{flex:1}.iconbtn{border:1px solid var(--line-gold);background:var(--cream-2);width:40px;height:40px;color:var(--ink);cursor:pointer;transition:transform .2s var(--ease), background .2s;border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.iconbtn:active{transform:scale(.92)}.iconbtn svg{width:18px;height:18px}.bar-title{font-family:var(--serif);letter-spacing:.01em;font-size:22px;font-weight:600}.lang{border:1px solid var(--line-gold);background:var(--cream-2);font-family:var(--sans);border-radius:999px;align-items:center;height:40px;display:flex;overflow:hidden}.lang button{cursor:pointer;letter-spacing:.05em;height:calc(100% - 6px);color:var(--muted);background:0 0;border:0;border-radius:999px;margin:3px 0;padding:0 9px;font-size:11.5px;font-weight:700;transition:color .2s,background .2s}.lang button.on{color:#f4e8d2;background:#3b181d}.lang .sep{background:var(--line-gold);width:1px;height:18px}.hero{flex-direction:column;flex:none;justify-content:flex-end;width:100%;height:46vh;min-height:330px;max-height:470px;display:flex;position:relative;overflow:hidden}@media (width>=520px){.hero{height:42vh}}.hero{background:var(--cream)}.hero .hero-bg{object-fit:cover;object-position:70% 28%;width:100%;height:100%;position:absolute;inset:0}.hero .scrim{z-index:2;pointer-events:none;background:linear-gradient(180deg, #4a132000 0%, #4a132000 40%, #4a13208c 72%, var(--wine) 100%);position:absolute;inset:0}.hero-inner{z-index:3;color:#fff;text-align:left;padding:0 22px 22px;position:relative}.crest{width:74px;height:74px;font-family:var(--serif);color:#fff;background:#14100b40;border:1px solid #d9be85b3;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 14px;font-size:38px;font-weight:500;display:flex;box-shadow:0 10px 30px -10px #0009}.eyebrow{letter-spacing:.42em;text-transform:uppercase;color:var(--gold-soft);text-indent:.42em;margin-bottom:8px;font-size:11px;font-weight:700}.wordmark{font-family:"Cormorant", var(--serif);letter-spacing:.01em;color:#f4e8d2;text-shadow:0 8px 30px #14060b80;font-size:71.5px;font-weight:500;line-height:1}.rule{justify-content:center;align-items:center;gap:12px;max-width:230px;margin:14px auto 10px;display:flex}.rule span{background:linear-gradient(90deg, transparent, var(--gold-soft), transparent);flex:1;height:1px}.rule .dot{background:var(--gold-soft);border-radius:50%;flex:none;width:5px;height:5px}.tagline{font-family:"Cormorant", var(--serif);text-indent:10px;color:#e7d3bd;margin-top:12px;font-size:23px;font-style:italic}.hero-top{z-index:4;justify-content:space-between;align-items:center;padding:14px 16px;display:flex;position:absolute;top:0;left:0;right:0}.hero-actions{align-items:center;gap:8px;display:flex}.hero-top .iconbtn{color:#f4e8d2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#3b181d;border-color:#3b181d}.hero-top .lang{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#3b181d;border-color:#3b181d}.hero-top .lang button{color:#f4e8d2ad}.hero-top .lang button.on{color:#3b181d;background:#f4e8d2}.hero-top .lang .sep{background:#f4e8d259}.modal-overlay{z-index:100;background:#14060b99;justify-content:center;align-items:center;padding:22px;display:flex;position:fixed;inset:0}.modal-card{border:1px solid var(--line-light);background:var(--wine-deep);width:min(100%,340px);max-height:calc(100dvh - 44px);color:var(--cream);font-family:var(--serif);border-radius:20px;padding:22px;position:relative;overflow-y:auto;box-shadow:0 24px 70px -30px #14060bf2}.modal-close{width:32px;height:32px;color:var(--cream);font-family:var(--serif);cursor:pointer;background:#f4e8d214;border:1px solid #f4e8d238;border-radius:50%;font-size:23px;line-height:1;position:absolute;top:10px;right:12px}.modal-title{color:var(--cream);align-items:center;gap:9px;padding-right:34px;font-size:22px;font-weight:600;line-height:1.08;display:flex}.modal-title svg{width:20px;height:20px;color:var(--tagline-col);flex:none}.modal-section,.modal-contact,.review-links{margin-top:17px}.notice-list{color:var(--tagline-col);flex-direction:column;gap:9px;padding-left:18px;font-size:13.5px;line-height:1.38;display:flex}.notice-list li::marker{color:var(--gold-deep)}.modal-divider{background:var(--line-light);height:1px;margin:17px 0 0}.modal-contact{flex-direction:column;gap:10px;display:flex}.modal-contact-row{color:var(--tagline-col);align-items:flex-start;gap:9px;font-size:13.5px;line-height:1.35;display:flex}.modal-contact-row svg{width:16px;height:16px;color:var(--gold-deep);flex:none;margin-top:1px}.modal-contact-row strong{color:var(--cream)}.modal-contact-row a,.review-links a{color:var(--cream);text-decoration:none}.wifi-card{border:1px solid var(--line-light);background:#f4e8d212;border-radius:14px;flex-direction:column;gap:7px;margin-top:15px;padding:13px 14px;display:flex}.wifi-card span{color:var(--gold-deep);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:700}.wifi-card strong{color:var(--cream);font-size:18px;font-weight:600}.wifi-password-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.modal-action-small{border:1px solid var(--cream);background:var(--cream);color:var(--ink);font-family:var(--serif);cursor:pointer;border-radius:999px;flex:none;padding:8px 11px;font-size:12.5px;font-weight:700}.modal-note,.modal-subtitle{color:var(--tagline-col);margin-top:16px;font-size:14px;line-height:1.45}.review-links{flex-direction:column;gap:10px;display:flex}.review-links a{border:1px solid var(--cream);background:var(--cream);min-height:44px;color:var(--ink);border-radius:999px;justify-content:center;align-items:center;padding:11px 14px;font-size:15px;font-weight:700;display:flex}#catalog{background:0 0}.catalog-wrap{flex-direction:column;gap:22px;padding:18px 18px 42px;display:flex}.specials{animation:catalogin .48s var(--ease) both;flex-direction:column;gap:11px;display:flex}.specials-eyebrow{color:var(--gold-deep);letter-spacing:.2em;text-transform:uppercase;padding:0 4px;font-size:14px;font-weight:800}.catsection{flex-direction:column;gap:11px;display:flex}.catalog-eyebrow{color:var(--gold-deep);letter-spacing:.2em;text-transform:uppercase;padding:0 4px;font-size:14px;font-weight:800}.specials-list{flex-direction:column;gap:12px;display:flex}.special-card{border:1px solid var(--line-gold);background:var(--cream-2);width:100%;color:var(--ink);text-align:left;cursor:pointer;animation:catalogin .5s var(--ease) both;transition:transform .2s var(--ease), border-color .2s, box-shadow .2s;border-radius:20px;grid-template-columns:112px minmax(0,1fr);align-items:stretch;gap:13px;padding:11px;display:grid;box-shadow:0 16px 34px -30px #17130db3}.special-card:active{transform:scale(.985)}@media (hover:hover){.special-card:hover{border-color:var(--gold);box-shadow:0 18px 36px -28px #17130dd9}}.special-media{background:#1a1610;border-radius:14px;min-height:104px;position:relative;overflow:hidden}.special-media img{object-fit:cover;width:100%;height:100%;min-height:104px;display:block}.special-media-empty{background:linear-gradient(135deg, #b68a3e2e, #17130d0a), var(--cream)}.special-body{flex-direction:column;justify-content:center;gap:7px;min-width:0;display:flex}.special-topline{align-items:baseline;gap:10px;display:flex}.special-topline h2{min-width:0;font-family:var(--serif);flex:1;font-size:25px;font-weight:600;line-height:1.02}.special-topline span{color:var(--price);font-family:var(--serif);flex:none;font-size:20px;font-weight:700}.special-body p{color:var(--ink-soft);font-size:12.8px;line-height:1.45}.catgrid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:min(50vw - 24px,202px);gap:13px;display:grid}.catcard{color:#fff;cursor:pointer;width:100%;min-width:0;height:100%;animation:catalogin .54s var(--ease) both;transition:transform .22s var(--ease), border-color .22s, box-shadow .22s;background:#1a1610;border:1px solid #d9be8559;border-radius:18px;position:relative;overflow:hidden;box-shadow:0 18px 34px -30px #17130dd9}.catcard.full{grid-column:1/-1}.catcard:active{transform:scale(.985)}@media (hover:hover){.catcard:hover{border-color:#d9be85c7;box-shadow:0 22px 42px -30px #17130df2}.catcard:hover img{transform:scale(1.045)}}.catcard img{object-fit:cover;width:100%;height:100%;transition:transform .7s var(--ease);display:block;position:absolute;inset:0}.catcard.no-image{background:linear-gradient(135deg,#b68a3e33,#17130d0d),#211b13}.catcard-mark{color:#d9be8533;font-family:var(--serif);justify-content:center;align-items:center;font-size:clamp(54px,18vw,94px);line-height:1;display:flex;position:absolute;inset:0}.catcard-scrim{background:linear-gradient(#14100b2e,#14100bad),radial-gradient(circle at 50% 45%,#f4eee214,#14100b00 56%);position:absolute;inset:0}.catcard-name{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);max-width:calc(100% - 24px);color:var(--cream-2);font-family:var(--serif);text-align:center;white-space:normal;-webkit-line-clamp:2;text-overflow:ellipsis;overflow-wrap:break-word;background:#14100b94;border:1px solid #d9be8594;border-radius:999px;-webkit-box-orient:vertical;padding:7px 13px 8px;font-size:clamp(13px,4.2vw,21px);font-weight:600;line-height:1.12;display:-webkit-box;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 14px 30px -18px #000000d9}.catalog-empty{border:1px solid var(--line-gold);background:var(--cream-2);color:var(--ink-soft);text-align:center;border-radius:20px;padding:30px 24px;font-size:14px;line-height:1.5}@keyframes catalogin{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.tabbar{z-index:40;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line-light);background:#2c0a13eb;align-items:center;display:flex;position:sticky;top:0;box-shadow:0 10px 22px -20px #14060be6}.tabback{border:1px solid var(--btn-line);background:var(--cream);width:40px;height:40px;color:var(--ink);cursor:pointer;transition:transform .18s var(--ease), background .2s;border-radius:50%;flex:none;justify-content:center;align-items:center;margin-left:12px;padding:0;display:inline-flex;box-shadow:0 8px 18px -12px #14060be6}.tabback svg{width:20px;height:20px}.tabback:active{transform:scale(.95)}@media (hover:hover){.tabback:hover{background:var(--tagline-col)}}.tabtrack{scrollbar-width:none;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;flex:1;align-items:center;gap:8px;min-width:0;padding:11px 12px;display:flex;overflow-x:auto}@media (hover:hover){.tabtrack{cursor:grab}.tabtrack:active{cursor:grabbing}}.tabtrack::-webkit-scrollbar{display:none}.tab{background:var(--btn-line);font-family:var(--serif);color:var(--cream);white-space:nowrap;cursor:pointer;transition:background .28s var(--ease), color .28s, border-color .28s, transform .18s;border:1px solid #f4e8d24d;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:9px 15px;font-size:16px;font-weight:600;line-height:1;display:inline-flex}.tab:active{transform:scale(.95)}@media (hover:hover){.tab:hover{border-color:#f4e8d28c}}.tab.on{background:var(--cream);color:var(--ink);border-color:var(--cream)}.scrolltop{right:max(16px,50% - 210px);bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:35;cursor:pointer;width:46px;height:46px;color:var(--cream);-webkit-backdrop-filter:blur(12px);opacity:0;pointer-events:none;transition:opacity .28s var(--ease), transform .28s var(--ease), background .2s, border-color .2s;background:#2c0a13b8;border:1px solid #ca954e8c;border-radius:50%;place-items:center;display:grid;position:fixed;transform:translateY(12px)scale(.9);box-shadow:0 12px 30px -12px #000000b3,inset 0 1px #f4e8d21f}.scrolltop.show{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.scrolltop:hover{border-color:var(--gold-deep);background:#3c0e1ae6}.scrolltop:active{transform:translateY(1px)scale(.96)}.scrolltop svg{width:20px;height:20px}@media (width>=520px){.scrolltop{bottom:calc(44px + env(safe-area-inset-bottom,0px))}}@media (prefers-reduced-motion:reduce){.scrolltop{transition:opacity .2s linear;transform:none}.scrolltop.show{transform:none}}.catblock{display:block}.catblock+.catblock{border-top:1px solid var(--line-light)}.cat-head{text-align:center;padding:30px 24px 16px}.cat-eyebrow{letter-spacing:.4em;text-transform:uppercase;color:var(--gold-deep);text-indent:.4em;font-size:11px;font-weight:700}.cat-title{font-family:var(--serif);color:var(--cream);margin-top:7px;font-size:46px;font-weight:600;line-height:1}.cat-sub{font-family:var(--serif);color:var(--tagline-col);margin-top:6px;font-size:16px;font-style:italic}.cat-rule{background:var(--gold);border-radius:2px;width:46px;height:2px;margin:16px auto 0}.list{flex-direction:column;gap:16px;padding:8px 18px 40px;display:flex}.item{background:var(--cream-2);border:1px solid var(--line);border-radius:16px;align-items:stretch;gap:15px;padding:13px;display:flex}.item .thumb{width:84px;height:84px;box-shadow:inset 0 0 0 1px var(--line);background:var(--cream);border-radius:12px;flex:none;overflow:hidden}.item .thumb img{object-fit:cover;width:100%;height:100%;display:block}.item .body{flex-direction:column;flex:1;justify-content:center;gap:5px;min-width:0;display:flex}.item.item-text{padding:16px 18px}.item-text .body{width:100%}.item .row1{align-items:baseline;gap:10px;display:flex}.item .name{font-family:var(--serif);flex:1;min-width:0;font-size:23px;font-weight:600;line-height:1.04}.item .price{font-family:var(--serif);color:var(--price);white-space:nowrap;font-size:21px;font-weight:600}.item .desc{color:var(--ink-soft);text-wrap:pretty;font-size:12.7px;line-height:1.45}.feat{background:var(--cream-2);border:1px solid var(--line-gold);border-radius:20px;overflow:hidden;box-shadow:0 14px 34px -26px #17130d99}.media{aspect-ratio:4/3;cursor:pointer;background:#1a1610;width:100%;position:relative;overflow:hidden}.media img.poster{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease), filter .4s;display:block}.media-photo{cursor:default;background:radial-gradient(circle at 50% 35%, var(--cream-2), var(--cream))}@media (hover:hover){.media-photo:hover img.poster{transform:scale(1.03)}}.media:active img.poster{transform:scale(1.015)}.media .vscrim{background:linear-gradient(#14100b0d,#14100b73);position:absolute;inset:0}.play{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:70px;height:70px;transition:transform .25s var(--ease), background .25s;background:#f4eee2eb;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 30px -8px #0000008c}.media:active .play{transform:translate(-50%,-50%)scale(.9)}@media (hover:hover){.media:hover .play{background:#fff;transform:translate(-50%,-50%)scale(1.07)}}.play svg{width:26px;height:26px;color:var(--ink);margin-left:4px}.play:after{content:"";animation:pulse 2.6s var(--ease) infinite;border:1px solid #f4eee2a6;border-radius:50%;position:absolute;inset:-9px}@keyframes pulse{0%{opacity:.9;transform:scale(.86)}70%{opacity:0}to{opacity:0;transform:scale(1.25)}}.vtag{z-index:2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;letter-spacing:.1em;text-transform:uppercase;background:#14100b8c;border:1px solid #d9be8566;border-radius:999px;align-items:center;gap:7px;padding:7px 12px;font-size:11px;font-weight:700;display:flex;position:absolute;top:13px;left:13px}.vtag svg{width:13px;height:13px;color:var(--gold-soft)}.media iframe{z-index:5;border:0;width:100%;height:100%;position:absolute;inset:0}.feat .body{padding:16px 18px 18px}.feat .row1{align-items:baseline;gap:12px;margin-bottom:6px;display:flex}.feat .name{font-family:var(--serif);flex:1;font-size:28px;font-weight:600;line-height:1.02}.feat .price{font-family:var(--serif);color:var(--price);font-size:24px;font-weight:600}.feat .desc{color:var(--ink-soft);text-wrap:pretty;font-size:13.5px;line-height:1.5}#qr{justify-content:flex-start;align-items:center}#qr>.bar{background:var(--wine);width:247px;min-height:68px;box-shadow:none;border-bottom:0;align-self:center;margin:0 auto;padding:12px 18px;position:relative;top:0}#qr>.bar .bar-title{color:#f4e8d2}#qr>.bar .iconbtn{color:#3b181d;box-shadow:none;background:#f4e8d2;border-color:#3a0d1824}#qr>.bar .lang{background:#f4e8d2;border-color:#3a0d1824}#qr>.bar .lang button{color:#3a181d85}#qr>.bar .lang button.on{color:#f4e8d2;background:#3b181d}#qr>.bar .lang .sep{background:#3a0d1829}.qr-wrap{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100%;padding:40px 26px 50px;display:flex}.qr-eyebrow{letter-spacing:.4em;text-transform:uppercase;color:var(--gold-deep);text-indent:.4em;font-size:11px;font-weight:700}.qr-h{font-family:var(--serif);color:var(--cream);margin-top:10px;font-size:40px;font-weight:600;line-height:1.02}.qr-card{background:var(--cream-2);border:1px solid var(--line-gold);box-shadow:var(--shadow);border-radius:24px;margin:30px 0 24px;padding:22px;line-height:0;position:relative}.qr-card:before,.qr-card:after{content:"";border:2px solid var(--gold);width:18px;height:18px;position:absolute}.qr-card:before{border-bottom:0;border-right:0;border-radius:4px 0 0;top:10px;left:10px}.qr-card:after{border-top:0;border-left:0;border-radius:0 0 4px;bottom:10px;right:10px}.qr-card svg{border-radius:6px;display:block}.qr-cap{color:var(--tagline-col);max-width:260px;font-size:13.5px;line-height:1.5}.qr-url{color:var(--muted);word-break:break-all;letter-spacing:.02em;margin-top:10px;font-size:12px;font-weight:600}.site-footer{text-align:left;color:var(--cream);border-top:1px solid var(--line-light);flex-direction:column;align-items:flex-start;gap:13px;margin-top:8px;padding:28px 22px 40px;display:flex}.footer-row{justify-content:flex-start;align-items:center;gap:9px;font-size:14px;line-height:1.4;display:flex}.footer-row svg{width:16px;height:16px;color:var(--gold-soft);flex:none}.footer-row strong{font-weight:700}.footer-row a{color:inherit;border-bottom:1px solid #f4e8d259;text-decoration:none;transition:border-color .2s}@media (hover:hover){.footer-row a:hover{border-color:var(--cream)}}.footer-credit{border-top:1px solid var(--line-light);width:100%;color:var(--gold-deep);justify-content:center;align-self:center;align-items:baseline;gap:7px;margin-top:8px;padding-top:18px;text-decoration:none;display:flex}.footer-credit-label{letter-spacing:.2em;text-transform:uppercase;opacity:.72;font-size:11px;font-weight:700}.footer-credit-brand{letter-spacing:.03em;color:var(--gold-deep);text-underline-offset:3px;font-size:13.5px;font-weight:800;text-decoration:underline;text-decoration-thickness:1px}@media (hover:hover){.footer-credit:hover .footer-credit-brand{text-decoration-thickness:2px}}.reveal{opacity:0;transform:translateY(18px)}.reveal.in{opacity:1;transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease);transform:none}@media (prefers-reduced-motion:reduce){.catcard,.special-card,.specials{animation:none}.reveal{opacity:1!important;transform:none!important}.play:after{animation:none}}
