@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&display=swap');:root {
  --cream: #f8edd7;
  --paper: #fff7e8;
  --blue: #07384d;
  --blue-dark: #032a3b;
  --navy: #07384d;
  --ink: #10232c;
  --sand: #d8c49a;
  --line: rgba(7, 56, 77, 0.18);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--cream); color: var(--ink); font-family: Arial, Helvetica, sans-serif; }
a { color: inherit; text-decoration: none; }
img { display: block; }
::selection { background: var(--sand); color: var(--ink); }

.announcement {
  position: relative; display: flex; min-height: 36px; overflow: hidden; align-items: center;
  background: var(--blue); color: white; font-size: 11px; font-weight: 800;
  letter-spacing: .09em; text-transform: uppercase;
}
.announcement::after { position: absolute; inset: 0; background: linear-gradient(90deg, var(--blue), transparent 10%, transparent 90%, var(--blue)); content: ""; pointer-events: none; }
.announcement-track { display: flex; width: max-content; flex-shrink: 0; gap: 0; white-space: nowrap; animation: announcementTicker 24s linear infinite; will-change: transform; }
.announcement-group { display: flex; width: max-content; min-width: 100vw; flex-shrink: 0; justify-content: space-around; gap: 72px; padding: 0 36px; box-sizing: border-box; }
.announcement-item { display: inline-flex; align-items: center; gap: 11px; }
.announcement-item i { color: var(--sand); font-size: 9px; font-style: normal; }
.announcement:hover .announcement-track { animation-play-state: paused; }

.site-header {
  position: sticky; top: 0; z-index: 10; display: grid; grid-template-columns: 1fr auto 1fr;
  align-items: center; min-height: 118px; padding: 8px clamp(24px, 5vw, 80px);
  border-bottom: 1px solid var(--line); background: rgba(248, 237, 215, .92);
  box-shadow: 0 12px 34px rgba(7, 56, 77, .08); backdrop-filter: blur(18px);
  animation: headerReveal 700ms cubic-bezier(.22, 1, .36, 1) both;
}
.site-header::before { position: absolute; inset: 0; background-image: radial-gradient(rgba(7, 56, 77, .18) .7px, transparent .8px); background-size: 19px 19px; content: ""; opacity: .22; pointer-events: none; }
.site-header::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: linear-gradient(90deg, transparent 0%, var(--blue) 30%, var(--sand) 50%, var(--blue) 70%, transparent 100%); background-size: 200% 100%; content: ""; animation: headerShimmer 7s ease-in-out infinite; pointer-events: none; }
.site-header > * { position: relative; z-index: 1; }
.logo, .footer-logo { display: block; overflow: hidden; border-radius: 50%; background: #fff0d3; }
.logo { width: 94px; height: 94px; border: 1px solid rgba(7, 56, 77, .28); box-shadow: 0 9px 26px rgba(7, 56, 77, .14); transition: box-shadow 280ms ease, transform 280ms ease; animation: logoReveal 850ms 120ms cubic-bezier(.22, 1, .36, 1) both; }
.logo:hover, .logo:focus-visible { box-shadow: 0 14px 36px rgba(7, 56, 77, .22); transform: translateY(-3px) rotate(-2deg) scale(1.035); }
.logo img, .footer-logo img, .hero-logo img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.desktop-nav { display: flex; width: min(680px, 50vw); align-items: center; gap: 5px; padding: 6px; border: 1px solid rgba(7, 56, 77, .18); border-radius: 999px; background: rgba(255, 247, 232, .72); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .75), 0 10px 30px rgba(7, 56, 77, .07); font-size: 14px; font-weight: 800; animation: navReveal 800ms 180ms cubic-bezier(.22, 1, .36, 1) both; }
.desktop-nav a { position: relative; display: flex; flex: 1; align-items: center; justify-content: center; min-height: 45px; padding: 0 18px; border-radius: 999px; letter-spacing: .01em; transition: background 220ms ease, box-shadow 220ms ease, color 220ms ease, transform 220ms ease; }
.desktop-nav a::after { position: absolute; bottom: 6px; left: 50%; width: 4px; height: 4px; border-radius: 50%; background: var(--sand); content: ""; opacity: 0; transform: translateX(-50%) scale(0); transition: opacity 220ms ease, transform 220ms ease; }
.desktop-nav a:hover, .desktop-nav a:focus-visible { background: var(--blue); box-shadow: 0 8px 18px rgba(7, 56, 77, .2); color: var(--paper); outline: none; transform: translateY(-2px); }
.desktop-nav a:hover::after, .desktop-nav a:focus-visible::after { opacity: 1; transform: translateX(-50%) scale(1); }
.header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; transform: translateX(clamp(24px, 3vw, 58px)); }
.opening-status { --status-rgb: 60, 143, 99; display: inline-flex; min-width: 132px; min-height: 46px; align-items: center; justify-content: center; gap: 11px; padding: 0 20px; border: 1px solid rgba(var(--status-rgb), .3); border-radius: 999px; background: rgba(238, 248, 240, .84); color: var(--blue); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .85), 0 10px 28px rgba(7, 56, 77, .08); backdrop-filter: blur(12px); text-transform: uppercase; white-space: nowrap; animation: statusReveal 800ms 260ms cubic-bezier(.22, 1, .36, 1) both; }
.opening-status.is-closed { --status-rgb: 196, 59, 59; background: rgba(255, 241, 238, .86); }
.opening-status i { width: 8px; height: 8px; border-radius: 50%; background: rgb(var(--status-rgb)); box-shadow: 0 0 0 4px rgba(var(--status-rgb), .14); animation: statusPulse 2.4s ease-in-out infinite; }
.opening-status strong { font-size: 10px; font-weight: 900; letter-spacing: .11em; }
.language-switcher { position: relative; color: var(--blue); animation: statusReveal 800ms 340ms cubic-bezier(.22, 1, .36, 1) both; }
.language-switcher summary { display: flex; min-width: 172px; min-height: 48px; align-items: center; gap: 12px; padding: 0 15px; border: 1px solid rgba(7, 56, 77, .28); border-radius: 15px; background: linear-gradient(180deg, rgba(255, 251, 242, .98), rgba(249, 238, 217, .96)); box-shadow: inset 0 1px 0 #fff, 0 9px 24px rgba(7, 56, 77, .1); cursor: pointer; list-style: none; transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease; }
.language-switcher summary::-webkit-details-marker { display: none; }
.language-switcher summary:hover, .language-switcher summary:focus-visible, .language-switcher[open] summary { border-color: rgba(7, 56, 77, .55); box-shadow: inset 0 1px 0 #fff, 0 14px 32px rgba(7, 56, 77, .16); outline: none; transform: translateY(-1px); }
.language-current-label { flex: 1; font-size: 11px; font-weight: 900; letter-spacing: .045em; }
.language-chevron { width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform 180ms ease; }
.language-switcher[open] .language-chevron { transform: translateY(2px) rotate(225deg); }
.language-flag { position: relative; display: inline-block; width: 27px; height: 18px; flex: 0 0 auto; overflow: hidden; border: 1px solid rgba(7, 56, 77, .25); border-radius: 2px; box-shadow: 0 1px 3px rgba(7, 56, 77, .12); }
.flag-rs { background: linear-gradient(to bottom, #c6363c 0 33.333%, #0c4076 33.333% 66.666%, #fff 66.666% 100%); }
.flag-rs::after { position: absolute; top: 4px; left: 7px; width: 4px; height: 7px; border-radius: 45% 45% 55% 55%; background: #e8c25a; content: ""; box-shadow: 0 0 0 1px rgba(255, 255, 255, .7); }
.flag-en { background: linear-gradient(to right, transparent 0 42%, #ce1124 42% 58%, transparent 58% 100%), linear-gradient(to bottom, transparent 0 37%, #ce1124 37% 63%, transparent 63% 100%), #fff; }
.flag-ru { background: linear-gradient(to bottom, #fff 0 33.333%, #1c57a7 33.333% 66.666%, #d52b1e 66.666% 100%); }
.flag-hu { background: linear-gradient(to bottom, #ce2939 0 33.333%, #fff 33.333% 66.666%, #477050 66.666% 100%); }
.flag-it { background: linear-gradient(to right, #009246 0 33.333%, #fff 33.333% 66.666%, #ce2b37 66.666% 100%); }
.language-options { position: absolute; top: calc(100% + 12px); right: 0; z-index: 20; display: grid; min-width: 230px; overflow: hidden; padding: 8px; border: 1px solid rgba(7, 56, 77, .26); border-radius: 16px; background: rgba(255, 249, 236, .99); box-shadow: 0 24px 54px rgba(7, 56, 77, .22); backdrop-filter: blur(18px); }
.language-options button { display: grid; grid-template-columns: 29px 1fr 18px; align-items: center; gap: 12px; width: 100%; min-height: 46px; padding: 0 13px; border: 0; border-radius: 10px; background: transparent; color: var(--blue); cursor: pointer; font: inherit; font-size: 12px; font-weight: 850; letter-spacing: .025em; text-align: left; transition: background 160ms ease, color 160ms ease, transform 160ms ease; }
.language-options button:hover, .language-options button:focus-visible { background: var(--blue); color: var(--paper); outline: none; }
.language-options button i { font-size: 12px; font-style: normal; opacity: 0; }
.language-options button[aria-selected="true"] { background: var(--blue); color: var(--paper); }
.language-options button[aria-selected="true"] i { opacity: 1; }
.language-options button[aria-selected="true"]:hover, .language-options button[aria-selected="true"]:focus-visible { background: var(--blue); }
.mobile-menu { display: none; position: relative; }
.mobile-menu summary { display: grid; gap: 4px; width: 44px; height: 44px; place-content: center; border: 1px solid var(--line); border-radius: 50%; background: rgba(255, 247, 232, .78); cursor: pointer; list-style: none; box-shadow: 0 8px 20px rgba(7, 56, 77, .08); transition: background 180ms ease, transform 180ms ease; }
.mobile-menu summary:hover { background: var(--paper); transform: translateY(-2px); }
.mobile-menu summary::-webkit-details-marker { display: none; }
.mobile-menu summary span { display: block; width: 21px; height: 2px; background: var(--ink); }
.mobile-menu nav {
  position: absolute; top: 54px; right: 0; display: grid; min-width: 210px;
  overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); box-shadow: 0 20px 45px rgba(23, 23, 20, .15);
}
.mobile-menu nav a { padding: 17px 20px; border-bottom: 1px solid var(--line); font-size: 14px; font-weight: 800; }
.mobile-menu nav a:hover { background: var(--blue); color: var(--paper); }


@keyframes announcementTicker { to { transform: translateX(-50%); } }
@keyframes headerReveal { from { opacity: 0; transform: translateY(-16px); } to { opacity: 1; transform: translateY(0); } }
@keyframes logoReveal { from { opacity: 0; transform: translateX(-18px) rotate(-7deg) scale(.9); } to { opacity: 1; transform: translateX(0) rotate(0) scale(1); } }
@keyframes navReveal { from { opacity: 0; transform: translateY(-10px) scale(.97); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes statusReveal { from { opacity: 0; transform: translateX(14px); } to { opacity: 1; transform: translateX(0); } }
@keyframes headerShimmer { 0%, 100% { background-position: 100% 0; opacity: .45; } 50% { background-position: 0 0; opacity: 1; } }
@keyframes statusPulse { 0%, 100% { box-shadow: 0 0 0 3px rgba(var(--status-rgb), .12); } 50% { box-shadow: 0 0 0 7px rgba(var(--status-rgb), 0); } }

.button {
  display: inline-flex; align-items: center; justify-content: center; gap: 20px; min-height: 56px;
  padding: 0 28px; border: 2px solid var(--blue); background: var(--blue); color: white;
  font-size: 13px; font-weight: 900; letter-spacing: .05em; text-transform: uppercase;
  transition: background 180ms ease, border-color 180ms ease, transform 180ms ease;
}
.button:hover { border-color: var(--blue-dark); background: var(--blue-dark); transform: translateY(-2px); }
.button-yellow { border-color: var(--sand); background: var(--sand); color: var(--ink); }
.button-yellow:hover { border-color: #c6af7f; background: #c6af7f; }
.button-outline { border-color: var(--ink); background: transparent; color: var(--ink); }
.button-outline:hover { border-color: var(--ink); background: var(--ink); color: white; }
.text-link { width: max-content; padding: 10px 0; border-bottom: 2px solid var(--ink); font-size: 13px; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }

.hero { display: grid; grid-template-columns: minmax(400px, .82fr) minmax(520px, 1.18fr); height: calc(100svh - 154px); min-height: 580px; max-height: 740px; border-bottom: 1px solid var(--line); }
.hero-copy { display: flex; flex-direction: column; justify-content: center; padding: 46px clamp(32px, 5vw, 84px); }
.eyebrow { margin: 0 0 26px; color: var(--blue); font-size: 12px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow.light { color: var(--sand); }
.hero h1, .section h2, .promise h2, .about h2, .order-cta h2, .location h2 {
  margin: 0; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-weight: 900; letter-spacing: -.035em; line-height: .9; text-transform: uppercase;
}
.hero h1 { max-width: 680px; font-size: clamp(54px, 5.25vw, 88px); letter-spacing: -.04em; line-height: .88; }
.hero h1 span { color: var(--blue); }
.hero-lead { max-width: 520px; margin: 24px 0 0; font-size: clamp(16px, 1.25vw, 19px); line-height: 1.45; }
.hero-actions { display: flex; align-items: center; gap: 28px; margin-top: 26px; }
.hero-meta { display: flex; margin-top: 30px; }
.hero-meta > * { display: flex; flex-direction: column; gap: 5px; min-width: 160px; padding-right: 28px; }
.hero-meta > * + * { padding-left: 28px; border-left: 1px solid var(--line); }
.hero-meta strong { font-size: 18px; }
.hero-meta > :first-child strong { color: var(--blue); }
.hero-meta span { color: #58584f; font-size: 12px; }
.google-reviews { border-radius: 8px; transition: opacity 180ms ease, transform 180ms ease; }
.google-reviews:hover, .google-reviews:focus-visible { outline: none; opacity: .72; transform: translateY(-2px); }
.hero-visual { position: relative; min-height: 580px; overflow: hidden; background: #d8c49a; }
.hero-visual::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7, 56, 77, .2), transparent 38%); content: ""; pointer-events: none; }
.hero-visual video { width: 100%; height: 100%; min-height: 580px; object-fit: cover; object-position: 50% 50%; }
.hero-logo { position: absolute; right: 28px; bottom: 28px; z-index: 2; width: 156px; height: 156px; overflow: hidden; border: 4px solid rgba(255, 255, 255, .72); border-radius: 50%; background: #fff0d3; box-shadow: 0 18px 45px rgba(23, 23, 20, .3); transform: rotate(-2deg); }
.fresh-stamp { position: absolute; top: 28px; left: 28px; z-index: 2; display: grid; place-content: center; width: 116px; height: 116px; border-radius: 50%; background: var(--sand); color: var(--blue); text-align: center; text-transform: uppercase; transform: rotate(-8deg); }
.fresh-stamp span { font-size: 11px; font-weight: 700; }
.fresh-stamp strong { max-width: 82px; font-size: 17px; line-height: .95; }

.section { padding: clamp(80px, 9vw, 140px) clamp(22px, 6vw, 96px); }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 48px; }
.section-heading .eyebrow { margin-bottom: 14px; }
.section h2 { font-size: clamp(62px, 7vw, 104px); }
.popular { background: var(--paper); }
.popular-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.dish-card { display: flex; overflow: hidden; min-width: 0; flex-direction: column; border: 1px solid var(--line); background: var(--cream); transition: transform 200ms ease, box-shadow 200ms ease; }
.dish-card:hover { transform: translateY(-6px); box-shadow: 0 22px 50px rgba(23, 23, 20, .12); }
.dish-image { position: relative; height: 280px; overflow: hidden; background: #d8c49a; }
.dish-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 450ms ease; }
.dish-card:hover .dish-image img { transform: scale(1.035); }
.bestseller { position: absolute; top: 16px; left: 16px; padding: 8px 12px; background: var(--sand); color: var(--blue); font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.dish-info { display: flex; flex: 1; align-items: flex-end; justify-content: space-between; gap: 22px; padding: 26px 24px 24px; }
.dish-info h3 { margin: 0; font-family: Impact, "Arial Narrow", sans-serif; font-size: 35px; font-weight: 400; letter-spacing: -.02em; }
.dish-info p { max-width: 300px; margin: 10px 0 0; color: #5c5b53; font-size: 13px; line-height: 1.5; }
.dish-price { display: grid; grid-template-columns: auto auto; align-items: end; min-width: 74px; }
.dish-price span { font-size: 9px; font-weight: 800; text-transform: uppercase; }
.dish-price strong { grid-row: span 2; color: var(--blue); font-family: Impact, sans-serif; font-size: 37px; font-weight: 400; line-height: .9; }
.card-action { display: flex; align-items: center; justify-content: space-between; padding: 16px 24px; border-top: 1px solid var(--line); font-size: 11px; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.card-action span { color: var(--blue); font-size: 22px; }

.promise { position: relative; isolation: isolate; display: grid; grid-template-columns: 1.05fr 1.4fr; gap: clamp(50px, 9vw, 150px); overflow: hidden; padding: clamp(80px, 9vw, 140px) clamp(22px, 6vw, 96px); background: var(--navy); color: white; }
.promise::before { position: absolute; z-index: -1; inset: 0; background: url("assets/italy-chalk-pattern.png") center / cover no-repeat; content: ""; opacity: .12; pointer-events: none; }
.promise h2 { max-width: 630px; font-size: clamp(62px, 7vw, 108px); }
.promise-items { display: grid; align-content: center; }
.promise-items > div { display: grid; grid-template-columns: 48px minmax(130px, .7fr) 1fr; gap: 26px; align-items: center; padding: 28px 0; border-bottom: 1px solid rgba(255, 255, 255, .2); }
.promise-items > div:first-child { border-top: 1px solid rgba(255, 255, 255, .2); }
.promise-items span { color: var(--sand); font-family: Impact, sans-serif; font-size: 24px; }
.promise-items strong { font-size: 16px; text-transform: uppercase; }
.promise-items p { margin: 0; color: rgba(255, 255, 255, .68); font-size: 14px; line-height: 1.5; }

.about { display: grid; grid-template-columns: 1.08fr .92fr; min-height: 0; background: var(--paper); }
.about-image { position: relative; min-height: 0; overflow: hidden; aspect-ratio: 3 / 2; }
.about-image img { width: 100%; height: 100%; object-fit: cover; }
.vertical-mark { position: absolute; right: 0; bottom: 0; padding: 12px 16px; background: var(--sand); color: var(--blue); font-size: 10px; font-weight: 900; letter-spacing: .16em; writing-mode: vertical-rl; }
.about-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(40px, 4.2vw, 72px); }
.about-copy h2 { max-width: 650px; font-size: clamp(42px, 3.8vw, 64px); }
.about-copy > p:not(.eyebrow) { max-width: 600px; margin: 14px 0 0; color: #5a594f; font-size: 14px; line-height: 1.6; }
.about-copy .about-lead { margin-top: 22px !important; color: var(--ink) !important; font-size: 18px !important; line-height: 1.45 !important; }
.about-signature { display: flex; align-items: center; gap: 20px; margin-top: 24px; }
.about-signature span { font-size: 11px; font-weight: 900; text-transform: uppercase; }
.about-signature strong { padding: 9px 14px; border: 2px solid var(--blue); color: var(--blue); font-family: Impact, sans-serif; font-size: 20px; font-weight: 400; transform: rotate(-3deg); }

.location { position: relative; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(380px, .92fr); gap: clamp(30px, 5vw, 78px); overflow: hidden; padding: clamp(54px, 7vw, 110px) clamp(22px, 6vw, 96px); background: var(--navy); }
.location::before { position: absolute; top: -34%; left: -12%; width: 650px; height: 650px; border: 1px solid rgba(255, 255, 255, .07); border-radius: 50%; box-shadow: 0 0 0 80px rgba(255, 255, 255, .025), 0 0 0 160px rgba(255, 255, 255, .018); content: ""; }
.location-card { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; color: white; }
.location h2 { max-width: 680px; font-size: clamp(58px, 5.8vw, 92px); }
.location-lead { max-width: 590px; margin: 28px 0 0; color: rgba(255, 255, 255, .7); font-size: 15px; line-height: 1.65; }
.location-details { display: grid; grid-template-columns: 1fr 1.15fr; gap: 12px; margin: 38px 0 26px; }
.location-details article { min-width: 0; padding: 22px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 16px; background: rgba(255, 255, 255, .055); backdrop-filter: blur(8px); }
.location-details article > span { display: block; margin-bottom: 15px; color: var(--sand); font-size: 9px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.location-details article > strong { display: block; font-size: 15px; line-height: 1.45; }
.location-details article > small { display: block; margin-top: 7px; color: rgba(255, 255, 255, .58); font-size: 11px; }
.location-hours { display: grid; gap: 9px; }
.location-hours p { display: flex; justify-content: space-between; gap: 16px; margin: 0; color: rgba(255, 255, 255, .68); font-size: 11px; }
.location-hours strong { color: white; font-size: 11px; }
.location-hours em { font-style: normal; white-space: nowrap; }
.location-actions { display: flex; align-items: center; }
.location-call { display: inline-grid; grid-template-columns: 38px auto; grid-template-rows: auto auto; align-items: center; column-gap: 13px; padding: 10px 17px 10px 10px; border: 1px solid rgba(255, 255, 255, .2); border-radius: 999px; background: rgba(255, 255, 255, .07); color: white; box-shadow: 0 12px 30px rgba(0, 0, 0, .12); transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.location-call::before { display: grid; grid-row: 1 / 3; width: 38px; height: 38px; place-items: center; border-radius: 50%; background-color: var(--sand); background-image: url("assets/phone-ios-v2.svg"); background-position: center; background-repeat: no-repeat; background-size: 18px 18px; content: ""; }
.location-call span { align-self: end; color: var(--sand); font-size: 8px; font-weight: 900; letter-spacing: .12em; line-height: 1.2; text-transform: uppercase; }
.location-call strong { align-self: start; color: white; font-size: 13px; letter-spacing: .04em; line-height: 1.25; }
.location-call:hover, .location-call:focus-visible { border-color: var(--sand); outline: none; background: rgba(255, 255, 255, .11); transform: translateY(-2px); }
.location-visual { position: relative; z-index: 2; min-height: 560px; overflow: hidden; border: 1px solid rgba(255, 255, 255, .22); border-radius: 28px; background: var(--cream); box-shadow: 0 32px 80px rgba(0, 0, 0, .24); }
.location-visual::before { position: absolute; inset: 0; opacity: .22; background-image: linear-gradient(var(--blue) 1px, transparent 1px), linear-gradient(90deg, var(--blue) 1px, transparent 1px); background-size: 44px 44px; content: ""; }
.location-visual::after { position: absolute; top: -8%; left: 52%; width: 88px; height: 116%; border: solid rgba(7, 56, 77, .12); border-width: 0 2px; background: rgba(255, 255, 255, .42); content: ""; transform: rotate(27deg); }
.location-route { position: absolute; top: 28px; left: 30px; z-index: 2; color: var(--blue); font-size: 9px; font-weight: 900; letter-spacing: .16em; }
.location-marker { position: absolute; top: 43%; left: 50%; z-index: 3; width: 190px; height: 190px; transform: translate(-50%, -50%); transition: transform .22s ease; }
.location-marker:hover, .location-marker:focus-visible { outline: none; transform: translate(-50%, -50%) scale(1.035); }
.location-marker > span { position: absolute; inset: -28px; border: 1px solid rgba(7, 56, 77, .22); border-radius: 50%; animation: locationPulse 3.4s ease-in-out infinite; }
.location-marker > div { position: relative; z-index: 2; width: 100%; height: 100%; padding: 8px; border-radius: 50%; background: var(--paper); box-shadow: 0 22px 50px rgba(7, 56, 77, .24), 0 0 0 12px rgba(7, 56, 77, .12); }
.location-marker img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.location-address-card { position: absolute; right: 22px; bottom: 22px; left: 22px; z-index: 4; padding: 22px 24px; border-radius: 16px; background: var(--blue); color: white; box-shadow: 0 18px 40px rgba(7, 56, 77, .24); transition: box-shadow .22s ease, transform .22s ease; }
.location-address-card:hover, .location-address-card:focus-visible { outline: none; box-shadow: 0 24px 48px rgba(7, 56, 77, .32); transform: translateY(-3px); }
.location-address-card span { display: block; margin-bottom: 7px; color: var(--sand); font-size: 8px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.location-address-card strong { display: block; font-size: 15px; line-height: 1.4; }
.location-address-card small { display: block; margin-top: 5px; color: rgba(255, 255, 255, .62); font-size: 10px; }
@keyframes locationPulse { 0%, 100% { opacity: .45; transform: scale(.94); } 50% { opacity: 1; transform: scale(1.05); } }

.order-cta { display: flex; align-items: center; flex-direction: column; padding: clamp(100px, 12vw, 180px) 22px; border-top: 1px solid var(--line); background: var(--paper); text-align: center; }
.order-cta h2 { max-width: 980px; font-size: clamp(70px, 9vw, 144px); }
.order-cta > p:not(.eyebrow) { margin: 28px 0 34px; font-size: 18px; }
.order-cta > div { display: flex; gap: 14px; }
.order-cta > .cta-channels { align-items: center; justify-content: center; gap: 16px; }
.order-cta > .cta-instagram { align-items: center; flex-direction: column; gap: 14px; margin-top: 30px; }
.cta-instagram p { margin: 0; font-size: 13px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.cta-channel { display: grid; width: 56px; height: 56px; place-items: center; padding: 0; border: 1px solid rgba(7, 56, 77, .24); border-radius: 50%; background: rgba(255, 247, 232, .78); color: var(--blue); box-shadow: 0 10px 26px rgba(7, 56, 77, .08); transition: background 220ms ease, border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease; }
.cta-channel img { width: 23px; height: 23px; object-fit: contain; transition: filter 220ms ease, transform 220ms ease; }
.cta-channel.is-phone img { width: 23px; height: 23px; }
.cta-channel:hover, .cta-channel:focus-visible { border-color: var(--blue); outline: none; background: var(--blue); color: white; box-shadow: 0 14px 30px rgba(7, 56, 77, .2); transform: translateY(-4px); }
.cta-channel:hover img, .cta-channel:focus-visible img { filter: brightness(0) invert(1); transform: scale(1.08); }
.minimal-footer { display: flex; min-height: 58px; align-items: center; justify-content: space-between; gap: 24px; padding: 14px clamp(22px, 6vw, 96px); border-top: 1px solid var(--line); background: var(--paper); font-size: 10px; font-weight: 700; letter-spacing: .06em; line-height: 1.35; text-transform: uppercase; }
.minimal-footer a { white-space: nowrap; }

body.menu-modal-open { overflow: hidden; }
.menu-dialog { width: min(1440px, calc(100% - 28px)); height: calc(100dvh - 28px); max-width: none; max-height: none; margin: auto; padding: 0; overflow: hidden; border: 1px solid rgba(7, 56, 77, .3); border-radius: 24px; background: var(--paper); color: var(--ink); box-shadow: 0 40px 100px rgba(3, 42, 59, .34); }
.menu-dialog::backdrop { background: rgba(3, 24, 34, .72); backdrop-filter: blur(10px); }
.menu-dialog[open] { animation: menuDialogIn 320ms cubic-bezier(.22, 1, .36, 1) both; }
.menu-modal-shell { height: 100%; overflow-y: auto; overscroll-behavior: contain; background: radial-gradient(circle at 85% 0%, rgba(216, 196, 154, .3), transparent 32%), var(--paper); scrollbar-gutter: stable; }
.menu-modal-header { position: sticky; top: 0; z-index: 5; border-bottom: 1px solid var(--line); background: rgba(255, 247, 232, .94); box-shadow: 0 10px 30px rgba(7, 56, 77, .08); backdrop-filter: blur(18px); }
.menu-modal-top { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 20px clamp(22px, 4vw, 54px) 16px; }
.menu-modal-brand { display: flex; align-items: center; gap: 18px; }
.menu-modal-brand > img { width: 72px; height: 72px; flex: 0 0 auto; border: 1px solid rgba(7, 56, 77, .2); border-radius: 50%; object-fit: cover; box-shadow: 0 10px 24px rgba(7, 56, 77, .12); }
.menu-modal-brand p { margin: 0 0 3px; color: var(--blue); font-size: 10px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.menu-modal-brand h2 { margin: 0; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: clamp(42px, 4vw, 62px); font-weight: 400; letter-spacing: -.035em; line-height: .95; text-transform: uppercase; }
.menu-modal-brand span { display: block; margin-top: 6px; color: #68675f; font-size: 12px; }
.menu-modal-close { display: grid; width: 52px; height: 52px; flex: 0 0 auto; place-items: center; padding: 0; border: 1px solid rgba(7, 56, 77, .25); border-radius: 50%; background: transparent; color: var(--blue); cursor: pointer; transition: background 180ms ease, color 180ms ease, transform 180ms ease; }
.menu-modal-close span { margin-top: -3px; font-size: 33px; font-weight: 300; line-height: 1; }
.menu-modal-close:hover, .menu-modal-close:focus-visible { outline: none; background: var(--blue); color: white; transform: rotate(6deg); }
.menu-filters { display: flex; gap: 9px; padding: 2px clamp(22px, 4vw, 54px) 17px; overflow-x: auto; scrollbar-width: none; }
.menu-filters::-webkit-scrollbar { display: none; }
.menu-filters button { flex: 0 0 auto; padding: 10px 17px; border: 1px solid rgba(7, 56, 77, .2); border-radius: 999px; background: transparent; color: var(--blue); font: 900 10px/1 Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease, color 180ms ease; }
.menu-filters button:hover { border-color: var(--blue); box-shadow: inset 0 0 0 1px var(--blue); }
.menu-filters button.is-active { border-color: var(--blue); background: var(--blue); color: white; }
.menu-modal-content { padding: clamp(36px, 5vw, 72px) clamp(20px, 4vw, 54px) 42px; }
.menu-modal-intro { display: grid; grid-template-columns: .7fr 1.3fr; gap: 40px; align-items: end; margin-bottom: 30px; }
.menu-modal-intro .eyebrow { margin: 0; }
.menu-modal-intro > p:last-child { max-width: 680px; margin: 0; color: #5c5b53; font-size: 15px; line-height: 1.65; }
.menu-symbol-legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
.menu-legend-item { display: inline-flex; align-items: center; gap: 7px; padding: 7px 11px; border: 1px solid rgba(7, 56, 77, .14); border-radius: 999px; background: rgba(255, 253, 244, .76); color: var(--blue); font-size: 9px; font-weight: 900; letter-spacing: .055em; text-transform: uppercase; }
.menu-catalog { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.menu-product { display: flex; min-width: 0; overflow: hidden; flex-direction: column; border: 1px solid var(--line); border-radius: 18px; background: var(--cream); box-shadow: 0 12px 30px rgba(7, 56, 77, .06); transition: box-shadow 220ms ease, transform 220ms ease; }
.menu-product:hover { box-shadow: 0 22px 48px rgba(7, 56, 77, .14); transform: translateY(-5px); }
.menu-product[hidden] { display: none; }
.menu-product-image { position: relative; height: 230px; overflow: hidden; background-color: #d8c49a; }
.menu-product-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 450ms ease; }
.menu-product:hover .menu-product-image img { transform: scale(1.04); }
.menu-product-image > span { position: absolute; top: 15px; left: 15px; padding: 8px 11px; border-radius: 999px; background: var(--sand); color: var(--blue); font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.menu-product-image > span.is-hot { background: #a02c26; color: white; }
.triptych-shot { background-image: url("assets/menu-extras-triptych.png"); background-repeat: no-repeat; background-size: 300% 100%; }
.triptych-left { background-position: left center; }
.triptych-center { background-position: center center; }
.triptych-right { background-position: right center; }
.menu-product-body { display: flex; flex: 1; flex-direction: column; padding: 23px 22px 21px; }
.menu-product-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.menu-product-heading h3 { min-width: 0; margin: 0; font-family: Impact, "Arial Narrow", sans-serif; font-size: 30px; font-weight: 400; letter-spacing: -.02em; line-height: 1; }
.menu-product-badges { display: flex; flex: 0 0 auto; flex-wrap: wrap; justify-content: flex-end; gap: 5px; max-width: 128px; }
.menu-product-badge { display: inline-flex; min-height: 28px; align-items: center; gap: 6px; padding: 5px 8px; border: 1px solid; border-radius: 999px; font: 900 8px/1 Arial, sans-serif; letter-spacing: .07em; text-transform: uppercase; }
.menu-product-badge.is-leaf { border-color: #a8cbb1; background: #e9f3e8; color: #1f633b; }
.menu-product-badge.is-hot { border-color: #e1afa4; background: #fff0eb; color: #9b3026; }
.menu-badge-icon { position: relative; display: inline-block; width: 15px; height: 15px; flex: 0 0 auto; }
.menu-badge-icon::before, .menu-badge-icon::after { position: absolute; display: block; content: ""; }
.menu-badge-icon.is-leaf::before { top: 2px; left: 1px; width: 12px; height: 9px; border-radius: 11px 2px 11px 2px; background: #2f7d4b; transform: rotate(-34deg); }
.menu-badge-icon.is-leaf::after { top: 7px; left: 4px; width: 8px; height: 1px; border-radius: 2px; background: #dceee2; transform: rotate(-34deg); transform-origin: left center; }
.menu-badge-icon.is-hot::before { top: 4px; left: 1px; width: 12px; height: 8px; border-radius: 70% 28% 68% 32%; background: #c94435; transform: rotate(-24deg); }
.menu-badge-icon.is-hot::after { top: 1px; left: 10px; width: 4px; height: 6px; border: solid #3d7a46; border-width: 2px 0 0 2px; border-radius: 5px 0 0; transform: rotate(18deg); }
.menu-product-heading strong { flex: 0 0 auto; color: var(--blue); font-family: Impact, sans-serif; font-size: 27px; font-weight: 400; line-height: 1; }
.menu-product-heading small { font-family: Arial, sans-serif; font-size: 8px; font-weight: 900; }
.menu-product-sizes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin-top: 16px; }
.menu-product-sizes span { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 9px 10px; border: 1px solid rgba(7, 56, 77, .14); border-radius: 10px; background: rgba(255, 247, 232, .72); }
.menu-product-sizes span:only-child { grid-column: 1 / -1; }
.menu-product-sizes b { color: #64635b; font-size: 9px; letter-spacing: .04em; text-transform: uppercase; }
.menu-product-sizes strong { color: var(--blue); font-size: 11px; white-space: nowrap; }
.menu-product-placeholder { display: grid; place-items: center; background: radial-gradient(circle at 50% 38%, rgba(216, 196, 154, .65), transparent 34%), linear-gradient(135deg, #fff7e8, #eee0c3); }
.menu-product-placeholder::before { width: 74px; height: 74px; border: 1px solid rgba(7, 56, 77, .18); border-radius: 50%; background: url("assets/luta-logo.png") center / cover no-repeat; box-shadow: 0 10px 24px rgba(7, 56, 77, .1); content: ""; }
.menu-product-placeholder > span { top: auto; bottom: 16px; left: 50%; background: var(--paper); transform: translateX(-50%); white-space: nowrap; }
.menu-product-body > p { margin: 14px 0 20px; color: #5c5b53; font-size: 12px; line-height: 1.55; }
.menu-product-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: auto; }
.menu-product-tags span { padding: 6px 9px; border: 1px solid rgba(7, 56, 77, .16); border-radius: 999px; color: var(--blue); font-size: 8px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.menu-modal-footer { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 32px; padding: 26px 28px; border-radius: 18px; background: var(--blue); color: white; }
.menu-modal-footer > div { display: flex; flex-direction: column; gap: 7px; }
.menu-modal-footer strong { font-family: Impact, sans-serif; font-size: 28px; font-weight: 400; letter-spacing: .01em; }
.menu-modal-footer > div span { color: rgba(255, 255, 255, .72); font-size: 12px; }
.menu-modal-footer .button { flex: 0 0 auto; background: var(--sand); color: var(--blue); }
.menu-modal-footer .button:hover { background: white; color: var(--blue); }
.menu-extras-panel { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(28px, 5vw, 70px); margin-top: 32px; padding: clamp(26px, 4vw, 48px); border: 1px solid var(--line); border-radius: 18px; background: var(--cream); }
.menu-extras-panel[hidden] { display: none; }
.menu-extras-heading .eyebrow { margin-bottom: 12px; }
.menu-extras-heading h3 { margin: 0; font-family: Impact, sans-serif; font-size: 52px; font-weight: 400; line-height: 1; text-transform: uppercase; }
.menu-extras-heading > span { display: block; max-width: 330px; margin-top: 15px; color: #68675f; font-size: 11px; line-height: 1.55; }
.menu-extras-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: start; gap: 0 24px; }
.menu-extras-grid > div { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.menu-extras-grid span { font-size: 11px; }
.menu-extras-grid strong { color: var(--blue); font-size: 11px; white-space: nowrap; }

@keyframes menuDialogIn { from { opacity: 0; transform: translateY(24px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }

@media (max-width: 1320px) {
  .site-header { padding-right: 24px; padding-left: 24px; }
  .desktop-nav { width: min(600px, 48vw); }
  .header-actions { gap: 8px; transform: translateX(10px); }
  .opening-status { min-width: 110px; padding-right: 14px; padding-left: 14px; }
  .language-switcher summary { min-width: 135px; padding-right: 13px; padding-left: 13px; }
}

@media (max-width: 1120px) {
  .hero { grid-template-columns: 1fr 1fr; }
  .popular-grid { gap: 14px; }
  .dish-image { height: 230px; }
  .dish-info { align-items: flex-start; flex-direction: column; }
  .promise { grid-template-columns: 1fr; }
  .promise-items { margin-top: 10px; }
  .about-copy { padding: 48px; }
  .menu-catalog { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .site-header { grid-template-columns: 1fr auto; }
  .desktop-nav { display: none; }
  .header-actions { transform: none; }
  .mobile-menu { display: block; }
  .hero { grid-template-columns: 1fr; height: auto; min-height: 0; max-height: none; }
  .hero-copy { min-height: 580px; }
  .hero-visual, .hero-visual video { min-height: 560px; }
  .popular-grid { grid-template-columns: 1fr; }
  .dish-card { display: grid; grid-template-columns: .9fr 1.1fr; }
  .dish-image { grid-row: span 2; height: 100%; min-height: 280px; }
  .promise-items > div { grid-template-columns: 46px 170px 1fr; }
  .about { grid-template-columns: 1fr; }
  .about-image { min-height: 0; aspect-ratio: 3 / 2; }
  .location { grid-template-columns: 1fr; }
  .location-visual { min-height: 500px; }
  .menu-modal-intro { grid-template-columns: 1fr; gap: 12px; }
  .menu-symbol-legend { justify-content: flex-start; }
  .menu-extras-panel { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .announcement { min-height: 30px; font-size: 9px; }
  .announcement-group { gap: 46px; padding: 0 23px; }
  .announcement-track { animation-duration: 18s; }
  .site-header { min-height: 88px; padding: 6px 18px; }
  .logo { width: 68px; height: 68px; }
  .opening-status { display: none; }
  .mobile-menu summary { width: 34px; }
  .hero-copy { min-height: auto; padding: 62px 20px 50px; }
  .hero h1 { font-size: clamp(50px, 15vw, 68px); }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .text-link { align-self: center; }
  .hero-meta { justify-content: space-between; }
  .hero-meta > * { min-width: 0; padding-right: 18px; }
  .hero-meta > * + * { padding-left: 18px; }
  .hero-visual, .hero-visual video { min-height: 430px; }
  .fresh-stamp { top: 20px; left: 20px; width: 92px; height: 92px; }
  .hero-logo { right: 20px; bottom: 20px; width: 116px; height: 116px; border-width: 3px; }
  .section-heading { align-items: flex-start; flex-direction: column; }
  .section-heading .text-link { align-self: flex-start; }
  .dish-card { display: flex; }
  .dish-image { height: 250px; min-height: 0; }
  .dish-info { flex-direction: row; }
  .promise-items > div { grid-template-columns: 38px 1fr; gap: 14px; }
  .promise-items p { grid-column: 2; }
  .about-image { min-height: 0; aspect-ratio: 4 / 3; }
  .about-copy { padding: 52px 22px; }
  .location-details { grid-template-columns: 1fr; }
  .location-actions { align-items: flex-start; flex-direction: column; }
  .location-call { align-self: flex-start; }
  .location-visual { min-height: 430px; border-radius: 20px; }
  .location-marker { width: 150px; height: 150px; }
  .location-address-card { right: 14px; bottom: 14px; left: 14px; padding: 18px; }
  .order-cta > .cta-channels { width: 100%; flex-direction: row; gap: 14px; }
  .minimal-footer { min-height: 54px; gap: 12px; padding: 12px 18px; font-size: 8px; letter-spacing: .04em; }
  .menu-dialog { width: 100%; height: 100dvh; border: 0; border-radius: 0; }
  .menu-modal-top { padding: 14px 16px 12px; }
  .menu-modal-brand { gap: 12px; }
  .menu-modal-brand > img { width: 54px; height: 54px; }
  .menu-modal-brand h2 { font-size: 38px; }
  .menu-modal-brand span { display: none; }
  .menu-modal-close { width: 44px; height: 44px; }
  .menu-filters { padding: 2px 16px 13px; }
  .menu-modal-content { padding: 30px 16px 24px; }
  .menu-catalog { grid-template-columns: 1fr; gap: 15px; }
  .menu-product-image { height: 220px; }
  .menu-product-heading h3 { font-size: 28px; }
  .menu-product-sizes { grid-template-columns: 1fr 1fr; }
  .menu-extras-grid { grid-template-columns: 1fr; }
  .menu-modal-footer { align-items: stretch; flex-direction: column; padding: 23px 20px; }
  .menu-modal-footer .button { justify-content: space-between; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}

@media (hover: none) {
  .logo:hover, .dish-card:hover, .button:hover, .text-link:hover, .cta-channel:hover,
  .location-call:hover, .location-address-card:hover, .google-reviews:hover {
    transform: none;
  }
}

@supports (padding: max(0px)) {
  @media (max-width: 600px) {
    .site-header {
      padding-right: max(18px, env(safe-area-inset-right));
      padding-left: max(18px, env(safe-area-inset-left));
    }
    .hero-copy, .section, .promise, .about-copy, .location, .order-cta {
      padding-right: max(20px, env(safe-area-inset-right));
      padding-left: max(20px, env(safe-area-inset-left));
    }
    .menu-modal-top, .menu-filters, .menu-modal-content {
      padding-right: max(16px, env(safe-area-inset-right));
      padding-left: max(16px, env(safe-area-inset-left));
    }
    .minimal-footer {
      padding-right: max(18px, env(safe-area-inset-right));
      padding-bottom: max(12px, env(safe-area-inset-bottom));
      padding-left: max(18px, env(safe-area-inset-left));
    }
  }
}

/* Responsive refinements for phones and tablets; desktop remains unchanged. */
@media(max-width:900px){
.site-header{min-height:92px;padding:8px 20px}.logo{width:72px;height:72px}.header-actions{min-width:0;gap:8px;transform:none}.opening-status{min-width:108px;min-height:42px;padding:0 14px}.language-switcher summary{min-width:128px;min-height:42px}.mobile-menu summary{width:42px;height:42px}
.hero-copy{min-height:500px}.hero-visual,.hero-visual video{min-height:480px}.section,.promise{padding-top:72px;padding-bottom:72px}.section-heading{margin-bottom:34px}.about-copy{padding:52px 32px}.location-visual{min-height:450px}.order-cta{padding-top:92px;padding-bottom:92px}
}
@media(min-width:701px) and (max-width:900px){
.hero{grid-template-columns:.92fr 1.08fr;min-height:590px}.hero-copy{min-height:0;padding:44px 30px}.hero h1{font-size:56px}.hero-lead{font-size:15px}.hero-visual,.hero-visual video{height:100%;min-height:590px}.fresh-stamp{width:92px;height:92px}.hero-logo{width:120px;height:120px}
.popular-grid{grid-template-columns:repeat(2,1fr)}.dish-card{display:flex}.dish-image{height:215px;min-height:0}.dish-info{align-items:flex-start;flex-direction:column}.promise{gap:36px}.promise h2{font-size:66px}.about{grid-template-columns:.94fr 1.06fr}.about-image{height:100%;min-height:500px;aspect-ratio:auto}.about-copy{padding:44px 30px}.about-copy h2{font-size:44px}.location{padding-left:38px;padding-right:38px}.order-cta h2{font-size:84px}.menu-product-image{height:205px}
}
@media(max-width:600px){
.announcement{min-height:28px;font-size:8px}.announcement-group{gap:36px;padding:0 18px}.site-header{grid-template-columns:auto 1fr;min-height:74px;padding:7px 15px}.logo{width:56px;height:56px}.header-actions{gap:7px}.language-switcher summary{width:43px;min-width:43px;min-height:43px;justify-content:center;gap:0;padding:0;border-radius:50%}.language-current-label,.language-chevron{display:none}.language-flag{width:24px;height:16px}.language-options{min-width:212px}.mobile-menu summary{width:43px;height:43px}.mobile-menu nav{top:51px}
.hero-copy{min-height:auto;padding:40px 17px 34px}.eyebrow{margin-bottom:15px;font-size:10px}.hero h1{font-size:47px;line-height:.9}.hero-lead{margin-top:17px;font-size:15px}.hero-actions .button{width:100%;min-height:50px}.hero-meta{margin-top:22px}.hero-visual,.hero-visual video{min-height:350px}.fresh-stamp{top:15px;left:15px;width:80px;height:80px}.fresh-stamp span{font-size:9px}.fresh-stamp strong{font-size:14px}.hero-logo{right:15px;bottom:15px;width:92px;height:92px}
.section,.promise{padding:56px 16px}.section-heading{gap:16px;margin-bottom:26px}.section h2,.promise h2{font-size:49px}.dish-image{height:210px}.dish-info{padding:19px 17px}.dish-info h3{font-size:29px}.dish-info p{font-size:12px}.promise{gap:32px}.promise-items>div{padding:19px 0}.promise-items p{font-size:13px}
.about-copy{padding:44px 17px}.about-copy h2{font-size:39px}.about-copy .about-lead{font-size:16px!important}.location{padding:56px 17px}.location h2{font-size:49px}.location-lead{margin-top:19px;font-size:14px}.location-details{margin:26px 0 20px}.location-details article{padding:18px}.location-visual{min-height:360px}.location-marker{width:122px;height:122px}.location-marker>span{inset:-19px}.location-address-card{right:11px;bottom:11px;left:11px;padding:15px}
.order-cta{padding:68px 17px 64px}.order-cta h2{max-width:100%;font-size:49px;overflow-wrap:anywhere}.order-cta>p:not(.eyebrow){margin:20px 0 26px;font-size:15px;line-height:1.5}.order-cta>.cta-instagram{margin-top:24px}.cta-instagram p{font-size:11px}.minimal-footer{padding:12px 16px}
.menu-modal-top{gap:10px;padding:10px 13px 8px}.menu-modal-brand{min-width:0;gap:9px}.menu-modal-brand>img{width:44px;height:44px}.menu-modal-brand p{font-size:8px;white-space:nowrap}.menu-modal-brand h2{font-size:33px}.menu-modal-close{width:40px;height:40px}.menu-filters{gap:6px;padding:2px 13px 9px}.menu-filters button{padding:9px 12px;font-size:9px}.menu-modal-content{padding:22px 13px 19px}.menu-modal-intro{margin-bottom:18px}.menu-product-image{height:192px}.menu-product-body{padding:18px 16px}.menu-product-heading h3{font-size:26px}.menu-extras-panel{padding:20px 16px}.menu-modal-footer{margin-top:20px;padding:19px 17px}
}
@media(max-width:380px){.site-header{padding-left:12px;padding-right:12px}.logo{width:52px;height:52px}.hero h1{font-size:44px}.dish-info{align-items:flex-start;flex-direction:column}.dish-price{align-self:flex-end}.minimal-footer{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.site-header{display:flex;justify-content:space-between}.logo{flex:0 0 auto}.header-actions{margin-left:auto;flex:0 0 auto}}
/* =========================================================
   LUTA - FINAL RESPONSIVE / MOBILE FONT FIX
   ========================================================= */

html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

main,
header,
section,
footer,
.hero,
.hero-copy,
.hero-visual,
.about,
.location,
.promise {
  min-width: 0;
  max-width: 100%;
}

/* Same display font on Windows, Android, iPhone and tablets */
.hero h1,
.section h2,
.promise h2,
.about h2,
.order-cta h2,
.location h2,
.dish-info h3,
.dish-price strong,
.promise-items span,
.about-signature strong,
.menu-modal-brand h2,
.menu-product-heading h3,
.menu-product-heading strong,
.menu-modal-footer strong,
.menu-extras-heading h3 {
  font-family: "Oswald", "Arial Narrow", Arial, sans-serif;
  font-weight: 700;
}

/* Prevent translated content from expanding the layout */
.hero-copy,
.hero-copy > *,
.section-heading,
.about-copy,
.location-card,
.promise-title,
.promise-items,
.menu-product,
.menu-product-body {
  min-width: 0;
}

.hero h1,
.section h2,
.promise h2,
.about h2,
.location h2,
.order-cta h2 {
  max-width: 100%;
}

/* =========================
   PHONES
   ========================= */
@media (max-width: 600px) {

  .hero {
    width: 100%;
    grid-template-columns: minmax(0, 1fr);
  }

  .hero-copy {
    width: 100%;
    max-width: 100%;
    padding-left: 17px;
    padding-right: 17px;
    overflow: hidden;
  }

  .hero h1 {
    width: 100%;
    max-width: 100%;
    margin: 0;
    font-size: clamp(40px, 12vw, 50px);
    line-height: .92;
    letter-spacing: -.025em;
    word-break: normal;
    overflow-wrap: normal;
  }

  /* English */
  html[lang="en"] .hero h1 {
    font-size: clamp(38px, 11.3vw, 47px);
  }

  /* Russian - considerably wider text */
  html[lang="ru"] .hero h1 {
    font-size: clamp(33px, 9.8vw, 42px);
    line-height: .95;
  }

  /* Hungarian - longest translation */
  html[lang="hu"] .hero h1 {
    font-size: clamp(31px, 9.3vw, 40px);
    line-height: .95;
  }

  /* Italian */
  html[lang="it"] .hero h1 {
    font-size: clamp(35px, 10.5vw, 44px);
    line-height: .94;
  }

  .hero-lead {
    width: 100%;
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .section h2,
  .promise h2,
  .location h2 {
    max-width: 100%;
    font-size: clamp(38px, 11.5vw, 49px);
    line-height: .94;
    overflow-wrap: anywhere;
  }

  .about-copy h2 {
    max-width: 100%;
    font-size: clamp(34px, 10vw, 41px);
    line-height: .96;
    overflow-wrap: anywhere;
  }

  .order-cta h2 {
    max-width: 100%;
    font-size: clamp(36px, 10.8vw, 48px);
    line-height: .94;
    overflow-wrap: anywhere;
  }

  .about-copy p,
  .location-card p,
  .promise-items p,
  .menu-product-body p {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .language-options {
    right: 0;
    max-width: calc(100vw - 24px);
  }

  .announcement {
    max-width: 100vw;
    overflow: hidden;
  }

  .announcement-track {
    max-width: none;
  }

  img,
  video {
    max-width: 100%;
  }
}

/* =========================
   VERY SMALL PHONES
   ========================= */
@media (max-width: 380px) {

  .hero-copy {
    padding-left: 14px;
    padding-right: 14px;
  }

  .hero h1 {
    font-size: clamp(37px, 11.5vw, 43px);
  }

  html[lang="en"] .hero h1 {
    font-size: clamp(35px, 10.8vw, 41px);
  }

  html[lang="ru"] .hero h1 {
    font-size: clamp(31px, 9.4vw, 37px);
  }

  html[lang="hu"] .hero h1 {
    font-size: clamp(29px, 8.9vw, 35px);
  }

  html[lang="it"] .hero h1 {
    font-size: clamp(32px, 9.8vw, 39px);
  }
}

/* =========================
   TABLETS
   ========================= */
@media (min-width: 601px) and (max-width: 900px) {

  .hero-copy {
    min-width: 0;
  }

  .hero h1 {
    max-width: 100%;
    font-size: clamp(48px, 7vw, 58px);
  }

  html[lang="ru"] .hero h1,
  html[lang="hu"] .hero h1 {
    font-size: clamp(43px, 6.2vw, 53px);
  }
}
