/* Taverna 2 Violinat · concept by KERA Tech Solutions
   Rebuilt in the manner of tigermilkrestaurants.com: cream / deep tone rhythm, condensed + wide display type,
   illustrated motifs, split-letter reveals, overlay menu, rising page transition. */

:root {
  --cream: #FBF1E4;
  --peach: #FFE3C8;
  --ink: #22090E;
  --wine: #5C1320;
  --wine-dark: #3E0B15;
  --wine-mid: #7A2433;
  --gold: #FFC83A;
  --gold-soft: #FFF1C9;
  --red: #E5483B;
  --navy: #102A43;
  --char: #262021;
  --line-dark: rgba(34, 9, 14, .2);
  --line-light: rgba(255, 255, 255, .2);
  --f-xc: "Six Caps", "Arial Narrow", Impact, sans-serif;
  --f-wide: "Archivo", "Arial Black", Arial, sans-serif;
  --f-serif: "Josefin Slab", Rockwell, Georgia, serif;
  --f-logo: "Bodoni Moda", "Didot", Georgia, serif;
  --ease-io: cubic-bezier(.645, .045, .355, 1);
  --ease-out: cubic-bezier(.215, .61, .355, 1);
  --pad: 3.75rem;
  --hd-h: 4.95rem;
  --app-h: 100vh;
}
@media (max-width: 699px) { html { font-size: 14px; } :root { --pad: 20px; --hd-h: 57px; } }
@media (min-width: 700px) and (max-width: 999px) { html { font-size: 14px; } :root { --pad: 1.875rem; } }
@media (min-width: 1000px) and (max-width: 1199px) { html { font-size: 15px; } }
@media (min-width: 1600px) and (max-width: 1999px) { html { font-size: 17px; } }
@media (min-width: 2000px) { html { font-size: 18px; } }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body { margin: 0; background: var(--cream); color: var(--wine); font-family: var(--f-serif); font-weight: 600; font-size: 1.125rem; line-height: 1.3; overflow-x: hidden; }
body.-navy { background: var(--navy); }
body.-wine { background: var(--wine); }
img, svg { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
ul { list-style: none; margin: 0; padding: 0; }
h1, h2, h3, h4, p, figure, address { margin: 0; font-style: normal; }
:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.bg-beige :focus-visible, .page.-beige :focus-visible { outline-color: var(--red); }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip { position: fixed; left: 10px; top: -60px; z-index: 3000; background: var(--gold); color: var(--ink); padding: 10px 14px; font: 500 12px/1 var(--f-wide); font-stretch: 125%; text-transform: uppercase; }
.skip:focus { top: 10px; }

/* ---------- type primitives ---------- */
.u-label { font-family: var(--f-wide); font-stretch: 125%; font-weight: 500; font-size: .8125rem; letter-spacing: .01em; text-transform: uppercase; line-height: 1.3; }
.u-label.-big { font-size: 1rem; }
.u-label.-heavy { font-weight: 900; }
@media (max-width: 699px) { .u-label, .u-label.-big { font-size: 12px; } }
.xc, .himg_title, .ft_hajde, .trail_title, .err_title { font-family: var(--f-xc); font-weight: 400; text-transform: uppercase; line-height: .9; -webkit-text-stroke: .03em currentColor; letter-spacing: .03em; }
.xc-s { display: block; }
.wide { font-family: var(--f-wide); font-stretch: 125%; font-weight: 900; text-transform: uppercase; }
.wm { font-family: var(--f-logo); font-weight: 500; font-size: 1.62rem; letter-spacing: .015em; line-height: 1; white-space: nowrap; display: inline-flex; align-items: baseline; }
.wm i { font-style: italic; font-size: 1.32em; margin-right: -.2em; position: relative; top: .06em; }
.center { text-align: center; }
.container { margin: 0 auto; padding: 0 var(--pad); }
.container.-medium { max-width: 53.75rem; }
.pad-top-huge { padding-top: 11.25rem; }
.pad-v-huge { padding: 11.25rem 0; }
.pad-v-double { padding: 7.5rem 0; }
.my { margin: 3.75rem 0; }
@media (max-width: 999px) { .pad-top-huge { padding-top: 7.5rem; } .pad-v-huge { padding: 7.5rem 0; } .pad-v-double { padding: 4.5rem 0; } }

.bg-beige { background: var(--cream); color: var(--wine); }
.bg-wine { background: var(--wine); color: var(--gold); }
.bg-navy { background: var(--navy); color: var(--red); }

/* char split pieces */
.char { display: inline-block; will-change: transform; }
.line-mask { display: block; overflow: hidden; }

/* ---------- links + buttons ---------- */
.c-link { font-family: var(--f-wide); font-stretch: 125%; font-weight: 500; font-size: .8125rem; text-transform: uppercase; padding: .1875rem 0; line-height: 1; background-image: linear-gradient(currentColor, currentColor); background-repeat: no-repeat; background-size: 0% 1px; background-position: 100% 95%; transition: background-size .6s var(--ease-out); display: inline-block; }
.c-link.-big { font-size: 1rem; }
.c-link.-huge { font-size: 1.25rem; line-height: 1.2; }
.c-link.-underline { background-size: 100% 1px; }
.c-link.-gold-line { background-image: linear-gradient(var(--gold), var(--gold)); }
.c-link .char { min-width: .3em; }
@media (hover: hover) {
  .c-link:hover, .c-link-wrap:hover .c-link { background-size: 100% 1px; background-position: 0 95%; }
  .c-link:hover .char, .c-link-wrap:hover .c-link .char { animation: linkSplit .5s forwards; }
  .c-link.-goldflash:hover .char { animation-name: goldLinkSplit; }
}
@media (max-width: 699px) { .c-link, .c-link.-big { font-size: 12px; } }
@keyframes linkSplit { 0% { color: currentColor; transform: scale(1); } 50% { color: var(--gold); transform: scale(1.3); } 100% { color: currentColor; transform: scale(1); } }
@keyframes goldLinkSplit { 0% { color: currentColor; transform: scale(1); } 50% { color: var(--gold-soft); transform: scale(1.3); } 100% { color: var(--gold); transform: scale(1); } }
@keyframes menuSplit { 0% { color: var(--cream); transform: scale(1); } 50% { color: var(--gold); transform: scale(1.4); } 100% { color: var(--peach); transform: scale(1); } }

.btn { display: inline-block; position: relative; z-index: 1; padding: 1.25rem 1.875rem; font-family: var(--f-wide); font-stretch: 125%; font-weight: 500; font-size: .8125rem; text-transform: uppercase; white-space: nowrap; color: #fff; transition: color .3s var(--ease-out); text-align: center; }
.btn::before, .btn::after { content: ""; position: absolute; inset: 0; transition: background-color .3s var(--ease-out), border-color .3s var(--ease-out), transform .3s cubic-bezier(.17, .67, .3, 1.33); }
.btn::before { z-index: -2; background: var(--ink); }
.btn::after { z-index: -1; border: 2px solid var(--ink); }
.btn.-gold { color: var(--ink); }
.btn.-gold::before { background: var(--gold); }
.btn.-gold::after { border-color: var(--gold); }
@media (hover: hover) {
  .btn:hover, .btn:focus-visible { color: var(--red); }
  .btn:hover::before, .btn:focus-visible::before { transform: scale3d(1.1, 0, 1); transition-timing-function: var(--ease-out); }
  .btn:hover::after, .btn:focus-visible::after { transform: scale3d(1.1, 1.1, 1); border-color: var(--red); }
  .btn.-hover-gold:hover, .btn.-hover-gold:focus-visible { color: var(--ink); }
  .btn.-hover-gold:hover::after, .btn.-hover-gold:focus-visible::after { background: var(--gold); border-color: var(--gold); }
  .btn.-gold:hover, .btn.-gold:focus-visible { color: var(--gold); }
  .btn.-gold:hover::after, .btn.-gold:focus-visible::after { border-color: var(--gold); }
}
@media (max-width: 699px) { .btn { font-size: 12px; } }

.btn-round { display: inline-block; margin-top: 1.25rem; }
.btn-round_inner { width: 3rem; height: 3rem; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--line-dark); color: var(--red); position: relative; z-index: 1; transition: color .3s var(--ease-out); }
.btn-round_inner::before { content: ""; position: absolute; inset: 0; background: var(--wine); border-radius: 50%; z-index: -1; transform: scale(0); transition: transform .3s var(--ease-out); }
.btn-round_inner svg { width: 16px; height: 8px; }
@media (hover: hover) { .btn-round:hover .btn-round_inner { color: #fff; } .btn-round:hover .btn-round_inner::before { transform: scale(1); } }

/* ---------- page transition (loader) ---------- */
.tr_wrap { position: relative; z-index: 1; }
.tr_overlay { position: fixed; top: 0; left: 0; right: 0; height: 100vh; z-index: 100; background: var(--gold); transform-origin: 50% 0; transform: scaleY(0); pointer-events: none; }
.js .tr_wrap { transform: translate3d(0, 100vh, 0); }
.js:not(.is-done) .tr_wrap { overflow: clip; }
.js .tr_overlay { transform: scaleY(1); }
.js .tr_inner { transform: translate3d(0, -25vh, 0) scale3d(1, 2, 1); transform-origin: 50% 0; }
.js.is-ready .tr_wrap { transform: translate3d(0, 0, 0); transition: transform 1s var(--ease-io); }
.js.is-ready .tr_overlay { transform: scaleY(0); transition: transform 1s var(--ease-io) .1s; }
.js.is-ready .tr_inner { transform: none; transition: transform 1s var(--ease-io) .15s; }
.js.is-done .tr_wrap, .js.is-done .tr_inner { transform: none; transition: none; }
.js.is-done .tr_overlay { display: none; }
.tr_leave { position: fixed; inset: 0; z-index: 2500; background: var(--gold); transform: scaleY(0); transform-origin: 50% 100%; pointer-events: none; transition: transform .6s var(--ease-io); }
.is-leaving .tr_leave { transform: scaleY(1); }
.tr_leave::after { content: ""; position: absolute; inset: 0; background: var(--cream); transform: scaleY(0); transform-origin: 50% 100%; transition: transform .5s var(--ease-io) .25s; }
.is-leaving .tr_leave::after { transform: scaleY(1); }

/* ---------- header ---------- */
.hd { position: fixed; top: 0; left: 0; right: 0; z-index: 900; display: flex; justify-content: space-between; align-items: stretch; color: var(--ink); border-bottom: 1px solid var(--line-dark); transition: transform .6s var(--ease-out), color .6s var(--ease-out), border-color .6s var(--ease-out), background-color .6s var(--ease-out); }
.js .hd { transform: translate3d(0, -100%, 0); }
.js.is-cb .hd { transform: none; }
.hd_btn { display: flex; align-items: center; gap: 1.875rem; padding: 1.875rem var(--pad); }
.hd_btn.-left { padding-right: 1.875rem; }
.hd_logo { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: inherit; transition: opacity .3s var(--ease-out), color .3s var(--ease-out); }
.hd_right { display: flex; align-items: center; }
.hd_right .hd_btn { padding-left: 1.5rem; }
.hd_btn svg { width: 16px; height: 16px; }
.hd_burger { position: relative; width: 16px; height: 16px; display: inline-block; }
.hd_burger span, .hd_burger::before, .hd_burger::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 2px; background: currentColor; transition: transform .3s var(--ease-out); }
.hd_burger span { transform: translateY(-50%); }
.hd_burger::before { transform: translateY(calc(-50% - 4px)); }
.hd_burger::after { transform: translateY(calc(-50% + 4px)); }
@media (hover: hover) {
  .hd_btn:hover .hd_burger span { transform: translateY(-50%) scaleX(0); }
  .hd_btn:hover .hd_burger::before { transform: translateY(calc(-50% - 2px)); }
  .hd_btn:hover .hd_burger::after { transform: translateY(calc(-50% + 2px)); }
  .hd_logo:hover { color: var(--red); }
}
.lang { display: flex; gap: .7rem; font-family: var(--f-wide); font-stretch: 125%; font-weight: 500; font-size: .75rem; text-transform: uppercase; }
.lang button { opacity: .45; padding: .3rem 0; transition: opacity .3s; }
.lang button[aria-pressed="true"] { opacity: 1; background-image: linear-gradient(currentColor, currentColor); background-size: 100% 1px; background-repeat: no-repeat; background-position: 0 100%; }
.lang button:hover { opacity: 1; }
html[data-theme="light"] .hd, html[data-theme="wine"] .hd, html[data-theme="navy"] .hd { color: #fff; border-color: var(--line-light); }
html[data-theme="dark"] .hd { color: var(--peach); border-color: var(--line-light); background-color: var(--char); }
html.has-nav .hd { border-color: transparent; }
@media (max-width: 699px) {
  .hd_btn { padding: 20px; gap: 0; }
  .hd_right .hd_btn { padding-left: 14px; }
  .hd_btn .lbl { display: none; }
  .wm { font-size: 1.28rem; }
  .lang { gap: .55rem; font-size: 11px; }
}

/* ---------- overlay nav ---------- */
.nav { position: fixed; inset: 0; z-index: 1000; pointer-events: none; height: 0; overflow: hidden; transition: height 0s linear 1s; color: var(--cream); }
.has-nav .nav { pointer-events: all; height: 100vh; height: 100dvh; transition-delay: 0s; }
.nav_bg { position: absolute; inset: 0; background: rgba(20, 4, 8, .8); opacity: 0; transition: opacity 1s var(--ease-out); cursor: pointer; }
.has-nav .nav_bg { opacity: 1; }
.nav_inner { position: absolute; z-index: 20; top: .625rem; bottom: .625rem; left: .625rem; right: 50%; background: var(--wine); transform: scaleX(0); transform-origin: 0 50%; transition: transform 1s var(--ease-io); overflow: hidden; }
.has-nav .nav_inner { transform: scaleX(1); }
.nav_close { position: absolute; top: 0; left: 1.875rem; z-index: 10; width: calc(16px + 3.75rem); height: calc(16px + 3.75rem); opacity: 0; transition: opacity .3s var(--ease-out); }
.has-nav .nav_close { opacity: 1; transition-delay: .6s; }
.nav_close::before, .nav_close::after { content: ""; position: absolute; top: 50%; left: 50%; width: 16px; height: 2px; background: currentColor; transition: transform .3s var(--ease-out); }
.nav_close::before { transform: translate(-50%, -50%) rotate(45deg); }
.nav_close::after { transform: translate(-50%, -50%) rotate(-45deg); }
.nav_main { position: absolute; top: 100px; bottom: 21vh; left: 0; right: 0; overflow: auto; }
.nav_group:not(:last-child) { margin-bottom: 3rem; }
.nav_group_label { padding: 0 var(--pad); font-family: var(--f-wide); font-stretch: 125%; font-weight: 500; font-size: .75rem; text-transform: uppercase; opacity: 0; transition: opacity .3s cubic-bezier(.55, .085, .68, .53); }
.has-nav .nav_group_label { opacity: .7; transition-delay: .6s; }
.has-nav .nav_group:nth-child(2) .nav_group_label { transition-delay: .9s; }
.nav_item { position: relative; display: block; }
.nav_link { display: block; padding: 1.25rem var(--pad) 0; font-family: var(--f-wide); font-stretch: 125%; font-weight: 900; font-size: 2rem; line-height: 1; text-transform: uppercase; overflow: hidden; }
.nav_link_wrap { display: block; opacity: 0; transform: translate3d(0, 100%, 0); transition: transform .3s cubic-bezier(.55, .085, .68, .53), opacity .3s cubic-bezier(.55, .085, .68, .53); }
.has-nav .nav_link_wrap { opacity: 1; transform: none; transition-timing-function: var(--ease-out); transition-duration: .6s; transition-delay: calc(.7s + var(--i, 0) * .1s); }
.nav_link_inner { display: inline-block; transform: translate3d(0, 10%, 0); transform-origin: 0 50%; transition: transform .4s var(--ease-out); }
.nav_link_inner .char { min-width: .2em; }
@media (hover: hover) {
  .nav_link:hover .nav_link_inner, .nav_link:focus-visible .nav_link_inner { transform: translate3d(0, 10%, 0) rotate(-3deg); }
  .nav_link:hover .nav_link_inner .char { animation: menuSplit .4s forwards; }
  .nav_close:hover::before { transform: translate(-50%, -50%) rotate(0); }
  .nav_close:hover::after { transform: translate(-50%, -50%) rotate(0); }
}
.nav_illo { position: absolute; bottom: -1px; right: var(--pad); overflow: hidden; pointer-events: none; height: 9.375rem; width: 7.5rem; }
.nav_illo_wrap { display: block; height: 100%; transform: translate3d(0, 110%, 0) rotate(-30deg); transition: transform .6s cubic-bezier(.895, .03, .685, .22); }
.nav_illo svg { height: 100%; width: 100%; }
@media (hover: hover) { .nav_item:hover .nav_illo_wrap { transform: none; transition-delay: .2s; transition-timing-function: cubic-bezier(.165, .84, .44, 1); } }
.nav_secondary { position: absolute; bottom: 3.25rem; left: var(--pad); right: var(--pad); z-index: 2; display: grid; grid-template-columns: 1fr auto; gap: 1.25rem 2rem; align-items: end; }
.nav_secondary li { display: inline-block; margin-right: 1.25rem; opacity: 0; transform: translate3d(0, 150%, 0); transition: opacity .6s var(--ease-out), transform .6s var(--ease-out) 1s; }
.has-nav .nav_secondary li { opacity: 1; transform: none; transition-delay: 1s, 1s; }
.nav_info { grid-column: 1 / -1; font-size: 1rem; line-height: 1.4; opacity: 0; transition: opacity .6s var(--ease-out); color: var(--peach); }
.has-nav .nav_info { opacity: .85; transition-delay: 1.1s; }
.nav .lang { font-size: .8125rem; }
@media (max-width: 1199px) { .nav_link { font-size: 1.75rem; } }
@media (min-width: 700px) and (max-height: 800px) { .nav_link { font-size: 1.6rem; padding-top: .625rem; } .nav_main { top: 80px; } }
@media (max-width: 699px) {
  .nav_inner { inset: 0; right: 0; }
  .nav_close { left: 0; width: 56px; height: 56px; }
  .nav_main { top: 76px; bottom: 210px; }
  .nav_link { font-size: 26px; padding-top: 12px; }
  .nav_illo { display: none; }
  .nav_secondary { bottom: 1.875rem; grid-template-columns: 1fr; }
  .nav_secondary li { display: block; margin-top: 10px; }
}

/* ---------- home ---------- */
.home { position: relative; width: 100%; height: 100vh; height: 100dvh; overflow: hidden; color: #fff; background: var(--ink); }
.reel { position: absolute; inset: 0; overflow: hidden; }
.reel_cut { position: absolute; inset: 0; opacity: 0; }
.reel_cut.is-on { opacity: 1; }
.reel_cut img { width: 100%; height: 100%; object-fit: cover; transform-origin: 50% 50%; }
.reel::after { content: ""; position: absolute; inset: 0 0 auto 0; height: 22vh; background: linear-gradient(rgba(20, 4, 8, .45), rgba(20, 4, 8, 0)); pointer-events: none; }
.home h1 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.home_caption { position: absolute; left: var(--pad); bottom: 1.875rem; right: var(--pad); display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; z-index: 3; color: #fff; }
.home_caption .u-label { opacity: .85; }
.js .home_caption { opacity: 0; transform: translateY(20px); transition: opacity .8s var(--ease-out) .3s, transform .8s var(--ease-out) .3s; }
.js.is-cb .home_caption { opacity: 1; transform: none; }
@media (max-width: 699px) { .home_caption { bottom: 96px; flex-direction: column; align-items: flex-start; } }

/* ---------- restaurant header (split hero) ---------- */
.rh { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; height: 100vh; border-bottom: 1px solid var(--line-dark); overflow: hidden; }
.rh_cover { position: relative; background: #f2dcc6; overflow: hidden; }
.rh_cover .reel::after { display: none; }
.rh_cover::after, .rh_content::before, .rh_content::after { content: ""; position: absolute; inset: 0; transform-origin: 0 50%; transform: scaleX(1); z-index: 4; }
.rh_cover::after { background: var(--wine); }
.rh_content { position: relative; display: grid; place-items: center; text-align: center; }
.rh_content::before { background: var(--wine); z-index: 6; }
.rh_content::after { background: var(--gold); z-index: 5; }
.js.is-cb .rh_cover::after, .js.is-cb .rh_content::before, .js.is-cb .rh_content::after { transform: scaleX(0); transition: transform 1s var(--ease-io); }
.js.is-cb .rh_content::after { transition-delay: .1s; }
html:not(.js) .rh_cover::after, html:not(.js) .rh_content::before, html:not(.js) .rh_content::after { display: none; }
.rh_city { position: absolute; top: 16vh; left: 50%; transform: translateX(-50%); white-space: nowrap; }
.rh_title { font-size: 19vh; margin: 0 var(--pad); color: var(--wine); -webkit-text-stroke: .045em currentColor; letter-spacing: .05em; }
.rh_title .line-mask { overflow: hidden; padding-top: .04em; }
.rh_deco { position: absolute; bottom: 0; left: 50%; width: 8.75rem; height: 12vh; transform: translate(-50%, 100%); transition: transform .6s var(--ease-out); }
.is-cb .rh_deco { transform: translate(-50%, 18%); transition-delay: 1s; }
.rh_deco svg { width: 100%; height: 15vh; }
@media (max-width: 999px) {
  .rh { grid-template-columns: 1fr; height: var(--app-h); color: var(--cream); }
  .rh_cover { position: absolute; inset: 0; z-index: -1; }
  .rh_cover .reel::after { display: block; height: 100%; background: linear-gradient(rgba(34, 9, 14, .5), rgba(34, 9, 14, .15) 45%, rgba(34, 9, 14, .55)); }
  .rh_title { font-size: 25vw; color: var(--cream); }
  .rh_city { top: 20vh; }
  .rh_content::before, .rh_content::after { display: none; }
}

/* fixed CTA (see the menu) */
.cta-fixed { position: fixed; left: 50%; bottom: 1.375rem; z-index: 800; display: flex; gap: 10px; transform: translate3d(-50%, 160%, 0); transition: transform .6s var(--ease-out); }
.cta-fixed.is-on { transform: translate3d(-50%, 0, 0); }
.cta-fixed .-mob { display: none; }
@media (max-width: 699px) { .cta-fixed { left: 10px; right: 10px; transform: translate3d(0, 160%, 0); } .cta-fixed.is-on { transform: none; } .cta-fixed .btn { flex: 1; } .cta-fixed .-mob { display: inline-block; } }

/* ---------- tagline ---------- */
.tagline { text-align: center; font-family: var(--f-wide); font-stretch: 125%; font-weight: 900; font-size: 5vw; text-transform: uppercase; line-height: 1.1; }
.tagline.-small { font-size: 3.5vw; }
.tagline.-white { color: #fff; }
.tagline > span { display: block; }
.js .tagline[data-tagline] .char { opacity: .2; min-width: .2em; }
.tagline .char.is-wsp { min-width: .3em; }
.js .tagline.is-in .char { animation: tagFlash .6s forwards; }
.js .tagline.is-done .char { animation: none !important; opacity: 1; }
.js .bg-wine .tagline.is-done .char { color: var(--gold); }
.js .bg-wine .tagline.is-in .char { color: #8a3343; animation-name: tagFlashGold; }
.js .tagline.-white.is-in .char { animation-name: tagFlashWhite; }
@keyframes tagFlash { 0% { color: currentColor; opacity: .2; transform: scale(1); } 50% { opacity: 1; color: var(--gold); transform: scale(1.25); } 100% { opacity: 1; color: currentColor; transform: scale(1); } }
@keyframes tagFlashGold { 0% { color: #8a3343; opacity: .2; transform: scale(1); } 50% { opacity: 1; color: #fff; transform: scale(1.25); } 100% { opacity: 1; color: var(--gold); transform: scale(1); } }
@keyframes tagFlashWhite { 0% { color: currentColor; opacity: .2; transform: scale(1); } 50% { opacity: 1; color: var(--red); transform: scale(1.25); } 100% { opacity: 1; color: currentColor; transform: scale(1); } }
@media (max-width: 999px) { .tagline { font-size: 7vw; line-height: 1.2; } }
@media (max-width: 699px) { .tagline.-small { font-size: 5.5vw; } }

/* ---------- wanderer (cursor-reactive violin) ---------- */
.wander { position: relative; overflow: hidden; cursor: crosshair; padding-bottom: 7.5rem; }
.wander_bot { position: absolute; inset: 0; z-index: 2; opacity: 0; pointer-events: none; transition: opacity 2s var(--ease-out) 1s; }
.wander.is-visible .wander_bot { opacity: 1; }
.wander_me { position: absolute; top: 0; left: 0; width: 120px; height: 300px; will-change: transform; }
.wander_me svg { width: 100%; height: 100%; }
.wander_cursor { position: absolute; top: 0; left: 0; width: 26px; height: 26px; margin: -13px 0 0 -13px; z-index: 20; pointer-events: none; }
.wander_cursor svg { width: 26px; height: 26px; transform: scale(0); transition: transform .3s var(--ease-out); }
.wander.is-hover .wander_cursor svg { transform: scale(1); }
.wander .container { position: relative; z-index: 3; pointer-events: none; user-select: none; }
.wander_content { position: relative; z-index: 3; text-align: center; margin-top: 3.75rem; }
.wander_content .u-label { font-size: 1.125rem; }
.wander_hint { display: block; margin-top: .9rem; opacity: .55; font-size: .9rem; }
@media (max-width: 999px) { .wander_me { width: 76px; height: 190px; } .wander_cursor { display: none; } }

/* ---------- door (arched portal) ---------- */
.door { position: relative; z-index: 2; height: 400vh; }
.door_inner { position: sticky; top: 0; width: 100%; height: 100vh; overflow: hidden; }
.door_bg { position: absolute; inset: 0; }
.door_bg img, .door_image img { width: 100%; height: 100%; object-fit: cover; }
.door_canvas { position: absolute; top: -1px; left: 0; width: 100%; height: calc(100% + 2px); z-index: 2; }
.door_images { position: absolute; z-index: 3; top: 50%; left: 50%; overflow: hidden; transform: translate(-50%, -50%); height: 50vh; width: calc(442 * 50vh / 576); }
@media (orientation: portrait) { .door_images { width: 50vw; height: calc(576 * 50vw / 442); } }
.door_image { position: absolute; inset: 0; opacity: 0; }
.door_image.is-on { opacity: 1; }
html.rm .door { height: auto; }
html.rm .door_inner { position: relative; height: 80vh; }
html.rm .door_canvas, html.rm .door_images { display: none; }

/* ---------- fancy title (stacked words) ---------- */
.fancy { position: relative; border-top: 1px solid var(--line-dark); }
.fancy_line { height: 18vh; font-family: var(--f-wide); font-stretch: 125%; font-weight: 900; font-size: 23vh; line-height: .78; text-align: center; text-transform: uppercase; color: var(--ink); overflow: hidden; cursor: crosshair; display: flex; justify-content: center; align-items: flex-start; padding-top: 2vh; }
.fancy_line:not(:last-child) { border-bottom: 1px solid var(--line-dark); }
.fancy_line .char { display: inline-block; }
.js .fancy_line .char { opacity: 0; transform: translate3d(0, 100%, 0); }
.js .fancy_line.is-in .char { animation: holaGold 1s cubic-bezier(.455, .03, .515, .955) forwards; animation-delay: calc(var(--ci, 0) * .08s + .08s); }
.js .fancy_line.is-in:nth-child(even) .char { animation-name: holaRed; }
.fancy_line .char.is-hover { animation: hoverHola .6s ease forwards !important; opacity: 1 !important; }
@keyframes holaGold { 0% { opacity: 0; color: currentColor; transform: translate3d(0, 100%, 0); } 50% { opacity: 1; color: var(--gold); transform: translate3d(0, -25%, 0); } 100% { opacity: 1; color: currentColor; transform: none; } }
@keyframes holaRed { 0% { opacity: 0; color: currentColor; transform: translate3d(0, 100%, 0); } 50% { opacity: 1; color: var(--red); transform: translate3d(0, -25%, 0); } 100% { opacity: 1; color: currentColor; transform: none; } }
@keyframes hoverHola { 0% { color: currentColor; transform: none; } 50% { color: var(--red); transform: translate3d(0, -30%, 0); } 100% { color: currentColor; transform: none; } }
@media (orientation: portrait) { .fancy_line { height: 9vh; font-size: 10vh; padding-top: 1.4vh; } }

/* ---------- full-bleed parallax still ---------- */
.still { overflow: hidden; position: relative; }
.still_wrap { position: relative; height: 100vh; }
.still_wrap img { position: absolute; inset: -12% 0; width: 100%; height: 124%; object-fit: cover; }
@media (max-width: 699px) { .still_wrap { height: 80vh; } }

/* ---------- horizontal images (sticky) ---------- */
.himg { position: relative; height: 300vh; }
.himg_inner { position: sticky; top: 0; height: 100vh; overflow: hidden; }
.himg_rail { position: absolute; top: 50%; left: 0; right: 0; transform: translateY(-50%); white-space: nowrap; pointer-events: none; }
.rail_track { display: inline-flex; white-space: nowrap; will-change: transform; }
.himg_title { display: inline-block; font-size: 34vw; line-height: .82; color: var(--gold); padding-right: .12em; }
.himg_list { position: absolute; top: 0; left: 0; bottom: 0; display: flex; align-items: center; will-change: transform; }
.himg_list_inner { display: flex; align-items: center; white-space: nowrap; }
.himg_item { padding: 0 10vw; flex: 0 0 auto; }
.himg_item img { border-radius: 2.5rem; height: 50vh; width: auto; max-width: none; }
.himg_sprite { position: absolute; bottom: 0; left: 12vw; width: 22rem; z-index: 3; }
.bubble { position: relative; display: inline-block; background: #fff; color: var(--ink); font-family: var(--f-serif); font-size: 1.35rem; padding: 1.2rem 2.4rem 1.3rem; clip-path: polygon(2% 8%, 97% 0, 100% 72%, 92% 76%, 98% 100%, 82% 78%, 0 84%); margin-left: 1rem; }
.himg_sprite svg { width: 8rem; height: 12rem; margin-left: 9rem; margin-top: -.5rem; }
@media (max-width: 699px) { .himg_title { font-size: 68vw; } .himg_item img { height: 34vh; border-radius: 1.6rem; } .himg_sprite { left: 20px; width: 70vw; } .himg_sprite svg { width: 5rem; height: 8rem; margin-left: 5rem; } .bubble { font-size: 1.1rem; } }

/* ---------- illustrations ---------- */
.illo { overflow: visible; }
.illo.-boil { filter: url(#boil); }
html.rm .illo.-boil { filter: none; }
.pop { display: block; margin: 0 auto; width: 9rem; height: 19rem; }
.js .pop { transform: translate3d(0, 30%, 0) rotate(-25deg) scale(.6); opacity: 0; transition: transform 1.2s cubic-bezier(.34, 1.56, .64, 1), opacity .5s var(--ease-out); }
.js .pop.is-in { transform: rotate(-8deg); opacity: 1; }

/* ---------- fancy rail (a quick raki?) ---------- */
.frail { padding-top: 7.5rem; background: var(--cream); overflow: hidden; }
.frail_item { border-bottom: 1px solid var(--line-dark); padding-bottom: 1.875rem; }
.frail_item + .frail_item { margin-top: -1.875rem; }
.frail_inner { white-space: nowrap; will-change: transform; display: inline-flex; align-items: flex-end; }
.frail_label { font-family: var(--f-wide); font-stretch: 125%; font-weight: 900; font-size: 8vw; line-height: 1.1; color: var(--ink); text-transform: uppercase; }
.frail_animals { display: inline-flex; align-items: flex-end; padding: 0 1vw; will-change: transform; }
.frail_animals svg { width: 5.6vw; height: 13vw; margin: 0 .2vw; }
.frail_animals.-glass svg { width: 6.5vw; height: 10vw; }
@media (max-width: 699px) { .frail { padding-top: 3.75rem; } .frail_label { font-size: 10vw; } .frail_animals svg { width: 8vw; height: 18vw; } .frail_animals.-glass svg { width: 9vw; height: 14vw; } }

/* ---------- drinks slider (raki) ---------- */
.drinks { display: flex; min-height: max(100vh, 50vw); border-bottom: 1px solid var(--line-dark); background: var(--cream); }
.drinks_images { position: relative; width: 50%; background: var(--peach); border-right: 1px solid var(--line-dark); overflow: hidden; }
.drinks_deco { position: absolute; inset: 0; width: 100%; height: 100%; }
.drinks_track { position: absolute; inset: 0; display: flex; transition: transform .9s var(--ease-io); }
.drinks_slide_img { flex: 0 0 100%; display: grid; place-items: center; }
.drinks_slide_img svg { width: 30%; max-width: 15rem; height: auto; aspect-ratio: 120 / 200; animation: drinksFloat 4s ease-in-out infinite; }
.drinks_slide_img:nth-child(even) svg { animation-name: drinksFloatR; }
@keyframes drinksFloat { 0%, 100% { transform: rotate(15deg); } 50% { transform: translate3d(0, -12%, 0) rotate(15deg); } }
@keyframes drinksFloatR { 0%, 100% { transform: rotate(-15deg); } 50% { transform: translate3d(0, -12%, 0) rotate(-15deg); } }
.drinks_content { width: 50%; display: grid; place-items: center; text-align: center; color: var(--wine); padding: 5rem 1.875rem; }
.drinks_slides { position: relative; display: grid; }
.drinks_slide { grid-area: 1 / 1; visibility: hidden; }
.drinks_slide.is-on { visibility: visible; }
.drinks_title { font-size: 12vw; margin: 1.875rem auto; line-height: .86; }
.drinks_title .line-mask { overflow: hidden; }
.drinks_desc { max-width: 19rem; margin: 0 auto; font-size: 1.15rem; opacity: 0; transition: opacity .6s var(--ease-out); }
.drinks_slide.is-on .drinks_desc { opacity: 1; transition-delay: .5s; }
.drinks_desc strong { display: block; font-family: var(--f-wide); font-stretch: 125%; font-weight: 900; font-size: 1.1rem; margin-bottom: .4rem; }
.drinks_controls { margin-top: 3.75rem; }
.drinks_btn { display: inline-block; padding: 1.25rem 1.5625rem; border-radius: 32px; border: 1px solid currentColor; margin: 0 1.25rem; position: relative; z-index: 1; overflow: hidden; transition: opacity .6s var(--ease-out), color .6s var(--ease-out); }
.drinks_btn::before { content: ""; position: absolute; inset: 0; background: var(--wine); z-index: -1; transform: scale(0); transition: transform .3s var(--ease-out); border-radius: 32px; }
.drinks_btn svg { width: 20px; height: 12px; }
.drinks_btn.-prev svg { transform: rotate(180deg); }
.drinks_btn[disabled] { opacity: .15; pointer-events: none; }
@media (hover: hover) { .drinks_btn:hover { color: var(--cream); } .drinks_btn:hover::before { transform: scale(1); } }
@media (max-width: 999px) { .drinks { flex-direction: column; } .drinks_images, .drinks_content { width: 100%; } .drinks_images { height: 60vh; border-right: 0; border-bottom: 1px solid var(--line-dark); } .drinks_title { font-size: 26vw; } }

/* ---------- informations ---------- */
.infos { padding: 11.25rem 0; background: var(--cream); color: var(--wine); }
.infos_list { display: flex; justify-content: center; align-items: stretch; }
.infos_item { width: 33.333%; display: flex; flex-direction: column; text-align: center; padding: 0 1.875rem; }
.infos_title { flex-grow: 1; min-height: 2em; }
.infos_img { margin: 2.5rem 0; height: 10rem; }
.infos_img svg { height: 10rem; width: 100%; }
.infos_desc { max-width: 18.75rem; margin: auto; font-size: 1.15rem; }
.infos_foot { margin-top: 2.5rem; flex-grow: 1; display: flex; justify-content: center; align-items: flex-end; }
@media (max-width: 999px) { .infos { padding: 6rem 0 9rem; } .infos_list { flex-direction: column; gap: 4.5rem; } .infos_item { width: 100%; } .infos_img { margin: 1.5rem 0; } }

/* ---------- pre-footer ---------- */
.pref { background: var(--char); color: var(--peach); border-bottom: 1px solid rgba(255, 227, 200, .2); display: flex; }
.pref_col { width: 50%; }
.pref_item { padding: 3.75rem; text-align: center; display: flex; flex-direction: column; justify-content: center; }
.pref_col:first-child .pref_item { height: 100%; border-right: 1px solid rgba(255, 227, 200, .2); }
.pref_col:nth-child(2) .pref_item { height: 50%; }
.pref_col:nth-child(2) .pref_item:first-child { border-bottom: 1px solid rgba(255, 227, 200, .2); }
.pref_title { margin-bottom: 1.875rem; }
.pref_desc { font-size: 1.35rem; line-height: 1.35; }
.pref_desc a { background-image: linear-gradient(currentColor, currentColor); background-size: 0 1px; background-repeat: no-repeat; background-position: 0 100%; transition: background-size .5s var(--ease-out); }
.pref_desc a:hover { background-size: 100% 1px; }
.pref_hours:not(:last-child) { margin-bottom: 3.75rem; }
.pref_note { margin-top: 1.4rem; font-size: 1rem; opacity: .75; }
.js .pref .anim { opacity: 0; transform: translate3d(0, 1.875rem, 0); transition: opacity .8s var(--ease-out), transform .8s var(--ease-out); }
.js .pref.is-in .anim { opacity: 1; transform: none; }
@media (max-width: 999px) { .pref { flex-direction: column; } .pref_col { width: 100%; } .pref_col:first-child .pref_item { border-right: 0; border-bottom: 1px solid rgba(255, 227, 200, .2); } }

/* generic reveal */
.js .anim { opacity: 0; transform: translate3d(0, 1.875rem, 0); transition: opacity .8s var(--ease-out), transform .8s var(--ease-out); }
.js .anim.is-in { opacity: 1; transform: none; }
.js .anim.-d1 { transition-delay: .1s; } .js .anim.-d2 { transition-delay: .2s; } .js .anim.-d3 { transition-delay: .3s; } .js .anim.-d4 { transition-delay: .4s; }

/* ---------- footer ---------- */
.ft { background: var(--char); color: var(--peach); overflow: hidden; position: relative; }
.ft.-wine { background: var(--wine-dark); color: #fff; }
.ft.-navy { background: #0B1E31; color: #fff; }
.ft_main { display: flex; }
.ft_col { width: 50%; display: flex; flex-direction: column; }
.ft_col:first-child { border-right: 1px solid var(--line-light); }
.ft_item { padding: 2.5rem 0; text-align: center; border-bottom: 1px solid var(--line-light); }
.ft_hajde { font-size: 34vw; line-height: .92; overflow: hidden; white-space: nowrap; }
.ft_hajde .char { display: inline-block; }
.ft_row { display: grid; justify-content: center; align-items: center; border-bottom: 1px solid var(--line-light); height: 10vw; }
.ft_row.-cols { grid-template-columns: 1fr 1fr; justify-content: stretch; }
.ft_rowcol { display: grid; place-items: center; height: 100%; padding: 20px; transition: color .3s var(--ease-out); }
.ft_rowcol:first-child { border-right: 1px solid var(--line-light); }
.ft_rowcol svg { width: 20px; height: 20px; }
.ft_link { font-family: var(--f-wide); font-stretch: 125%; font-weight: 900; font-size: 1.5vw; text-transform: uppercase; transition: color .3s var(--ease-out); }
@media (hover: hover) { .ft_rowcol:hover, .ft_link:hover { color: var(--red); } .ft.-wine .ft_rowcol:hover, .ft.-wine .ft_link:hover { color: var(--gold); } }
.ft_menu { position: relative; padding: 2.5rem var(--pad); }
.ft_list { font-size: 0; }
.ft_list li { width: 50%; display: inline-block; margin: 5px 0; vertical-align: top; }
.ft_list li:nth-child(even) { text-align: right; }
.ft_list .c-link { font-size: .75rem; }
.ft_list .u-label { font-size: .75rem; }
.ft_logo { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); transition: color .3s var(--ease-out); }
@media (hover: hover) { .ft_logo:hover { color: var(--red); } }
.ft_sprite { position: absolute; bottom: -1.5rem; right: 35.5%; z-index: 2; width: 5.5rem; height: 12rem; transform: rotate(14deg); pointer-events: none; }
.ft_sprite svg { width: 100%; height: 100%; }
@media (max-width: 999px) {
  .ft_main { flex-direction: column-reverse; }
  .ft_col { width: 100%; flex-direction: column-reverse; }
  .ft_col:first-child { border-right: 0; }
  .ft_hajde { font-size: 68vw; }
  .ft_row { height: auto; }
  .ft_link { font-size: 5vw; padding: 3.75rem 0; }
}
@media (max-width: 699px) {
  .ft_menu { padding: 20px 20px 7.5rem; }
  .ft_logo { position: static; transform: none; display: flex; justify-content: center; margin: 0 auto 20px; }
  .ft_list li { width: 100%; text-align: left !important; }
  .ft_sprite { bottom: auto; top: -7rem; right: 6%; width: 4rem; height: 9rem; }
}

/* ---------- inner pages (story / visit / menu) ---------- */
.page { padding-top: var(--hd-h); }
.page.-navy { background: var(--navy); color: var(--red); }
.page.-wine { background: var(--wine); color: #fff; }
.page.-beige { background: var(--cream); color: var(--wine); }
.ph { position: relative; padding: 7.5rem 0; text-align: center; z-index: 1; }
.ph_title { font-family: var(--f-wide); font-stretch: 125%; font-weight: 900; font-size: 16vw; line-height: .98; text-transform: uppercase; position: relative; z-index: 0; }
.ph_title .line-mask { overflow: hidden; display: block; }
.ph_img { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 1; width: min(27.5rem, 34vw); overflow: hidden; pointer-events: none; }
.ph_img.-low { top: auto; bottom: 0; transform: translate(-50%, -6%); width: min(15rem, 30vw); }
.ph_img_inner { display: block; }
.js .ph_img_inner { transform: translate3d(0, 120%, 0) rotate(30deg); }
.js.is-cb .ph_img_inner { transform: none; transition: transform 1.2s var(--ease-io) .2s; }
.ph_img svg { width: 100%; height: auto; }
.page.-wine .ph_title { color: var(--gold); }
.page.-beige .ph_title { color: var(--wine); }
@media (max-width: 699px) { .ph { padding: 4.5rem 0 5rem; } .ph_img { width: 32vw; } .ph_img.-low { width: 26vw; } }

/* title + image rails (story) */
.trails { padding: 11.25rem 0; overflow: hidden; }
.trail { white-space: nowrap; }
.trail_unit { display: inline-flex; align-items: center; }
.trail_title { font-size: 19vw; padding: 0 1.875rem; color: var(--red); display: inline-block; }
.trail_img { width: 12.5rem; flex: 0 0 auto; }
.trail_img img { width: 100%; height: 15rem; object-fit: cover; border-radius: 1.4rem; }
@media (max-width: 699px) { .trails { padding: 6rem 0; } .trail_title { font-size: 38vw; } .trail_img { width: 30vw; } .trail_img img { height: 38vw; } }

.rating { display: inline-flex; align-items: center; gap: .9rem; margin-top: 3rem; color: #fff; }
.rating_star { color: var(--gold); font-size: 1.4rem; line-height: 1; }
.quote { color: #fff; }
.quote_by { display: block; margin-top: 2rem; color: var(--gold); }
.quote + .quote { margin-top: 6rem; }

/* dance (good food / good raki / cosy nights) */
.dance { position: relative; height: 420vh; }
.dance_inner { position: sticky; top: 0; height: 100vh; overflow: hidden; }
.dance_track { display: inline-flex; white-space: nowrap; height: 100%; align-items: center; will-change: transform; }
.dance_item { font-family: var(--f-wide); font-stretch: 125%; font-weight: 900; font-size: 24vw; text-transform: uppercase; line-height: 1; padding: 0 5vw; color: var(--red); }
.dance_imgs { position: absolute; inset: 0; pointer-events: none; }
.dance_img { position: absolute; top: 50%; left: 50%; width: min(23.75rem, 52vw); margin-left: max(-11.875rem, -26vw); will-change: transform; }
.dance_img img { border-radius: 2rem; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.dance_spr { position: absolute; bottom: -2rem; width: 9rem; height: 16rem; will-change: transform; }
.dance_spr.-a { left: 10vw; } .dance_spr.-b { right: 12vw; }
.dance_spr svg { width: 100%; height: 100%; }
@media (max-width: 699px) { .dance { height: 360vh; } .dance_item { font-size: 40vw; } .dance_spr { width: 5.5rem; height: 10rem; } }

/* door with title text on story */
.door.-navy .door_bg { background: var(--navy); }

/* visit page */
.visit_lead { text-align: center; padding-bottom: 7.5rem; }
.visit_phone { font-size: 1.25rem; }
.visit_actions { margin-top: 2.5rem; display: flex; justify-content: center; flex-wrap: wrap; gap: 1.25rem 2.5rem; align-items: center; }
.visit_facts { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); margin-bottom: 7.5rem; }
.visit_fact { padding: 3rem 1.875rem; text-align: center; }
.visit_fact + .visit_fact { border-left: 1px solid var(--line-light); }
.visit_fact .u-label { color: var(--gold); margin-bottom: 1.25rem; display: block; }
.visit_fact p { font-size: 1.3rem; line-height: 1.4; }
.faq_head { text-align: center; margin-bottom: 3.75rem; color: var(--gold); font-size: 2.625rem; }
.acc_item { border-top: 1px solid #fff; }
.acc_item:last-child { border-bottom: 1px solid #fff; }
.acc_btn { width: 100%; text-align: left; position: relative; display: block; padding: 2.5rem 3rem 2.5rem 0; }
.acc_btn .u-label { display: inline-block; max-width: 80%; }
.acc_arrow { position: absolute; top: 50%; right: 0; transform: translateY(-50%); transition: transform .3s var(--ease-out); }
.acc_arrow svg { width: 16px; height: 8px; }
.acc_item.is-open .acc_arrow { transform: translateY(-50%) rotate(180deg); }
.acc_panel { height: 0; overflow: hidden; transition: height .4s cubic-bezier(.455, .03, .515, .955); }
.acc_panel_inner { opacity: 0; transition: opacity .4s var(--ease-out); padding: 0 0 2.5rem; font-size: 1.15rem; line-height: 1.45; max-width: 40rem; }
.acc_item.is-open .acc_panel_inner { opacity: 1; }
.acc_panel_inner a { background-image: linear-gradient(var(--gold), var(--gold)); background-size: 100% 1px; background-repeat: no-repeat; background-position: 0 100%; }
html:not(.js) .acc_panel { height: auto; }
html:not(.js) .acc_panel_inner { opacity: 1; }
@media (max-width: 999px) { .visit_facts { grid-template-columns: 1fr; } .visit_fact + .visit_fact { border-left: 0; border-top: 1px solid var(--line-light); } }

/* menu page */
.menu { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line-dark); }
.menu_col { padding: 4.5rem 2.5rem 5rem; }
.menu_col + .menu_col { border-left: 1px solid var(--line-dark); }
.menu_cat + .menu_cat { margin-top: 4.5rem; }
.menu_cat_title { font-size: 7.4rem; line-height: .9; color: var(--wine); margin-bottom: .6rem; }
.menu_cat_sub { margin-bottom: 2rem; opacity: .65; }
.menu_group { margin: 1.6rem 0 .6rem; color: var(--red); }
.menu_row { display: flex; align-items: baseline; gap: .6rem; padding: .7rem 0; border-bottom: 1px dashed rgba(92, 19, 32, .25); }
.menu_name { font-family: var(--f-wide); font-stretch: 125%; font-weight: 500; font-size: .86rem; text-transform: uppercase; line-height: 1.25; }
.menu_alt { display: block; font-family: var(--f-serif); font-weight: 600; text-transform: none; font-size: 1rem; opacity: .7; margin-top: .2rem; font-stretch: 100%; }
.menu_dots { flex: 1; }
.menu_price { font-family: var(--f-wide); font-stretch: 125%; font-weight: 900; font-size: .9rem; white-space: nowrap; }
.menu_note { text-align: center; padding: 3.75rem var(--pad) 0; font-size: 1.1rem; }
.menu_cta { text-align: center; padding: 3.75rem 0 9rem; display: flex; justify-content: center; gap: 1.25rem; flex-wrap: wrap; }
@media (max-width: 1199px) { .menu { grid-template-columns: 1fr 1fr; } .menu_col:nth-child(3) { grid-column: 1 / -1; border-left: 0; border-top: 1px solid var(--line-dark); } }
@media (max-width: 699px) { .menu { grid-template-columns: 1fr; } .menu_col { padding: 3rem 20px; } .menu_col + .menu_col { border-left: 0; border-top: 1px solid var(--line-dark); } .menu_cat_title { font-size: 5.6rem; } }


/* menu: bilingual names, current language first */
.menu_row { list-style: none; }
.menu_name { display: flex; flex-direction: column; }
html[lang="sq"] .menu_name { flex-direction: column-reverse; justify-content: flex-end; }
html[lang="en"] .menu_name [data-l="sq"], html[lang="sq"] .menu_name [data-l="en"] { font-family: var(--f-serif); font-weight: 600; text-transform: none; font-size: 1rem; opacity: .7; margin-top: .2rem; font-stretch: 100%; letter-spacing: 0; }
.drinks_title > span { display: block; overflow: hidden; }

/* ---------- concept toast ---------- */
.toast { position: fixed; left: 1.25rem; bottom: 1.25rem; z-index: 1500; max-width: 23rem; background: var(--ink); color: var(--cream); padding: 1rem 2.8rem 1rem 1.1rem; font-family: var(--f-serif); font-size: 1rem; line-height: 1.35; box-shadow: 0 10px 30px rgba(0, 0, 0, .25); transform: translate3d(0, 160%, 0); transition: transform .6s var(--ease-out); }
.toast.is-on { transform: none; }
.has-nav .toast { opacity: 0; pointer-events: none; }
.toast a { color: var(--gold); background-image: linear-gradient(var(--gold), var(--gold)); background-size: 100% 1px; background-repeat: no-repeat; background-position: 0 100%; }
.toast_x { position: absolute; top: .5rem; right: .5rem; width: 2rem; height: 2rem; display: grid; place-items: center; font-size: 1.3rem; line-height: 1; color: var(--cream); }
.toast_x:hover { color: var(--gold); }
@media (max-width: 699px) { .toast { left: 10px; right: 10px; max-width: none; bottom: 10px; } .has-cta .toast { bottom: 76px; } }

/* 404 */
.err { min-height: 100vh; display: grid; place-items: center; text-align: center; background: var(--wine); color: var(--gold); padding: 6rem 20px; }
.err_title { font-size: 34vw; line-height: .85; }

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .js .tr_wrap, .js .tr_inner, .js .hd { transform: none !important; }
  .js .tr_overlay { display: none; }
  .js .tagline[data-tagline] .char, .js .fancy_line .char { opacity: 1 !important; transform: none !important; }
  .js .anim, .js .pref .anim, .js .pop, .js .ph_img_inner, .js .home_caption { opacity: 1 !important; transform: none !important; }
  .rh_cover::after, .rh_content::before, .rh_content::after { display: none; }
  .wander_bot { opacity: 1; }
  .door { height: auto; } .door_inner { position: relative; height: 80vh; } .door_canvas, .door_images { display: none; }
  .himg { height: auto; } .himg_inner { position: relative; height: auto; padding: 6rem 0; } .himg_rail { position: relative; transform: none; top: 0; }
  .himg_list { position: relative; overflow-x: auto; } .himg_sprite { position: relative; left: auto; margin: 2rem auto 0; }
  .dance { height: auto; } .dance_inner { position: relative; height: auto; padding: 4rem 0; } .dance_track { flex-wrap: wrap; white-space: normal; } .dance_item { font-size: 10vw; } .dance_imgs { display: none; }
  .illo.-boil { filter: none; }
}
