﻿@font-face {
	font-family: "Vice Cross Town";
	src: url("../fonts/Cross-Town.ttf") format("truetype");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Vice Blacksword";
	src: url("../fonts/Blacksword.otf") format("opentype");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Vice Impacted";
	src: url("../fonts/Impacted.ttf") format("truetype");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

:root {
	--vb-black: #07090d;
	--vb-ink: #0d121a;
	--vb-night: #101d2d;
	--vb-blue: #263d59;
	--vb-steel: #6e8198;
	--vb-bone: #f4efe4;
	--vb-muted: #b6ad9d;
	--vb-mustard: #f5ad16;
	--vb-mustard-deep: #c87b08;
	--vb-ember: #d9432c;
	--vb-pickle: #87983a;
	--vb-line: rgba(244, 239, 228, 0.16);
	--vb-panel: rgba(8, 12, 18, 0.82);
	--vb-shadow: 0 28px 90px rgba(0, 0, 0, 0.48);
	--vb-radius: 8px;
	--vb-header-height: 76px;
}

*,
*::before,
*::after {
	box-sizing: border-box;
	letter-spacing: 0;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background:
		radial-gradient(circle at 18% 0%, rgba(245, 173, 22, 0.08), transparent 28rem),
		radial-gradient(circle at 88% 22%, rgba(217, 67, 44, 0.08), transparent 24rem),
		linear-gradient(135deg, var(--vb-black), var(--vb-night) 54%, #0b0f16);
	color: var(--vb-bone);
	font-family: "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
	font-size: 16px;
	line-height: 1.5;
	overflow-x: hidden;
}

:where(h1, h2, h3, h4, h5, h6, p, a, span, strong, em, li, label, button) {
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
}

body::before {
	position: fixed;
	inset: 0;
	z-index: -2;
	pointer-events: none;
	content: "";
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.026) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.018) 1px, transparent 1px);
	background-size: 58px 58px;
	mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.9), transparent 86%);
}

body::after {
	position: fixed;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	content: "";
	opacity: 0.34;
	background-image:
		radial-gradient(circle at 25% 25%, rgba(255, 255, 255, 0.09) 0 1px, transparent 1px),
		radial-gradient(circle at 70% 65%, rgba(245, 173, 22, 0.08) 0 1px, transparent 1px);
	background-size: 13px 17px, 19px 23px;
	mix-blend-mode: overlay;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
	-webkit-user-drag: none;
	user-select: none;
}

a {
	color: inherit;
	text-decoration: none;
}

button,
input,
select,
textarea {
	font: inherit;
}

button {
	cursor: pointer;
}

::selection {
	background: var(--vb-mustard);
	color: var(--vb-black);
}

.vb-skip-link {
	position: fixed;
	top: 12px;
	left: 12px;
	z-index: 1000;
	padding: 10px 14px;
	background: var(--vb-mustard);
	color: var(--vb-black);
	transform: translateY(-150%);
	transition: transform 180ms ease;
}

.vb-skip-link:focus {
	transform: translateY(0);
}

.vb-main {
	min-height: 70vh;
}

.vb-container {
	width: min(1160px, calc(100% - 40px));
	margin-inline: auto;
}

.vb-site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	border-bottom: 1px solid transparent;
	background:
		linear-gradient(90deg, rgba(7, 9, 13, 0.92), rgba(16, 29, 45, 0.78)),
		rgba(7, 9, 13, 0.66);
	backdrop-filter: blur(18px);
	transition: background 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

.vb-site-header.is-scrolled {
	border-color: rgba(244, 239, 228, 0.12);
	background: rgba(7, 9, 13, 0.9);
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.28);
}

.vb-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: min(1240px, calc(100% - 40px));
	min-height: var(--vb-header-height);
	margin-inline: auto;
	gap: 24px;
}

.vb-header-actions {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 14px;
	min-width: 0;
	margin-left: auto;
	overflow: visible;
}

.vb-logo {
	position: relative;
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	min-width: 132px;
	color: var(--vb-bone);
	text-transform: uppercase;
	line-height: 0.82;
}

.vb-logo-mark {
	font-family: "Vice Blacksword", "Brush Script MT", "Segoe Script", cursive;
	font-size: clamp(1.4rem, 3vw, 2rem);
	color: var(--vb-bone);
	text-transform: none;
	transform: rotate(-5deg) translateY(6px);
}

.vb-logo-main {
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: clamp(1.85rem, 4vw, 2.65rem);
	color: var(--vb-mustard);
	text-shadow: 2px 2px 0 rgba(0, 0, 0, 0.45);
}

.vb-logo img {
	max-width: 180px;
	max-height: 62px;
}

.vb-primary-nav {
	display: flex;
	align-items: center;
}

.vb-lang-switcher {
	position: relative;
	z-index: 130;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 96px;
	width: 96px;
	height: 42px;
	min-width: 96px;
	overflow: visible;
	line-height: 1;
}

.vb-lang-switcher select,
.gtranslate_wrapper select,
.gtranslate_wrapper .gt-current-lang {
	width: 100%;
	min-height: 42px;
	padding: 10px 40px 10px 14px;
	border: 1px solid rgba(244, 239, 228, 0.18);
	border-radius: 6px;
	background:
		linear-gradient(135deg, rgba(244, 239, 228, 0.06), rgba(244, 239, 228, 0.02)),
		rgba(7, 9, 13, 0.94);
	color: var(--vb-bone);
	font-weight: 800;
	font-size: 0.82rem;
	font-family: "Arial Narrow", Arial, sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.01);
	appearance: none;
	-webkit-appearance: none;
}

.vb-lang-switcher select,
.gtranslate_wrapper select {
	background-image:
		linear-gradient(45deg, transparent 50%, var(--vb-mustard) 50%),
		linear-gradient(135deg, var(--vb-mustard) 50%, transparent 50%);
	background-position:
		calc(100% - 18px) 18px,
		calc(100% - 12px) 18px;
	background-size: 6px 6px, 6px 6px;
	background-repeat: no-repeat;
	cursor: pointer;
}

.gtranslate_wrapper select:focus-visible,
.gtranslate_wrapper .gt-current-lang:focus-visible,
.gtranslate_wrapper a:focus-visible {
	outline: 2px solid rgba(245, 173, 22, 0.78);
	outline-offset: 2px;
}

.gtranslate_wrapper .gt-current-lang {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	text-decoration: none;
}

.gtranslate_wrapper .gt-current-lang img,
.gtranslate_wrapper img {
	display: none;
}

.gtranslate_wrapper a {
	color: inherit;
	text-decoration: none;
}

.gtranslate_wrapper,
.gtranslate_wrapper .gt_switcher,
.gtranslate_wrapper .gt_container {
	overflow: visible !important;
}

.gtranslate_wrapper .gt_switcher {
	position: relative !important;
	width: 88px !important;
	height: 42px !important;
	min-width: 88px !important;
	font-family: "Arial Narrow", Arial, sans-serif !important;
	line-height: 1 !important;
}

.gtranslate_wrapper .gt_switcher .gt_selected {
	position: relative !important;
	z-index: 2 !important;
	width: 88px !important;
	background: transparent !important;
}

.gtranslate_wrapper .gt_switcher .gt_selected a,
.gtranslate_wrapper .gt_switcher .gt_selected a:hover {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	width: 88px !important;
	height: 42px !important;
	min-height: 42px !important;
	padding: 0 28px 0 12px !important;
	border: 1px solid rgba(244, 239, 228, 0.22) !important;
	border-radius: 6px !important;
	background:
		linear-gradient(135deg, rgba(244, 239, 228, 0.08), rgba(245, 173, 22, 0.08)),
		rgba(7, 9, 13, 0.96) !important;
	color: var(--vb-bone) !important;
	font-size: 0.78rem !important;
	font-weight: 900 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.02), 0 10px 26px rgba(0, 0, 0, 0.24) !important;
}

.gtranslate_wrapper .gt_switcher .gt_selected a::after {
	position: absolute;
	top: 50%;
	right: 12px;
	width: 7px;
	height: 7px;
	border-right: 2px solid var(--vb-mustard);
	border-bottom: 2px solid var(--vb-mustard);
	content: "";
	transform: translateY(-65%) rotate(45deg);
}

.gtranslate_wrapper .gt_switcher .gt_option {
	position: absolute !important;
	top: calc(100% + 8px) !important;
	left: 0 !important;
	z-index: 9999 !important;
	width: 264px !important;
	max-height: min(320px, calc(100vh - var(--vb-header-height) - 30px)) !important;
	margin: 0 !important;
	padding: 8px !important;
	border: 1px solid rgba(244, 239, 228, 0.16) !important;
	border-radius: 8px !important;
	background: rgba(7, 9, 13, 0.98) !important;
	box-shadow: 0 22px 48px rgba(0, 0, 0, 0.42) !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
}

.gtranslate_wrapper .gt_switcher .gt_option a {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	width: 100% !important;
	min-height: 38px !important;
	padding: 9px 10px !important;
	border: 0 !important;
	border-radius: 5px !important;
	background: transparent !important;
	color: rgba(244, 239, 228, 0.86) !important;
	font-size: 0.9rem !important;
	font-weight: 800 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	white-space: nowrap !important;
}

.gtranslate_wrapper .gt_switcher .gt_option a:hover,
.gtranslate_wrapper .gt_switcher .gt_option a:focus-visible {
	background: rgba(245, 173, 22, 0.14) !important;
	color: var(--vb-mustard) !important;
	outline: none !important;
}

.gtranslate_wrapper .gt_switcher img {
	display: inline-block !important;
	flex: 0 0 auto;
	width: 22px !important;
	height: 16px !important;
	border-radius: 2px;
	object-fit: cover;
}

/* GTranslate can inject a different dropdown structure after the theme CSS. */
.vb-lang-switcher .gt_selected,
.vb-lang-switcher .gt-current-lang,
.vb-lang-switcher [class*="gt_selected"] {
	width: 100% !important;
	height: 42px !important;
	min-height: 42px !important;
	border: 0 !important;
	background: transparent !important;
}

.vb-lang-switcher .gt_selected > a,
.vb-lang-switcher .gt-current-lang,
.vb-lang-switcher [class*="gt_selected"] > a {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 42px !important;
	min-height: 42px !important;
	padding: 0 28px 0 12px !important;
	border: 1px solid rgba(245, 173, 22, 0.72) !important;
	border-radius: 6px !important;
	background: #111820 !important;
	color: #ffffff !important;
	font-size: 0.78rem !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	text-align: center !important;
	text-shadow: 0 1px 8px rgba(245, 173, 22, 0.32) !important;
	opacity: 1 !important;
}

.vb-lang-switcher .gt_selected > a *,
.vb-lang-switcher .gt-current-lang *,
.vb-lang-switcher [class*="gt_selected"] > a * {
	color: #ffffff !important;
	opacity: 1 !important;
}

.vb-lang-switcher .gt_option {
	position: fixed !important;
	z-index: 100000 !important;
	display: none;
	width: 260px !important;
	max-height: min(360px, calc(100vh - var(--vb-header-height) - 24px)) !important;
	margin: 0 !important;
	padding: 8px !important;
	border: 1px solid rgba(245, 173, 22, 0.5) !important;
	border-radius: 7px !important;
	background: #0b1118 !important;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.58) !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
}

.vb-lang-switcher .gt_option[style*="display: block"],
.vb-lang-switcher .gt_option[style*="display:block"],
.vb-lang-switcher .gt_option[style*="visibility: visible"],
.vb-lang-switcher .gt_option[style*="visibility:visible"] {
	display: block !important;
}

.vb-lang-switcher .gt_option a,
.vb-lang-switcher .gt_option a:link,
.vb-lang-switcher .gt_option a:visited {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	width: 100% !important;
	min-height: 40px !important;
	padding: 9px 10px !important;
	border: 0 !important;
	border-radius: 4px !important;
	background: transparent !important;
	color: #f4efe4 !important;
	font-size: 0.92rem !important;
	font-weight: 800 !important;
	line-height: 1.15 !important;
	text-decoration: none !important;
	text-transform: none !important;
	white-space: normal !important;
	opacity: 1 !important;
}

.vb-lang-switcher .gt_option a *,
.vb-lang-switcher .gt_option span {
	color: inherit !important;
	opacity: 1 !important;
}

.vb-lang-switcher .gt_option a:hover,
.vb-lang-switcher .gt_option a:focus-visible {
	background: rgba(245, 173, 22, 0.18) !important;
	color: #ffc038 !important;
}

/* Exact markup generated by the GTranslate float switcher. */
.vb-lang-switcher #google_translate_element2,
.vb-lang-switcher .goog-te-gadget {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
}

.vb-lang-switcher #gt_float_wrapper {
	position: relative !important;
	inset: auto !important;
	width: 96px !important;
	height: 42px !important;
	overflow: visible !important;
}

.vb-lang-switcher .gt_float_switcher {
	position: relative !important;
	inset: auto !important;
	display: block !important;
	width: 96px !important;
	height: 42px !important;
	min-width: 96px !important;
	overflow: visible !important;
	border: 0 !important;
	border-radius: 6px !important;
	background: transparent !important;
	box-shadow: none !important;
	opacity: 1 !important;
	font-family: "Arial Narrow", Arial, sans-serif !important;
}

.vb-lang-switcher .gt_float_switcher .gt-selected {
	position: relative !important;
	z-index: 2 !important;
	display: block !important;
	width: 96px !important;
	height: 42px !important;
	overflow: visible !important;
	border: 0 !important;
	background: transparent !important;
}

.vb-lang-switcher .gt_float_switcher .gt-current-lang {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 7px !important;
	width: 96px !important;
	height: 42px !important;
	min-height: 42px !important;
	padding: 0 27px 0 10px !important;
	border: 1px solid #f5ad16 !important;
	border-radius: 6px !important;
	background: #111820 !important;
	color: #ffffff !important;
	box-shadow: 0 0 0 1px rgba(245, 173, 22, 0.12), 0 8px 24px rgba(0, 0, 0, 0.28) !important;
	cursor: pointer !important;
	opacity: 1 !important;
}

.vb-lang-switcher .gt_float_switcher .gt-current-lang img {
	display: inline-block !important;
	flex: 0 0 auto !important;
	width: 24px !important;
	height: 18px !important;
	margin: 0 !important;
	border-radius: 2px !important;
	object-fit: cover !important;
	opacity: 1 !important;
}

.vb-lang-switcher .gt_float_switcher .gt-lang-code {
	display: inline !important;
	color: #ffffff !important;
	font-size: 0.78rem !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	text-transform: uppercase !important;
	opacity: 1 !important;
}

.vb-lang-switcher .gt_float_switcher-arrow {
	position: absolute !important;
	top: 50% !important;
	right: 11px !important;
	width: 7px !important;
	height: 7px !important;
	margin: 0 !important;
	border: 0 !important;
	border-right: 2px solid #f5ad16 !important;
	border-bottom: 2px solid #f5ad16 !important;
	background: transparent !important;
	transform: translateY(-65%) rotate(45deg) !important;
}

.vb-lang-switcher .gt_float_switcher .gt_options {
	position: fixed !important;
	z-index: 100000 !important;
	width: 268px !important;
	max-height: min(360px, calc(100vh - var(--vb-header-height) - 24px)) !important;
	margin: 0 !important;
	padding: 8px !important;
	border: 1px solid rgba(245, 173, 22, 0.55) !important;
	border-radius: 7px !important;
	background: #0b1118 !important;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.62) !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
}

.vb-lang-switcher .gt_float_switcher .gt_options a {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	width: 100% !important;
	min-height: 42px !important;
	padding: 9px 10px !important;
	border: 0 !important;
	border-radius: 4px !important;
	background: transparent !important;
	color: #f4efe4 !important;
	font-size: 0.92rem !important;
	font-weight: 800 !important;
	line-height: 1.15 !important;
	text-decoration: none !important;
	white-space: normal !important;
	opacity: 1 !important;
}

.vb-lang-switcher .gt_float_switcher .gt_options a:hover,
.vb-lang-switcher .gt_float_switcher .gt_options a:focus-visible,
.vb-lang-switcher .gt_float_switcher .gt_options a.gt-current {
	background: rgba(245, 173, 22, 0.17) !important;
	color: #ffc038 !important;
}

.vb-lang-switcher .gt_float_switcher .gt_options img {
	display: inline-block !important;
	flex: 0 0 auto !important;
	width: 26px !important;
	height: 19px !important;
	margin: 0 !important;
	border-radius: 2px !important;
	object-fit: cover !important;
	opacity: 1 !important;
}

.vb-nav-list,
.vb-footer-menu {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.vb-nav-list a {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: 42px;
	padding: 9px 14px;
	color: rgba(244, 239, 228, 0.78);
	font-size: 0.92rem;
	font-weight: 800;
	font-family: "Arial Narrow", Arial, sans-serif;
	text-transform: uppercase;
	transition: color 180ms ease, text-shadow 180ms ease, transform 180ms ease;
}

.vb-nav-list a::after {
	position: absolute;
	right: 14px;
	bottom: 6px;
	left: 14px;
	height: 2px;
	background: linear-gradient(90deg, transparent, var(--vb-mustard) 16% 84%, transparent);
	box-shadow: 0 0 14px rgba(245, 173, 22, 0.42);
	content: "";
	opacity: 0;
	transform: scaleX(0);
	transform-origin: center;
	transition: opacity 180ms ease, transform 220ms ease;
}

.vb-nav-list a:hover,
.vb-nav-list a:focus-visible {
	color: var(--vb-mustard);
	text-shadow: 0 0 18px rgba(245, 173, 22, 0.28);
	transform: translateY(-1px);
	outline: none;
}

.vb-nav-list a:hover::after,
.vb-nav-list a:focus-visible::after,
.vb-nav-list a[aria-current="page"]::after {
	opacity: 1;
	transform: scaleX(1);
}

.vb-nav-list a[aria-current="page"] {
	color: var(--vb-bone);
}

.vb-menu-toggle {
	display: none;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid rgba(244, 239, 228, 0.18);
	border-radius: 6px;
	background: rgba(244, 239, 228, 0.05);
	color: var(--vb-bone);
}

.vb-menu-toggle span {
	display: block;
	width: 20px;
	height: 2px;
	margin: 5px auto;
	background: currentColor;
	transition: transform 180ms ease, opacity 180ms ease;
}

.vb-nav-open .vb-menu-toggle span:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}

.vb-nav-open .vb-menu-toggle span:nth-child(2) {
	opacity: 0;
}

.vb-nav-open .vb-menu-toggle span:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

.vb-small-label {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 16px;
	color: var(--vb-mustard);
	font-size: 0.9rem;
	font-weight: 900;
	font-family: "Arial Narrow", Arial, sans-serif;
	text-transform: uppercase;
}

.vb-small-label::before {
	display: inline-block;
	width: 34px;
	height: 2px;
	background: currentColor;
	content: "";
}

.vb-button {
	position: relative;
	isolation: isolate;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 13px 20px;
	overflow: hidden;
	border: 1px solid transparent;
	border-radius: 6px;
	font-weight: 950;
	font-family: "Arial Narrow", Arial, sans-serif;
	text-transform: uppercase;
	transition: transform 180ms ease, border-color 180ms ease, color 180ms ease, background 180ms ease, box-shadow 180ms ease;
	transform-origin: center;
}

.vb-button::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	content: "";
	background:
		repeating-linear-gradient(90deg, rgba(244, 239, 228, 0.08) 0 1px, transparent 1px 5px),
		repeating-linear-gradient(0deg, rgba(244, 239, 228, 0.08) 0 1px, transparent 1px 6px);
	opacity: 0;
	mix-blend-mode: screen;
	transition: opacity 180ms ease;
}

.vb-button::after {
	display: inline-block;
	width: 22px;
	height: 2px;
	margin-left: 12px;
	background: currentColor;
	content: "";
	transition: transform 180ms ease;
}

.vb-button:hover,
.vb-button:focus-visible {
	filter: contrast(1.12);
	transform: translateY(-3px) rotate(-1.4deg) scale(1.04);
	outline: none;
}

.vb-button:hover::before,
.vb-button:focus-visible::before {
	opacity: 1;
}

.vb-button:hover::after,
.vb-button:focus-visible::after {
	transform: translateX(5px);
}

.vb-button-primary {
	background: linear-gradient(135deg, var(--vb-mustard), #ffcb44);
	color: var(--vb-black);
	box-shadow: 0 16px 36px rgba(245, 173, 22, 0.23);
}

.vb-button-primary:hover,
.vb-button-primary:focus-visible {
	box-shadow: 0 20px 46px rgba(245, 173, 22, 0.32);
}

.vb-button-ghost {
	border-color: rgba(244, 239, 228, 0.28);
	background: rgba(244, 239, 228, 0.04);
	color: var(--vb-bone);
}

.vb-button-ghost:hover,
.vb-button-ghost:focus-visible {
	border-color: var(--vb-mustard);
	background: rgba(245, 173, 22, 0.08);
}

.vb-hero {
	--vb-hero-bg: url("../img/vice-buns-hero-hamburguesa-premia.jpg");
	--vb-hero-mobile-bg: url("../img/vice-buns-hero-hamburguesa-premia-mobile.jpg");
	--vb-hero-bg-drift-x: 0px;
	--vb-hero-bg-drift-y: 0px;
	--vb-hero-line-drift-x: 0px;
	--vb-hero-line-drift-y: 0px;
	--vb-hero-mark-drift-x: 0px;
	--vb-hero-mark-drift-y: 0px;
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: calc(100svh - var(--vb-header-height) - 44px);
	margin: 0 0 28px;
	padding: clamp(62px, 8vw, 104px) min(48vw, 680px) clamp(58px, 7vw, 92px) max(40px, calc((100vw - 1240px) / 2 + 40px));
	overflow: hidden;
	border: 0;
	background:
		linear-gradient(90deg, rgba(0, 0, 0, 0.96) 0 35%, rgba(0, 0, 0, 0.64) 49%, rgba(0, 0, 0, 0.03) 68%),
		linear-gradient(180deg, rgba(0, 0, 0, 0.16), rgba(0, 0, 0, 0.36)),
		var(--vb-hero-bg),
		#000;
	background-position: center, center, calc(64% + var(--vb-hero-bg-drift-x)) calc(50% + var(--vb-hero-bg-drift-y)), center;
	background-size: auto, auto, cover, auto;
	background-repeat: no-repeat;
	box-shadow: none;
	transition: background-position 160ms ease-out;
}

.vb-hero::before {
	position: absolute;
	inset: 0;
	content: "";
	background:
		radial-gradient(ellipse at 18% 44%, rgba(0, 0, 0, 0.58), transparent 34rem),
		linear-gradient(to top, rgba(0, 0, 0, 0.58), transparent 34%);
	opacity: 0.72;
	animation: vb-hero-shadow-rise 1200ms 160ms ease-out both;
}

.vb-hero::after {
	position: absolute;
	inset: 0;
	pointer-events: none;
	content: "";
	background:
		linear-gradient(105deg, transparent 0 44%, rgba(245, 173, 22, 0.16) 44% 44.6%, transparent 44.6%),
		linear-gradient(102deg, transparent 0 81%, rgba(217, 67, 44, 0.14) 81% 81.5%, transparent 81.5%);
}

.vb-hero-noise {
	position: absolute;
	inset: 0;
	pointer-events: none;
	opacity: 0.4;
	background-image:
		radial-gradient(circle at 18% 22%, rgba(244, 239, 228, 0.14) 0 1px, transparent 1px),
		radial-gradient(circle at 74% 36%, rgba(245, 173, 22, 0.12) 0 1px, transparent 1px);
	background-size: 21px 23px, 29px 31px;
	mix-blend-mode: overlay;
	animation: vb-hero-glow-dust 1800ms 520ms ease-out both;
}

.vb-hero-watermark {
	position: absolute;
	top: 16%;
	left: 4%;
	color: rgba(244, 239, 228, 0.055);
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: clamp(6rem, 18vw, 17rem);
	line-height: 0.8;
	text-shadow:
		0 0 1px rgba(244, 239, 228, 0.12),
		0 0 18px rgba(245, 173, 22, 0.035);
	text-transform: uppercase;
	white-space: nowrap;
	pointer-events: none;
	transform: translate3d(var(--vb-hero-mark-drift-x), var(--vb-hero-mark-drift-y), 0);
	transition: transform 220ms ease-out;
	animation: vb-hero-watermark-arrive 1500ms 240ms ease-out both;
}

.vb-hero-embers {
	position: absolute;
	inset: 0;
	z-index: 2;
	overflow: hidden;
	pointer-events: none;
	mix-blend-mode: screen;
	mask-image: linear-gradient(to bottom, transparent 0 12%, #000 34% 100%);
}

.vb-hero-embers::before {
	position: absolute;
	right: 0;
	bottom: -18%;
	left: 0;
	height: 44%;
	background:
		radial-gradient(ellipse at 72% 72%, rgba(245, 173, 22, 0.34), transparent 28rem),
		radial-gradient(ellipse at 56% 86%, rgba(217, 67, 44, 0.3), transparent 22rem),
		radial-gradient(ellipse at 24% 92%, rgba(245, 173, 22, 0.14), transparent 18rem);
	filter: blur(24px);
	content: "";
	opacity: 0.72;
	animation: vb-hero-ember-bed 3.8s ease-in-out infinite;
}

.vb-hero-embers::after {
	position: absolute;
	left: 48%;
	bottom: 17%;
	width: 3px;
	height: 3px;
	border-radius: 999px;
	background: #ffe7a3;
	box-shadow:
		10vw -5vh 0 0 rgba(255, 208, 92, 0.92),
		18vw 1vh 0 1px rgba(217, 67, 44, 0.78),
		25vw -10vh 0 0 rgba(255, 238, 179, 0.88),
		34vw -2vh 0 1px rgba(245, 173, 22, 0.86),
		42vw -11vh 0 0 rgba(255, 119, 66, 0.72),
		4vw -17vh 0 0 rgba(255, 208, 92, 0.68),
		30vw -21vh 0 0 rgba(255, 238, 179, 0.7);
	filter: drop-shadow(0 0 10px rgba(245, 173, 22, 0.95));
	content: "";
	animation: vb-hero-spark-crackle 1.45s steps(2, end) infinite;
}

.vb-hero-embers span {
	position: absolute;
	left: var(--vb-ember-x);
	bottom: var(--vb-ember-y);
	width: var(--vb-ember-size);
	aspect-ratio: 1;
	border-radius: 999px;
	background: radial-gradient(circle, #fff1b8 0 16%, #ffbc38 26% 52%, rgba(217, 67, 44, 0.82) 70%, transparent 74%);
	box-shadow:
		0 0 10px rgba(255, 202, 80, 0.95),
		0 0 24px rgba(217, 67, 44, 0.72);
	opacity: 0;
	transform: translate3d(0, 0, 0) scale(0.8);
	animation: vb-hero-ember-float var(--vb-ember-duration) var(--vb-ember-delay) linear infinite;
}

.vb-hero-embers span:nth-child(1) { --vb-ember-x: 9%; --vb-ember-y: 16%; --vb-ember-size: 4px; --vb-ember-duration: 4.6s; --vb-ember-delay: 0.2s; }
.vb-hero-embers span:nth-child(2) { --vb-ember-x: 18%; --vb-ember-y: 9%; --vb-ember-size: 3px; --vb-ember-duration: 5.4s; --vb-ember-delay: 1.3s; }
.vb-hero-embers span:nth-child(3) { --vb-ember-x: 31%; --vb-ember-y: 12%; --vb-ember-size: 5px; --vb-ember-duration: 4.9s; --vb-ember-delay: 0.8s; }
.vb-hero-embers span:nth-child(4) { --vb-ember-x: 44%; --vb-ember-y: 18%; --vb-ember-size: 3px; --vb-ember-duration: 5.7s; --vb-ember-delay: 1.8s; }
.vb-hero-embers span:nth-child(5) { --vb-ember-x: 54%; --vb-ember-y: 10%; --vb-ember-size: 4px; --vb-ember-duration: 4.4s; --vb-ember-delay: 0.4s; }
.vb-hero-embers span:nth-child(6) { --vb-ember-x: 63%; --vb-ember-y: 20%; --vb-ember-size: 5px; --vb-ember-duration: 5.2s; --vb-ember-delay: 1.1s; }
.vb-hero-embers span:nth-child(7) { --vb-ember-x: 72%; --vb-ember-y: 15%; --vb-ember-size: 3px; --vb-ember-duration: 4.8s; --vb-ember-delay: 0.1s; }
.vb-hero-embers span:nth-child(8) { --vb-ember-x: 82%; --vb-ember-y: 11%; --vb-ember-size: 4px; --vb-ember-duration: 5.9s; --vb-ember-delay: 1.5s; }
.vb-hero-embers span:nth-child(9) { --vb-ember-x: 91%; --vb-ember-y: 18%; --vb-ember-size: 3px; --vb-ember-duration: 4.7s; --vb-ember-delay: 0.7s; }
.vb-hero-embers span:nth-child(10) { --vb-ember-x: 58%; --vb-ember-y: 38%; --vb-ember-size: 3px; --vb-ember-duration: 6.1s; --vb-ember-delay: 2.2s; }
.vb-hero-embers span:nth-child(11) { --vb-ember-x: 67%; --vb-ember-y: 44%; --vb-ember-size: 2px; --vb-ember-duration: 5.6s; --vb-ember-delay: 0.9s; }
.vb-hero-embers span:nth-child(12) { --vb-ember-x: 75%; --vb-ember-y: 36%; --vb-ember-size: 3px; --vb-ember-duration: 6.4s; --vb-ember-delay: 1.7s; }
.vb-hero-embers span:nth-child(13) { --vb-ember-x: 84%; --vb-ember-y: 42%; --vb-ember-size: 2px; --vb-ember-duration: 5.1s; --vb-ember-delay: 2.6s; }
.vb-hero-embers span:nth-child(14) { --vb-ember-x: 48%; --vb-ember-y: 32%; --vb-ember-size: 2px; --vb-ember-duration: 5.8s; --vb-ember-delay: 1.9s; }
.vb-hero-embers span:nth-child(15) { --vb-ember-x: 37%; --vb-ember-y: 24%; --vb-ember-size: 3px; --vb-ember-duration: 6s; --vb-ember-delay: 2.9s; }
.vb-hero-embers span:nth-child(16) { --vb-ember-x: 70%; --vb-ember-y: 8%; --vb-ember-size: 5px; --vb-ember-duration: 4.3s; --vb-ember-delay: 3.1s; }
.vb-hero-embers span:nth-child(17) { --vb-ember-x: 24%; --vb-ember-y: 20%; --vb-ember-size: 2px; --vb-ember-duration: 6.6s; --vb-ember-delay: 2.4s; }
.vb-hero-embers span:nth-child(18) { --vb-ember-x: 86%; --vb-ember-y: 26%; --vb-ember-size: 5px; --vb-ember-duration: 4.5s; --vb-ember-delay: 3.5s; }

.vb-hero-smoke {
	position: absolute;
	right: 4%;
	bottom: 46%;
	z-index: 2;
	width: min(620px, 50vw);
	height: min(340px, 40vh);
	overflow: visible;
	pointer-events: none;
	opacity: 0.88;
	filter: blur(1px);
	mix-blend-mode: screen;
	mask-image:
		linear-gradient(to top, transparent 0 30%, #000 48% 100%),
		radial-gradient(ellipse at 62% 32%, #000 0 64%, transparent 84%);
}

.vb-hero-smoke span {
	position: absolute;
	border-radius: 999px;
	background:
		radial-gradient(ellipse at 42% 48%, rgba(244, 239, 228, 0.5), rgba(244, 239, 228, 0.24) 32%, rgba(120, 128, 138, 0.12) 56%, transparent 72%),
		radial-gradient(ellipse at 68% 34%, rgba(255, 216, 145, 0.2), transparent 48%);
	filter: blur(22px);
	transform-origin: 50% 100%;
	animation: vb-hero-smoke-drift var(--vb-smoke-duration) var(--vb-smoke-delay) ease-in-out infinite;
}

.vb-hero-smoke span:nth-child(1) {
	right: 18%;
	bottom: 0;
	width: 78%;
	height: 48%;
	--vb-smoke-duration: 9.5s;
	--vb-smoke-delay: 0s;
}

.vb-hero-smoke span:nth-child(2) {
	right: 0;
	bottom: 20%;
	width: 70%;
	height: 42%;
	opacity: 0.88;
	--vb-smoke-duration: 11s;
	--vb-smoke-delay: -3.4s;
}

.vb-hero-smoke span:nth-child(3) {
	right: 34%;
	bottom: 26%;
	width: 62%;
	height: 38%;
	opacity: 0.72;
	--vb-smoke-duration: 12.5s;
	--vb-smoke-delay: -6.2s;
}

.vb-hero-content {
	position: relative;
	z-index: 3;
	max-width: min(590px, 46vw);
}

.vb-hero-content.vb-reveal {
	opacity: 1;
	transform: none;
	transition: none;
}

.vb-hero-content .vb-small-label,
.vb-hero-title,
.vb-hero-script,
.vb-hero-copy,
.vb-hero-actions .vb-button {
	opacity: 0;
	will-change: opacity, transform, filter;
}

.vb-hero h1 {
	margin: 0;
	color: var(--vb-bone);
	font-family: "Vice Impacted", Impact, Haettenschweiler, "Arial Narrow Bold", "Arial Narrow", sans-serif;
	font-size: clamp(3.35rem, 6.5vw, 7.5rem);
	font-weight: 900;
	line-height: 0.88;
	text-shadow:
		4px 4px 0 rgba(0, 0, 0, 0.58),
		0 18px 42px rgba(0, 0, 0, 0.42);
	text-transform: uppercase;
	text-wrap: balance;
}

.vb-hero-title {
	position: relative;
	max-width: 650px;
}

.vb-hero-title::after {
	position: absolute;
	right: 0.08em;
	bottom: 0.05em;
	z-index: -1;
	width: 58%;
	height: 0.13em;
	background: linear-gradient(90deg, rgba(217, 67, 44, 0.92), rgba(245, 173, 22, 0.28));
	content: "";
	transform: scaleX(0) skewX(-16deg);
	transform-origin: left center;
}

.vb-hero h1 > span {
	position: relative;
	display: block;
	color: #ffb414;
	-webkit-text-stroke: 1px rgba(7, 9, 13, 0.74);
	text-shadow:
		6px 6px 0 rgba(0, 0, 0, 0.72),
		-2px -2px 0 rgba(244, 239, 228, 0.14),
		0 18px 42px rgba(245, 173, 22, 0.22);
	filter: drop-shadow(0 8px 18px rgba(0, 0, 0, 0.5));
}

.vb-hero-logo-title {
	width: fit-content;
	text-transform: uppercase;
}

.vb-hero-logo-mark {
	position: relative;
	z-index: 2;
	display: block;
	margin: 0 0 -0.38em 0.06em;
	color: var(--vb-bone);
	font-family: "Vice Blacksword", "Brush Script MT", "Segoe Script", cursive;
	font-size: clamp(3.2rem, 7vw, 7.4rem);
	font-weight: 400;
	line-height: 0.92;
	text-transform: none;
	transform: rotate(-5deg);
}

.vb-hero-logo-main {
	position: relative;
	z-index: 1;
	display: block;
	color: var(--vb-mustard);
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: clamp(5.15rem, 12vw, 12rem);
	font-weight: 400;
	line-height: 0.78;
	text-transform: uppercase;
	text-shadow:
		6px 6px 0 rgba(0, 0, 0, 0.72),
		0 18px 42px rgba(245, 173, 22, 0.24);
}

.vb-hero-content.is-visible .vb-small-label {
	animation: vb-hero-kicker-in 520ms 180ms ease-out both;
}

.vb-hero-content.is-visible .vb-hero-title {
	animation: vb-hero-logo-hit 760ms 430ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

.vb-hero-content.is-visible .vb-hero-title::after {
	animation: vb-hero-heat-swipe 760ms 780ms ease-out both;
}

.vb-hero-content.is-visible .vb-hero-script {
	animation: vb-hero-script-in 680ms 860ms cubic-bezier(0.18, 0.86, 0.2, 1) both;
}

.vb-hero-content.is-visible .vb-hero-copy {
	animation: vb-hero-copy-in 560ms 1080ms ease-out both;
}

.vb-hero-content.is-visible .vb-hero-actions .vb-button {
	animation: vb-hero-button-in 520ms 1260ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

.vb-hero-content.is-visible .vb-hero-actions .vb-button:nth-child(2) {
	animation-delay: 1390ms;
}

.vb-section-heading h2::after,
.vb-menu-card h2::after,
.vb-page-hero h1::after {
	position: absolute;
	inset: 0;
	pointer-events: none;
	content: "";
	opacity: 0.42;
	background-image:
		repeating-linear-gradient(0deg, transparent 0 8px, rgba(0, 0, 0, 0.75) 8px 10px),
		radial-gradient(circle at 18% 22%, rgba(0, 0, 0, 0.9) 0 2px, transparent 2px),
		radial-gradient(circle at 72% 58%, rgba(0, 0, 0, 0.7) 0 1px, transparent 1px);
	background-size: auto, 19px 21px, 13px 17px;
	mix-blend-mode: multiply;
}

.vb-hero h1 > span::before {
	position: absolute;
	right: -0.05em;
	bottom: 0.08em;
	z-index: -1;
	width: 64%;
	height: 0.16em;
	background: linear-gradient(90deg, rgba(217, 67, 44, 0.92), rgba(245, 173, 22, 0.2));
	content: "";
	transform: scaleX(0) skewX(-16deg);
}

.vb-hero-script {
	display: block;
	width: max-content;
	max-width: min(640px, 48vw);
	margin: 4px 0 0 3%;
	color: var(--vb-bone);
	font-family: "Vice Blacksword", "Brush Script MT", "Segoe Script", cursive;
	font-size: clamp(2rem, 3.35vw, 3.9rem);
	font-style: normal;
	font-weight: 400;
	line-height: 1;
	white-space: nowrap;
	text-transform: none;
	transform: rotate(-3deg);
}

.vb-hero-copy {
	max-width: 520px;
	margin: 24px 0 0;
	color: rgba(244, 239, 228, 0.84);
	font-size: clamp(1.1rem, 1.9vw, 1.45rem);
	font-weight: 700;
}

.vb-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 32px;
}

.vb-hero-visual {
	--vb-parallax-y: 0px;
	position: relative;
	z-index: 2;
	align-self: end;
	margin: 10px -2vw -54px -2vw;
	overflow: hidden;
	transform: translateY(var(--vb-parallax-y));
	transition: transform 120ms linear;
}

.vb-hero-visual::before {
	position: absolute;
	right: 2%;
	bottom: 0;
	left: 0;
	height: 34%;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.58);
	filter: blur(28px);
	content: "";
}

.vb-hero-visual img {
	position: relative;
	z-index: 2;
	width: min(620px, 102%);
	height: min(70vh, 690px);
	margin-left: auto;
	object-fit: cover;
	object-position: 100% 50%;
	filter: saturate(1.18) contrast(1.12) brightness(1.02) drop-shadow(0 42px 54px rgba(0, 0, 0, 0.66));
	clip-path: polygon(8% 2%, 100% 0, 100% 91%, 2% 100%);
	mask-image: radial-gradient(ellipse at 57% 50%, #000 0 54%, rgba(0, 0, 0, 0.92) 62%, transparent 78%);
}

.vb-hero-visual img[src="/reference-burger.jpg"] {
	transform: scale(1.82) translate(-13%, 7%);
	transform-origin: 78% 54%;
}

.vb-split-photo img[src="/reference-burger.jpg"],
.vb-specials-photo img[src="/reference-burger.jpg"],
.vb-menu-hero-photo img[src="/reference-burger.jpg"],
.vb-reservation-photo[src="/reference-burger.jpg"] {
	transform: scale(1.72) translate(-12%, 5%);
	transform-origin: 78% 52%;
}

.vb-badge {
	position: absolute;
	z-index: 4;
	display: grid;
	place-items: center;
	width: 128px;
	aspect-ratio: 1;
	border: 2px solid rgba(244, 239, 228, 0.85);
	border-radius: 50%;
	background: rgba(7, 9, 13, 0.68);
	box-shadow: inset 0 0 0 8px rgba(245, 173, 22, 0.13);
	text-align: center;
	text-transform: uppercase;
	animation: vb-float 5.8s ease-in-out infinite;
}

.vb-badge span {
	color: var(--vb-mustard);
	font-family: "Vice Blacksword", "Brush Script MT", "Segoe Script", cursive;
	font-size: 1.55rem;
	text-transform: none;
}

.vb-badge strong {
	display: block;
	margin-top: -18px;
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: 2rem;
}

.vb-badge-discount {
	top: 3%;
	right: 2%;
}

.vb-hand-note {
	position: absolute;
	top: 18%;
	left: 2%;
	z-index: 4;
	color: var(--vb-bone);
	font-family: "Vice Blacksword", "Brush Script MT", "Segoe Script", cursive;
	font-size: clamp(1.7rem, 4vw, 2.8rem);
	transform: rotate(-10deg);
	text-shadow: 0 10px 28px rgba(0, 0, 0, 0.45);
}

.vb-hand-note::after {
	display: block;
	width: 52px;
	height: 42px;
	margin: 2px 0 0 36px;
	border-bottom: 2px solid rgba(244, 239, 228, 0.7);
	border-left: 2px solid rgba(244, 239, 228, 0.7);
	border-radius: 0 0 0 36px;
	content: "";
	transform: rotate(-18deg);
}

.vb-hero-stamp {
	position: absolute;
	right: 38%;
	bottom: 30px;
	z-index: 3;
	display: grid;
	place-items: center;
	width: 138px;
	aspect-ratio: 1;
	border: 1px solid rgba(245, 173, 22, 0.62);
	border-radius: 50%;
	color: rgba(244, 239, 228, 0.76);
	font-size: 0.78rem;
	font-weight: 900;
	text-align: center;
	text-transform: uppercase;
	transform: rotate(-12deg);
}

.vb-hero-stamp span {
	display: block;
}

.vb-ticker {
	overflow: hidden;
	border-block: 1px solid rgba(244, 239, 228, 0.12);
	background: linear-gradient(90deg, var(--vb-mustard), #fbd05a);
	color: var(--vb-black);
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: clamp(1.6rem, 5vw, 4.2rem);
	line-height: 1;
	text-transform: uppercase;
}

.vb-marquee-track {
	display: flex;
	width: max-content;
	min-width: 100%;
	will-change: transform;
}

.vb-ticker .vb-marquee-track {
	padding: 12px 0;
	animation: vb-marquee 20s linear infinite;
}

.vb-marquee-set {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	gap: clamp(24px, 3vw, 42px);
	padding-right: clamp(24px, 3vw, 42px);
}

.vb-ticker span {
	display: inline-flex;
	align-items: center;
	gap: clamp(24px, 3vw, 42px);
	white-space: nowrap;
}

.vb-ticker span::after {
	width: 12px;
	height: 12px;
	background: var(--vb-ember);
	content: "";
	transform: rotate(45deg);
}

.vb-section {
	position: relative;
	padding: clamp(70px, 9vw, 128px) 0;
}

.vb-section-heading {
	max-width: 720px;
}

.vb-section-heading h2,
.vb-reservation-inner h2,
.vb-page-hero h1,
.vb-booking-copy h2,
.vb-contact-details h2 {
	position: relative;
	margin: 0;
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: clamp(3.2rem, 8.3vw, 8.1rem);
	line-height: 0.78;
	text-transform: uppercase;
	text-wrap: balance;
}

.vb-lead,
.vb-page-hero p,
.vb-booking-copy p,
.vb-location-panel p,
.vb-contact-details p {
	color: rgba(244, 239, 228, 0.78);
	font-size: clamp(1.05rem, 1.8vw, 1.35rem);
	font-weight: 650;
}

.vb-split {
	position: relative;
	overflow: hidden;
	background:
		linear-gradient(90deg, rgba(244, 239, 228, 0.04) 1px, transparent 1px),
		linear-gradient(180deg, rgba(245, 173, 22, 0.06), transparent 52%);
	background-size: 82px 82px, auto;
}

.vb-split-photo {
	position: absolute;
	right: max(-8vw, -120px);
	bottom: -86px;
	z-index: 0;
	width: min(48vw, 640px);
	opacity: 0.7;
	pointer-events: none;
	mix-blend-mode: normal;
}

.vb-split-photo img {
	width: 100%;
	height: 430px;
	object-fit: cover;
	object-position: 68% 48%;
	filter: saturate(1.02) contrast(1.08) brightness(0.92) drop-shadow(0 32px 54px rgba(0, 0, 0, 0.72));
	clip-path: none;
	mask-image:
		radial-gradient(ellipse at 73% 61%, #000 0 36%, rgba(0, 0, 0, 0.82) 48%, transparent 64%),
		linear-gradient(90deg, transparent 0, #000 38%, #000 100%);
	mask-composite: intersect;
}

.vb-split .vb-container {
	position: relative;
	z-index: 2;
}

.vb-split-grid,
.vb-menu-teaser-grid,
.vb-location-grid,
.vb-contact-grid,
.vb-booking-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(320px, 1.05fr);
	gap: clamp(36px, 6vw, 84px);
	align-items: center;
}

.vb-proof-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
	margin-top: 32px;
}

.vb-proof-grid div {
	min-height: 126px;
	padding: 18px;
	border: 1px solid rgba(244, 239, 228, 0.13);
	border-radius: var(--vb-radius);
	background: rgba(244, 239, 228, 0.045);
	transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.vb-proof-grid div:hover {
	border-color: rgba(245, 173, 22, 0.48);
	background: rgba(245, 173, 22, 0.08);
	transform: translateY(-4px);
}

.vb-proof-grid strong {
	display: block;
	color: var(--vb-mustard);
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: clamp(2.4rem, 5vw, 4.2rem);
	line-height: 0.9;
}

.vb-proof-grid span {
	display: block;
	margin-top: 10px;
	color: rgba(244, 239, 228, 0.72);
	font-weight: 800;
	text-transform: uppercase;
}

.vb-specials {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 78% 34%, rgba(245, 173, 22, 0.1), transparent 29rem),
		linear-gradient(90deg, #000 0%, rgba(0, 0, 0, 0.94) 38%, rgba(0, 0, 0, 0.72) 66%, #000 100%),
		#000;
}

.vb-specials-photo {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 0;
	width: min(60vw, 820px);
	pointer-events: none;
}

.vb-specials-photo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center right;
	opacity: 1;
	filter: none;
	clip-path: none;
	mask-image: none;
	-webkit-mask-image: none;
}

.vb-specials .vb-container {
	position: relative;
	z-index: 2;
}

.vb-specials .vb-section-heading {
	max-width: min(46vw, 560px);
}

.vb-special-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	margin-top: 38px;
}

.vb-special-card,
.vb-menu-card,
.vb-form-panel,
.vb-location-panel,
.vb-entry,
.vb-stamp-card {
	border: 1px solid rgba(244, 239, 228, 0.13);
	border-radius: var(--vb-radius);
	background:
		linear-gradient(145deg, rgba(244, 239, 228, 0.075), rgba(244, 239, 228, 0.025)),
		rgba(7, 9, 13, 0.76);
	box-shadow: 0 18px 48px rgba(0, 0, 0, 0.22);
}

.vb-info-list {
	display: grid;
	gap: 10px;
	margin: 24px 0;
	color: rgba(244, 239, 228, 0.82);
	font-weight: 900;
}

.vb-info-list span,
.vb-info-list a {
	display: flex;
	align-items: center;
	gap: 10px;
}

.vb-info-list span::before,
.vb-info-list a::before {
	width: 8px;
	height: 8px;
	background: var(--vb-ember);
	content: "";
	transform: rotate(45deg);
	flex: 0 0 auto;
}

.vb-info-list a {
	color: var(--vb-mustard);
	text-decoration: none;
	transition: color 180ms ease;
}

.vb-info-list a:hover,
.vb-info-list a:focus-visible {
	color: var(--vb-cream);
	outline: none;
}

.vb-special-card {
	position: relative;
	min-height: 320px;
	padding: 26px;
	overflow: hidden;
	border-color: rgba(245, 173, 22, 0.46);
	background: linear-gradient(145deg, rgba(245, 173, 22, 0.12), rgba(244, 239, 228, 0.035));
	transform: translateY(-8px);
	transition: transform 220ms ease, border-color 220ms ease, background 220ms ease;
}

.vb-special-card::after {
	position: absolute;
	right: -24px;
	bottom: -38px;
	color: rgba(244, 239, 228, 0.04);
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: 10rem;
	line-height: 1;
	text-transform: uppercase;
	content: "VB";
}

.vb-special-card:hover {
	border-color: rgba(244, 239, 228, 0.13);
	background:
		linear-gradient(145deg, rgba(244, 239, 228, 0.075), rgba(244, 239, 228, 0.025)),
		rgba(7, 9, 13, 0.76);
	transform: translateY(0);
}

.vb-special-card span {
	color: var(--vb-ember);
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: 3.1rem;
	line-height: 1;
}

.vb-special-card h3 {
	margin: 36px 0 14px;
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: clamp(2rem, 3.5vw, 3.2rem);
	line-height: 0.9;
	text-transform: uppercase;
}

.vb-special-card p {
	position: relative;
	z-index: 1;
	margin: 0;
	color: rgba(244, 239, 228, 0.74);
}

.vb-brand-band {
	position: relative;
	padding: clamp(54px, 7vw, 88px) 0;
	overflow: hidden;
	border-block: 1px solid rgba(244, 239, 228, 0.13);
	background:
		linear-gradient(90deg, rgba(7, 9, 13, 0.84), rgba(16, 29, 45, 0.72)),
		linear-gradient(135deg, rgba(245, 173, 22, 0.16), rgba(217, 67, 44, 0.11));
}

.vb-brand-band::before,
.vb-brand-band::after,
.vb-menu-teaser::before,
.vb-menu-teaser::after {
	position: absolute;
	pointer-events: none;
	content: "";
}

.vb-brand-band::before {
	inset: -34% -10%;
	z-index: 0;
	background:
		radial-gradient(circle at 18% 62%, rgba(245, 173, 22, 0.28), transparent 21rem),
		radial-gradient(circle at 76% 34%, rgba(217, 67, 44, 0.2), transparent 18rem),
		radial-gradient(circle at 46% 100%, rgba(245, 173, 22, 0.16), transparent 24rem);
	filter: blur(18px);
	animation: vb-ember-glow 6.5s ease-in-out infinite;
}

.vb-brand-band::after {
	left: 10%;
	top: 20%;
	z-index: 1;
	width: 4px;
	height: 4px;
	border-radius: 999px;
	background: #ffd37a;
	box-shadow:
		14vw 6vh 0 0 rgba(255, 190, 62, 0.9),
		36vw 20vh 0 1px rgba(217, 67, 44, 0.75),
		58vw 8vh 0 0 rgba(255, 229, 165, 0.78),
		78vw 24vh 0 1px rgba(245, 173, 22, 0.86),
		26vw 31vh 0 0 rgba(255, 118, 64, 0.65);
	filter: drop-shadow(0 0 8px rgba(245, 173, 22, 0.85));
	animation: vb-spark-flicker 1.8s linear infinite;
}

.vb-brand-band .vb-container {
	position: relative;
	z-index: 2;
}

.vb-brand-band-kicker {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin: 0 0 clamp(14px, 2vw, 24px);
	color: var(--vb-mustard);
	font-size: clamp(0.88rem, 1.5vw, 1.05rem);
	font-weight: 950;
	line-height: 1;
	text-align: center;
	text-transform: uppercase;
}

.vb-brand-band-kicker::before,
.vb-brand-band-kicker::after {
	width: clamp(28px, 5vw, 74px);
	height: 2px;
	background: currentColor;
	content: "";
}

.vb-brand-band-text {
	margin: 0;
	color: var(--vb-bone);
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: clamp(4.2rem, 13vw, 11.5rem);
	line-height: 0.74;
	text-align: center;
	text-transform: uppercase;
	text-shadow: 5px 5px 0 rgba(0, 0, 0, 0.42);
}

.vb-brand-band-script {
	width: max-content;
	max-width: calc(100vw - 32px);
	margin: 2px auto 0;
	color: var(--vb-mustard);
	font-family: "Vice Blacksword", "Brush Script MT", "Segoe Script", cursive;
	font-size: clamp(1.8rem, 3.8vw, 3.65rem);
	line-height: 1;
	text-align: center;
	white-space: nowrap;
	transform: rotate(-2deg);
}

.vb-menu-teaser {
	overflow: hidden;
	background:
		radial-gradient(circle at 74% 40%, rgba(217, 67, 44, 0.1), transparent 20rem),
		linear-gradient(180deg, rgba(16, 29, 45, 0.32), rgba(7, 9, 13, 0.1));
}

.vb-menu-teaser::before {
	inset: -18% -8%;
	z-index: 0;
	background:
		radial-gradient(ellipse at 18% 68%, rgba(244, 239, 228, 0.16), transparent 23rem),
		radial-gradient(ellipse at 74% 26%, rgba(244, 239, 228, 0.09), transparent 20rem),
		linear-gradient(115deg, transparent 0 28%, rgba(244, 239, 228, 0.06) 41%, transparent 56%);
	filter: blur(24px);
	opacity: 0.62;
	mix-blend-mode: screen;
	animation: vb-smoke-drift 9s ease-in-out infinite;
}

.vb-menu-teaser::after {
	display: none;
}

.vb-menu-teaser .vb-container,
.vb-menu-teaser-grid {
	position: relative;
	z-index: 2;
}

.vb-teaser-list {
	display: grid;
	gap: 14px;
}

.vb-menu-teaser .vb-section-heading h2 {
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	max-width: 680px;
	font-size: clamp(3rem, 6.1vw, 5.9rem);
	line-height: 0.96;
	letter-spacing: 0.012em;
	word-spacing: 0.12em;
}

.vb-teaser-list a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	min-height: 84px;
	padding: 18px 20px;
	border: 1px solid rgba(244, 239, 228, 0.14);
	border-radius: var(--vb-radius);
	background: rgba(244, 239, 228, 0.045);
	transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.vb-teaser-list a:hover,
.vb-teaser-list a:focus-visible {
	border-color: rgba(245, 173, 22, 0.55);
	background: rgba(245, 173, 22, 0.08);
	transform: translateX(8px);
	outline: none;
}

.vb-teaser-list span {
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: clamp(1.8rem, 4vw, 3.1rem);
	line-height: 0.9;
	text-transform: uppercase;
}

.vb-teaser-list strong {
	color: var(--vb-mustard);
	white-space: nowrap;
}

.vb-product-principles .vb-section-heading h2 {
	max-width: 760px;
}

.vb-principles-accordion {
	display: grid;
	gap: 14px;
}

.vb-principle-item {
	position: relative;
	overflow: hidden;
	border: 1px solid rgba(244, 239, 228, 0.14);
	border-radius: var(--vb-radius);
	background:
		linear-gradient(135deg, rgba(245, 173, 22, 0.09), rgba(244, 239, 228, 0.035)),
		rgba(7, 9, 13, 0.68);
	transition: transform 200ms ease, border-color 200ms ease, background 200ms ease;
}

.vb-principle-item::after {
	position: absolute;
	right: -18px;
	bottom: -34px;
	color: rgba(244, 239, 228, 0.035);
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: 7rem;
	line-height: 1;
	text-transform: uppercase;
	content: "VB";
	pointer-events: none;
}

.vb-principle-item:hover,
.vb-principle-item:focus-within,
.vb-principle-item[open] {
	border-color: rgba(245, 173, 22, 0.58);
	background:
		linear-gradient(135deg, rgba(245, 173, 22, 0.14), rgba(217, 67, 44, 0.055)),
		rgba(7, 9, 13, 0.76);
	transform: translateX(8px);
}

.vb-principle-item summary {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: clamp(14px, 2vw, 22px);
	min-height: 86px;
	padding: 20px 22px;
	color: var(--vb-cream);
	cursor: pointer;
	list-style: none;
	outline: none;
}

.vb-principle-item summary::-webkit-details-marker {
	display: none;
}

.vb-principle-item summary::after {
	margin-left: auto;
	color: var(--vb-mustard);
	font-size: 1.75rem;
	line-height: 1;
	content: "+";
	transition: transform 200ms ease;
}

.vb-principle-item[open] summary::after {
	transform: rotate(45deg);
}

.vb-principle-item summary span {
	color: var(--vb-ember);
	font-family: Impact, Haettenschweiler, "Arial Narrow Bold", "Arial Narrow", sans-serif;
	font-size: clamp(2.2rem, 5vw, 3.4rem);
	font-weight: 700;
	line-height: 1;
}

.vb-principle-item summary strong {
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: clamp(1.85rem, 4vw, 3.15rem);
	font-weight: 700;
	line-height: 0.92;
	text-transform: uppercase;
}

.vb-principle-item p {
	position: relative;
	z-index: 1;
	max-width: 640px;
	margin: -4px 22px 22px calc(22px + clamp(54px, 7vw, 78px));
	color: rgba(244, 239, 228, 0.76);
}

.vb-signature-showcase {
	position: relative;
	min-height: 120vh;
	overflow: clip;
	background:
		linear-gradient(180deg, #07090d 0%, #090d13 18%, #05070a 100%);
	isolation: isolate;
}

.vb-signature-showcase::before {
	position: absolute;
	inset: 0;
	z-index: -2;
	background:
		linear-gradient(rgba(244, 239, 228, 0.025) 1px, transparent 1px),
		linear-gradient(90deg, rgba(244, 239, 228, 0.018) 1px, transparent 1px);
	background-size: 38px 38px;
	mask-image: linear-gradient(180deg, transparent, #000 12%, #000 88%, transparent);
	content: "";
}

.vb-signature-showcase::after {
	position: fixed;
	inset: auto 0 0;
	z-index: -1;
	height: 46vh;
	background: radial-gradient(ellipse at 50% 100%, rgba(245, 173, 22, 0.12), transparent 64%);
	pointer-events: none;
	content: "";
}

.vb-signature-intro,
.vb-signature-outro {
	position: relative;
	z-index: 4;
	width: min(100% - 32px, 1160px);
	margin: 0 auto;
	text-align: center;
}

.vb-signature-intro {
	display: grid;
	place-items: center;
	min-height: 100vh;
	padding: clamp(80px, 10vw, 150px) 0;
}

.vb-signature-intro h2 {
	margin: 0;
	color: var(--vb-bone);
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: clamp(4.7rem, 14vw, 13.8rem);
	line-height: 0.76;
	text-transform: uppercase;
	text-shadow: 7px 7px 0 rgba(0, 0, 0, 0.56);
}

.vb-signature-intro > p:not(.vb-small-label) {
	max-width: 640px;
	margin: 26px auto 0;
	color: rgba(244, 239, 228, 0.72);
	font-size: clamp(1.08rem, 2vw, 1.35rem);
}

.vb-signature-scene {
	--scene-progress: 0;
	position: relative;
	min-height: 136vh;
}

.vb-signature-stage {
	position: sticky;
	top: 0;
	display: grid;
	min-height: 100vh;
	overflow: hidden;
	padding: clamp(82px, 8vw, 120px) clamp(20px, 5vw, 72px) clamp(44px, 5vw, 76px);
	background:
		radial-gradient(circle at var(--vb-light-x, 68%) 44%, var(--vb-scene-glow, rgba(245, 173, 22, 0.24)), transparent 26rem),
		linear-gradient(115deg, rgba(244, 239, 228, 0.03), transparent 42%),
		var(--vb-scene-bg, #07090d);
	isolation: isolate;
}

.vb-signature-stage::before,
.vb-signature-stage::after {
	position: absolute;
	inset: 0;
	pointer-events: none;
	content: "";
}

.vb-signature-stage::before {
	z-index: -2;
	background:
		radial-gradient(circle at 18% 72%, rgba(245, 173, 22, 0.13), transparent 16rem),
		radial-gradient(circle at 82% 24%, rgba(244, 239, 228, 0.07), transparent 20rem);
	opacity: calc(0.46 + (var(--scene-progress) * 0.4));
}

.vb-signature-stage::after {
	z-index: 5;
	background:
		linear-gradient(rgba(255, 255, 255, 0.018) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.014) 1px, transparent 1px);
	background-size: 5px 5px;
	mix-blend-mode: screen;
	opacity: 0.16;
}

.vb-signature-name {
	position: absolute;
	left: clamp(-10px, 2vw, 40px);
	top: 50%;
	z-index: -1;
	width: 120%;
	color: rgba(244, 239, 228, 0.055);
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: clamp(6.8rem, 18vw, 20rem);
	line-height: 0.72;
	text-transform: uppercase;
	transform: translate3d(calc((var(--scene-progress) - 0.5) * -70px), -50%, 0);
	transition: color 240ms ease;
	white-space: nowrap;
}

.vb-signature-media {
	position: absolute;
	right: clamp(-80px, -5vw, -24px);
	top: 50%;
	z-index: 1;
	width: min(76vw, 980px);
	aspect-ratio: 1.12 / 1;
	filter: drop-shadow(0 44px 70px rgba(0, 0, 0, 0.62));
	transform:
		translate3d(0, calc(-50% + (var(--scene-progress) - 0.5) * var(--vb-layer-speed, -30) * 1px), 0)
		scale(calc(0.94 + (var(--scene-progress) * 0.09)));
	transition: filter 240ms ease;
}

.vb-signature-media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	transform: rotate(calc((var(--scene-progress) - 0.5) * 2.6deg));
	transition: transform 320ms ease, filter 240ms ease;
}

.vb-signature-scene:hover .vb-signature-media img {
	filter: saturate(1.18) contrast(1.08);
	transform: rotate(calc((var(--scene-progress) - 0.5) * 2.6deg)) scale(1.035);
}

.vb-signature-copy {
	align-self: center;
	z-index: 3;
	width: min(42vw, 560px);
	transform: translate3d(0, calc((1 - var(--scene-progress)) * 34px), 0);
	opacity: calc(0.32 + (var(--scene-progress) * 0.68));
}

.vb-signature-copy h3 {
	margin: 0;
	color: var(--vb-bone);
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: clamp(4rem, 10vw, 10rem);
	line-height: 0.78;
	text-transform: uppercase;
	text-shadow: 6px 6px 0 rgba(0, 0, 0, 0.5);
}

.vb-signature-copy strong {
	display: inline-flex;
	margin: 18px 0 14px;
	padding: 10px 16px;
	border: 1px solid rgba(7, 9, 13, 0.5);
	background: var(--vb-mustard);
	color: #071019;
	font-size: clamp(1.15rem, 2vw, 1.55rem);
	font-weight: 950;
}

.vb-signature-copy > p:not(.vb-small-label) {
	max-width: 440px;
	margin: 0;
	color: rgba(244, 239, 228, 0.78);
	font-size: clamp(1.02rem, 1.6vw, 1.22rem);
}

.vb-signature-ingredients {
	position: absolute;
	right: clamp(20px, 4vw, 64px);
	bottom: clamp(28px, 5vw, 70px);
	z-index: 4;
	display: grid;
	gap: 8px;
	width: min(38vw, 420px);
	margin: 0;
	padding: 0;
	list-style: none;
	transform: translate3d(0, calc((1 - var(--scene-progress)) * var(--vb-layer-speed, 34) * 1px), 0);
}

.vb-signature-ingredients li {
	width: max-content;
	max-width: 100%;
	padding: 8px 12px;
	border: 1px solid rgba(244, 239, 228, 0.16);
	background: rgba(7, 9, 13, 0.68);
	color: rgba(244, 239, 228, 0.84);
	font-size: clamp(0.78rem, 1.15vw, 0.96rem);
	font-weight: 850;
	text-transform: uppercase;
	backdrop-filter: blur(10px);
	opacity: calc(0.12 + (var(--scene-progress) * 0.88));
	transform: translateX(calc((1 - var(--scene-progress)) * 36px));
	transition: border-color 180ms ease, background 180ms ease;
}

.vb-signature-ingredients li:nth-child(2n) {
	margin-left: clamp(18px, 3vw, 58px);
	transition-delay: 40ms;
}

.vb-signature-ingredients li:nth-child(3n) {
	margin-left: clamp(4px, 1.5vw, 26px);
	transition-delay: 80ms;
}

.vb-signature-scene:hover .vb-signature-ingredients li {
	border-color: rgba(245, 173, 22, 0.54);
	background: rgba(245, 173, 22, 0.09);
}

.vb-signature-trufada {
	--vb-scene-bg: #07090d;
	--vb-scene-glow: rgba(245, 173, 22, 0.24);
	--vb-light-x: 78%;
}

.vb-signature-trufada .vb-signature-stage {
	background:
		radial-gradient(circle at 76% 42%, rgba(245, 173, 22, 0.26), transparent 24rem),
		radial-gradient(circle at 28% 78%, rgba(217, 67, 44, 0.1), transparent 19rem),
		#07090d;
}

.vb-signature-trufada .vb-signature-stage::before {
	background-image:
		radial-gradient(circle, rgba(245, 173, 22, 0.75) 0 1px, transparent 1.6px),
		radial-gradient(circle, rgba(244, 239, 228, 0.32) 0 1px, transparent 1.4px);
	background-position: 0 0, 38px 62px;
	background-size: 118px 118px, 172px 172px;
	animation: vb-signature-particles 16s linear infinite;
}

.vb-signature-txapela .vb-signature-stage {
	background:
		linear-gradient(105deg, rgba(8, 23, 21, 0.94), rgba(7, 9, 13, 0.76) 48%, rgba(57, 15, 10, 0.62)),
		#071019;
}

.vb-signature-txapela .vb-signature-media {
	left: 42%;
	right: auto;
	width: min(82vw, 1080px);
}

.vb-signature-txapela .vb-signature-copy {
	margin-left: auto;
	text-align: right;
}

.vb-signature-txapela .vb-signature-copy > p:not(.vb-small-label) {
	margin-left: auto;
}

.vb-signature-txapela .vb-signature-ingredients {
	left: clamp(20px, 4vw, 64px);
	right: auto;
}

.vb-signature-txapela .vb-signature-name {
	left: auto;
	right: -8vw;
	text-align: right;
}

.vb-signature-antigua .vb-signature-stage {
	background:
		radial-gradient(circle at 72% 40%, rgba(244, 239, 228, 0.16), transparent 22rem),
		linear-gradient(135deg, rgba(20, 18, 15, 0.96), rgba(7, 9, 13, 0.88));
}

.vb-signature-antigua .vb-signature-name {
	color: rgba(245, 173, 22, 0.07);
}

.vb-signature-antigua .vb-signature-media {
	filter: drop-shadow(0 50px 90px rgba(0, 0, 0, 0.72)) saturate(0.96);
}

.vb-signature-outro {
	display: grid;
	place-items: center;
	gap: 24px;
	min-height: 70vh;
	padding: 80px 0 120px;
}

.vb-signature-outro p {
	margin: 0;
	color: var(--vb-bone);
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: clamp(3.4rem, 9vw, 9rem);
	line-height: 0.8;
	text-align: center;
	text-transform: uppercase;
}

@keyframes vb-signature-particles {
	from {
		background-position: 0 0, 38px 62px;
	}
	to {
		background-position: 118px -118px, 210px -110px;
	}
}

.vb-signature-showcase-legacy {
	display: none;
}

.vb-signature-showcase {
	min-height: auto;
	padding: clamp(48px, 6vw, 86px) 0 clamp(64px, 8vw, 112px);
	background:
		radial-gradient(circle at 50% 48%, rgba(245, 173, 22, 0.14), transparent 25rem),
		radial-gradient(circle at 18% 72%, rgba(217, 67, 44, 0.11), transparent 19rem),
		radial-gradient(circle at 86% 28%, rgba(24, 146, 205, 0.12), transparent 22rem),
		linear-gradient(180deg, #05070a 0%, #0b1118 44%, #05070a 100%);
}

.vb-signature-showcase::after {
	position: absolute;
	inset: 0;
	z-index: -1;
	height: auto;
	background:
		linear-gradient(90deg, transparent 0 8%, rgba(244, 239, 228, 0.035) 8.2% 8.35%, transparent 8.55%),
		radial-gradient(ellipse at 50% 100%, rgba(245, 173, 22, 0.16), transparent 54%);
	content: "";
}

.vb-signature-campaign {
	position: relative;
	z-index: 1;
	width: min(100% - 32px, 1240px);
	margin: 0 auto;
}

.vb-signature-campaign-head {
	display: grid;
	grid-template-columns: minmax(0, 0.72fr) minmax(280px, 0.28fr);
	gap: clamp(18px, 3vw, 44px);
	align-items: center;
	margin-bottom: clamp(12px, 2.2vw, 30px);
}

.vb-signature-campaign-head h2 {
	max-width: 9.2ch;
	margin: 0;
	color: var(--vb-bone);
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: clamp(4.1rem, 8.3vw, 9rem);
	letter-spacing: 0.018em;
	line-height: 0.82;
	text-transform: uppercase;
	text-shadow: 7px 7px 0 rgba(0, 0, 0, 0.52);
}

.vb-signature-campaign-head p {
	max-width: 330px;
	margin: clamp(28px, 7vw, 72px) 0 0;
	color: rgba(244, 239, 228, 0.72);
	font-size: clamp(1rem, 1.4vw, 1.18rem);
}

.vb-signature-orbit {
	position: relative;
	min-height: clamp(650px, 78vw, 860px);
	overflow: hidden;
	border: 1px solid rgba(245, 173, 22, 0.24);
	background:
		linear-gradient(135deg, rgba(244, 239, 228, 0.055), transparent 34%),
		radial-gradient(circle at 50% 42%, rgba(245, 173, 22, 0.15), transparent 22rem),
		rgba(7, 9, 13, 0.72);
	box-shadow: 0 32px 110px rgba(0, 0, 0, 0.44);
	isolation: isolate;
}

.vb-signature-orbit::before,
.vb-signature-orbit::after {
	position: absolute;
	pointer-events: none;
	content: "";
}

.vb-signature-orbit::before {
	inset: 0;
	z-index: -2;
	background:
		radial-gradient(circle, rgba(245, 173, 22, 0.8) 0 1px, transparent 1.7px),
		radial-gradient(circle, rgba(244, 239, 228, 0.24) 0 1px, transparent 1.4px);
	background-position: 0 0, 54px 80px;
	background-size: 126px 126px, 184px 184px;
	opacity: 0.28;
	animation: vb-signature-particles 18s linear infinite;
}

.vb-signature-orbit::after {
	inset: auto 9% 8%;
	z-index: -1;
	height: 14%;
	background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.76), transparent 70%);
	filter: blur(10px);
}

.vb-signature-watermark {
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: -1;
	color: rgba(244, 239, 228, 0.045);
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: clamp(7rem, 18vw, 18rem);
	line-height: 0.75;
	text-align: center;
	text-transform: uppercase;
	transform: translate(-50%, -50%) rotate(-4deg);
	white-space: nowrap;
}

.vb-signature-piece {
	position: absolute;
	display: grid;
	align-content: end;
	min-width: 0;
	border: 1px solid rgba(244, 239, 228, 0.11);
	background: linear-gradient(180deg, rgba(244, 239, 228, 0.05), rgba(7, 9, 13, 0.2));
	transition: z-index 0ms linear 160ms, transform 260ms ease, border-color 260ms ease, filter 260ms ease;
}

.vb-signature-piece::before {
	position: absolute;
	left: 18px;
	top: 16px;
	z-index: 3;
	color: rgba(245, 173, 22, 0.72);
	font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: clamp(3.4rem, 7vw, 6.6rem);
	font-weight: 900;
	line-height: 1;
	content: counter(vb-piece, decimal-leading-zero);
	counter-reset: vb-piece var(--vb-piece-index);
	mix-blend-mode: screen;
}

.vb-signature-piece-image {
	position: absolute;
	inset: 0;
	overflow: hidden;
}

.vb-signature-piece-image::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 32%, rgba(0, 0, 0, 0.88));
	content: "";
}

.vb-signature-piece-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	filter: saturate(1.08) contrast(1.04);
	transform: scale(1.04);
	transition: transform 420ms ease, filter 260ms ease;
}

.vb-signature-piece-copy {
	position: relative;
	z-index: 2;
	padding: clamp(18px, 2.6vw, 30px);
	transform: translateY(42px);
	transition: transform 260ms ease;
}

.vb-signature-piece-copy span {
	display: inline-block;
	margin-bottom: 8px;
	color: var(--vb-mustard);
	font-size: 0.78rem;
	font-weight: 950;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.vb-signature-piece-copy h3 {
	margin: 0;
	color: var(--vb-bone);
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: clamp(2.6rem, 5.2vw, 6.4rem);
	line-height: 0.78;
	text-transform: uppercase;
	text-shadow: 5px 5px 0 rgba(0, 0, 0, 0.54);
}

.vb-signature-piece-copy p {
	max-width: 360px;
	margin: 12px 0 0;
	color: rgba(244, 239, 228, 0.78);
	opacity: 0;
	transform: translateY(12px);
	transition: opacity 220ms ease, transform 220ms ease;
}

.vb-signature-piece:hover,
.vb-signature-piece:focus-within {
	z-index: 6;
	border-color: rgba(245, 173, 22, 0.72);
	filter: drop-shadow(0 28px 54px rgba(0, 0, 0, 0.46));
	transition-delay: 0ms;
}

.vb-signature-piece:hover .vb-signature-piece-image img,
.vb-signature-piece:focus-within .vb-signature-piece-image img {
	filter: saturate(1.28) contrast(1.1);
	transform: scale(1.12);
}

.vb-signature-piece:hover .vb-signature-piece-copy,
.vb-signature-piece:focus-within .vb-signature-piece-copy {
	transform: translateY(0);
}

.vb-signature-piece:hover .vb-signature-piece-copy p,
.vb-signature-piece:focus-within .vb-signature-piece-copy p {
	opacity: 1;
	transform: translateY(0);
}

.vb-signature-piece-left {
	left: clamp(18px, 5vw, 80px);
	top: 22%;
	z-index: 2;
	width: min(31vw, 390px);
	height: min(44vw, 520px);
	transform: rotate(-5deg);
}

.vb-signature-piece-center {
	left: 50%;
	top: 50%;
	z-index: 4;
	width: min(43vw, 570px);
	height: min(55vw, 680px);
	transform: translate(-50%, -46%);
}

.vb-signature-piece-right {
	right: clamp(18px, 4vw, 72px);
	top: 28%;
	z-index: 3;
	width: min(32vw, 410px);
	height: min(43vw, 510px);
	transform: rotate(4deg);
}

.vb-signature-piece-left:hover {
	transform: rotate(-2deg) translate(18px, -14px) scale(1.04);
}

.vb-signature-piece-center:hover {
	transform: translate(-50%, -48%) scale(1.045);
}

.vb-signature-piece-right:hover {
	transform: rotate(2deg) translate(-18px, -14px) scale(1.04);
}

.vb-signature-badge {
	position: absolute;
	right: clamp(24px, 5vw, 76px);
	bottom: clamp(22px, 4vw, 58px);
	z-index: 7;
	display: grid;
	place-items: center;
	width: clamp(104px, 11vw, 150px);
	aspect-ratio: 1;
	border: 2px solid rgba(245, 173, 22, 0.86);
	border-radius: 999px;
	background: rgba(7, 9, 13, 0.72);
	color: var(--vb-mustard);
	text-align: center;
	text-transform: uppercase;
	transform: rotate(9deg);
	backdrop-filter: blur(8px);
}

.vb-signature-badge span {
	font-size: 0.74rem;
	font-weight: 950;
	letter-spacing: 0.12em;
}

.vb-signature-badge strong {
	color: var(--vb-bone);
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: clamp(1.8rem, 3vw, 3rem);
	line-height: 0.8;
}

.vb-signature-campaign-footer {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 22px;
	margin-top: clamp(28px, 4vw, 48px);
}

.vb-signature-campaign-footer p {
	margin: 0;
	color: var(--vb-bone);
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: clamp(2.2rem, 5vw, 5rem);
	line-height: 0.8;
	text-transform: uppercase;
}

.vb-card-lab {
	background:
		radial-gradient(circle at 82% 12%, rgba(245, 173, 22, 0.12), transparent 22rem),
		linear-gradient(180deg, rgba(7, 9, 13, 0.92), rgba(16, 29, 45, 0.38));
}

.vb-card-lab-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(18px, 3vw, 34px);
	margin-top: clamp(30px, 4vw, 52px);
}

.vb-dish-card {
	position: relative;
	overflow: hidden;
	min-height: 520px;
	border: 1px solid rgba(245, 173, 22, 0.28);
	border-radius: var(--vb-radius);
	background: rgba(7, 9, 13, 0.8);
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.34);
	transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

.vb-dish-card:hover {
	border-color: rgba(245, 173, 22, 0.72);
	box-shadow: 0 30px 90px rgba(0, 0, 0, 0.48);
	transform: translateY(-6px);
}

.vb-dish-card img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 520ms ease, filter 220ms ease;
}

.vb-dish-card:hover img {
	transform: scale(1.045);
}

.vb-dish-card h3 {
	margin: 0;
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: clamp(2.25rem, 5vw, 4.65rem);
	line-height: 0.86;
	text-transform: uppercase;
}

.vb-dish-card p {
	margin: 12px 0 0;
	color: rgba(244, 239, 228, 0.74);
}

.vb-dish-card em {
	display: inline-block;
	margin-bottom: 12px;
	color: var(--vb-mustard);
	font-size: 0.78rem;
	font-style: normal;
	font-weight: 950;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.vb-dish-card strong {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 18px;
	padding: 10px 14px;
	border-radius: 999px;
	background: var(--vb-mustard);
	color: #071019;
	font-size: 1.1rem;
	font-weight: 950;
}

.vb-dish-card ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}

.vb-dish-card li {
	padding: 7px 10px;
	border: 1px solid rgba(244, 239, 228, 0.18);
	border-radius: 999px;
	color: rgba(244, 239, 228, 0.82);
	font-size: 0.78rem;
	font-weight: 800;
	text-transform: uppercase;
}

.vb-dish-poster img,
.vb-dish-brutal img,
.vb-dish-closeup img {
	position: absolute;
	inset: 0;
}

.vb-dish-poster::after,
.vb-dish-brutal::after,
.vb-dish-closeup::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 28%, rgba(0, 0, 0, 0.9));
	content: "";
}

.vb-dish-poster div,
.vb-dish-brutal div,
.vb-dish-closeup div {
	position: absolute;
	inset: auto 24px 24px;
	z-index: 1;
}

.vb-dish-float {
	display: grid;
	align-items: end;
	padding: 26px;
	background:
		linear-gradient(145deg, rgba(245, 173, 22, 0.16), rgba(217, 67, 44, 0.06)),
		#07090d;
}

.vb-dish-float > span,
.vb-dish-metal > span {
	position: absolute;
	top: 18px;
	left: 22px;
	color: rgba(217, 67, 44, 0.9);
	font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: 4.4rem;
	font-weight: 900;
	line-height: 1;
}

.vb-dish-float img {
	position: absolute;
	top: -6%;
	right: -20%;
	width: 118%;
	height: 74%;
	object-fit: cover;
	object-position: 52% 62%;
	clip-path: ellipse(47% 38% at 53% 54%);
	filter: drop-shadow(0 32px 38px rgba(0, 0, 0, 0.58));
}

.vb-dish-float div {
	position: relative;
	z-index: 1;
	max-width: 82%;
}

.vb-dish-diagonal {
	display: grid;
	grid-template-columns: 0.92fr 1.08fr;
	background: #07090d;
}

.vb-dish-diagonal div {
	position: relative;
	z-index: 1;
	padding: 32px;
}

.vb-dish-diagonal img {
	clip-path: polygon(18% 0, 100% 0, 100% 100%, 0 100%);
}

.vb-dish-editorial {
	background: rgba(244, 239, 228, 0.045);
}

.vb-dish-editorial img {
	height: 58%;
}

.vb-dish-editorial div {
	padding: 24px;
}

.vb-dish-editorial h3 {
	font-size: clamp(2rem, 4vw, 3.25rem);
}

.vb-dish-brutal {
	border-color: rgba(244, 239, 228, 0.24);
	background: #000;
}

.vb-dish-brutal img {
	filter: grayscale(0.9) contrast(1.45) brightness(0.82);
}

.vb-dish-brutal::before {
	position: absolute;
	inset: 16px;
	z-index: 1;
	border: 2px solid rgba(245, 173, 22, 0.78);
	content: "";
	pointer-events: none;
}

.vb-dish-brutal h3 {
	color: var(--vb-bone);
	text-shadow: 4px 4px 0 #000;
}

.vb-dish-metal {
	display: grid;
	grid-template-rows: 58% 1fr;
	padding: 20px;
	background:
		linear-gradient(135deg, rgba(244, 239, 228, 0.1), rgba(244, 239, 228, 0.02)),
		#0b1118;
}

.vb-dish-metal img {
	border: 1px solid rgba(244, 239, 228, 0.14);
	filter: saturate(1.05) contrast(1.08);
}

.vb-dish-metal div {
	padding-top: 18px;
}

.vb-dish-expand img {
	position: absolute;
	inset: 0;
}

.vb-dish-expand div {
	position: absolute;
	inset: auto 18px 18px;
	padding: 20px;
	border: 1px solid rgba(244, 239, 228, 0.16);
	background: rgba(7, 9, 13, 0.78);
	backdrop-filter: blur(10px);
	transform: translateY(calc(100% - 98px));
	transition: transform 260ms ease;
}

.vb-dish-expand:hover div {
	transform: translateY(0);
}

.vb-dish-horizontal {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
	min-height: 360px;
}

.vb-dish-horizontal div {
	align-self: center;
	padding: 28px;
}

.vb-dish-polaroid {
	display: grid;
	align-content: center;
	justify-items: center;
	padding: 30px;
	background:
		linear-gradient(145deg, rgba(245, 173, 22, 0.1), transparent),
		#07090d;
}

.vb-dish-polaroid figure {
	width: min(78%, 380px);
	margin: 0 0 26px;
	padding: 12px 12px 42px;
	background: var(--vb-bone);
	box-shadow: 0 24px 55px rgba(0, 0, 0, 0.45);
	transform: rotate(-3deg);
}

.vb-dish-polaroid figure img {
	aspect-ratio: 1 / 1;
}

.vb-dish-polaroid div {
	text-align: center;
}

.vb-dish-closeup img {
	object-position: 50% 62%;
	transform: scale(1.26);
}

.vb-dish-closeup:hover img {
	transform: scale(1.34);
}

.vb-reservation-band {
	position: relative;
	overflow: hidden;
	background:
		linear-gradient(135deg, rgba(245, 173, 22, 0.94), rgba(245, 173, 22, 0.78)),
		linear-gradient(90deg, rgba(217, 67, 44, 0.28), rgba(38, 61, 89, 0.22));
	color: var(--vb-black);
}

.vb-reservation-band::before {
	position: absolute;
	inset: 0;
	z-index: 1;
	content: "";
	background:
		linear-gradient(90deg, rgba(245, 173, 22, 0.98) 0 52%, rgba(245, 173, 22, 0.74) 64%, rgba(7, 9, 13, 0.4)),
		repeating-linear-gradient(0deg, rgba(7, 9, 13, 0.12) 0 1px, transparent 1px 14px);
}

.vb-reservation-photo {
	position: absolute;
	right: -3vw;
	bottom: -18%;
	z-index: 0;
	width: min(48vw, 680px);
	height: 132%;
	object-fit: cover;
	object-position: 70% 52%;
	filter: saturate(1.25) contrast(1.16) brightness(0.82);
	clip-path: polygon(18% 0, 100% 0, 100% 100%, 0 88%);
}

.vb-reservation-inner {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 0.78fr);
	gap: 18px;
	align-items: start;
}

.vb-reservation-inner .vb-small-label,
.vb-reservation-inner .vb-button {
	color: var(--vb-black);
}

.vb-reservation-inner .vb-button-primary {
	width: fit-content;
	min-width: 230px;
	margin-top: 14px;
	border-color: rgba(7, 9, 13, 0.2);
	background: var(--vb-black);
	color: var(--vb-bone);
	box-shadow: 0 20px 48px rgba(7, 9, 13, 0.26);
}

.vb-location-panel {
	padding: clamp(24px, 4vw, 40px);
}

.vb-location-map {
	position: relative;
	grid-column: 1 / -1;
	margin: clamp(22px, 4vw, 42px) 0 0;
	overflow: hidden;
	border: 1px solid rgba(245, 173, 22, 0.28);
	border-radius: var(--vb-radius);
	background: rgba(7, 9, 13, 0.86);
	box-shadow: 0 32px 90px rgba(0, 0, 0, 0.48);
}

.vb-location-map::after {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		linear-gradient(180deg, rgba(7, 9, 13, 0.04), rgba(7, 9, 13, 0.16)),
		repeating-linear-gradient(0deg, rgba(244, 239, 228, 0.06) 0 1px, transparent 1px 12px);
	content: "";
	mix-blend-mode: soft-light;
}

.vb-location-map img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 8.8;
	object-fit: cover;
	object-position: center;
	filter: saturate(1.06) contrast(1.04);
}

.vb-location-map > a {
	display: block;
}

.vb-link-arrow {
	display: inline-flex;
	align-items: center;
	margin-top: 20px;
	color: var(--vb-mustard);
	font-weight: 950;
	text-transform: uppercase;
}

.vb-link-arrow::after {
	width: 28px;
	height: 2px;
	margin-left: 12px;
	background: currentColor;
	content: "";
	transition: transform 180ms ease;
}

.vb-link-arrow:hover::after,
.vb-link-arrow:focus-visible::after {
	transform: translateX(6px);
}

.vb-page-hero {
	position: relative;
	overflow: hidden;
	padding: clamp(76px, 10vw, 140px) 0 clamp(56px, 8vw, 96px);
	background:
		linear-gradient(90deg, rgba(7, 9, 13, 0.98), rgba(16, 29, 45, 0.82)),
		radial-gradient(circle at 74% 28%, rgba(245, 173, 22, 0.16), transparent 24rem);
	border-bottom: 1px solid rgba(244, 239, 228, 0.12);
}

.vb-page-hero::before {
	position: absolute;
	inset: 0;
	pointer-events: none;
	content: "";
	background:
		linear-gradient(90deg, rgba(244, 239, 228, 0.04) 1px, transparent 1px),
		linear-gradient(rgba(244, 239, 228, 0.03) 1px, transparent 1px);
	background-size: 66px 66px;
}

.vb-page-hero-inner {
	position: relative;
	z-index: 2;
	width: min(960px, calc(100% - 40px));
	margin-inline: auto;
}

.vb-page-hero p:not(.vb-small-label) {
	max-width: 680px;
	margin: 22px 0 0;
}

.vb-page-watermark {
	position: absolute;
	right: -2vw;
	bottom: -1rem;
	color: rgba(244, 239, 228, 0.04);
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: clamp(7rem, 22vw, 18rem);
	line-height: 0.75;
	text-transform: uppercase;
	pointer-events: none;
}

.vb-page-hero-menu {
	min-height: clamp(620px, 78vh, 820px);
	padding-top: clamp(72px, 8vw, 120px);
	padding-bottom: clamp(360px, 30vw, 500px);
	background: #000;
	isolation: isolate;
	overflow: hidden;
}

.vb-page-hero-menu .vb-page-hero-inner {
	max-width: 360px;
	margin-left: max(20px, calc((100vw - 1260px) / 2));
	margin-right: auto;
	text-shadow: 0 4px 28px rgba(0, 0, 0, 0.86);
}

.vb-page-hero-menu .vb-page-hero-inner h1 {
	font-size: clamp(2.65rem, 4.4vw, 4.45rem);
}

.vb-page-hero-menu .vb-page-hero-inner p:not(.vb-small-label) {
	max-width: 320px;
}

.vb-menu-hero-photo {
	position: absolute;
	left: 50%;
	right: auto;
	bottom: 0;
	z-index: 1;
	width: min(100vw, 1680px);
	transform: translateX(-50%);
	pointer-events: none;
}

.vb-menu-hero-photo.vb-reveal,
.vb-menu-hero-photo.vb-reveal.is-visible {
	transform: translateX(-50%);
}

.vb-menu-hero-photo img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: contain;
	object-position: center bottom;
	filter: none;
	clip-path: none;
	mask-image: none;
	-webkit-mask-image: none;
}

.vb-menu-page {
	background: linear-gradient(180deg, rgba(244, 239, 228, 0.03), transparent);
}

.vb-menu-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.vb-menu-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 352px;
	padding: clamp(22px, 4vw, 34px);
	overflow: hidden;
	transition: transform 220ms ease, border-color 220ms ease, background 220ms ease;
}

.vb-menu-card::after {
	position: absolute;
	right: 20px;
	bottom: 8px;
	color: rgba(244, 239, 228, 0.035);
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: 9rem;
	line-height: 0.8;
	content: "VICE";
}

.vb-menu-card:hover {
	border-color: rgba(245, 173, 22, 0.52);
	background:
		linear-gradient(145deg, rgba(245, 173, 22, 0.11), rgba(217, 67, 44, 0.055)),
		rgba(7, 9, 13, 0.82);
	transform: translateY(-6px);
}

.vb-menu-card-top {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 20px;
}

.vb-menu-card-top em {
	padding: 6px 10px;
	border: 1px solid rgba(245, 173, 22, 0.46);
	border-radius: 999px;
	color: var(--vb-mustard);
	font-size: 0.82rem;
	font-style: normal;
	font-weight: 900;
	text-transform: uppercase;
}

.vb-menu-card h2 {
	position: relative;
	z-index: 1;
	isolation: isolate;
	margin: 42px 0 16px;
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: clamp(2.8rem, 6vw, 5.2rem);
	line-height: 0.82;
	text-transform: uppercase;
	transition: color 180ms ease, filter 180ms ease, text-shadow 180ms ease, transform 180ms ease;
}

.vb-menu-card p {
	position: relative;
	z-index: 1;
	max-width: 520px;
	margin: 0;
	color: rgba(244, 239, 228, 0.76);
}

.vb-menu-card strong {
	position: relative;
	z-index: 1;
	margin-top: auto;
	padding-top: 34px;
	color: var(--vb-mustard);
	font-family: "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
	font-size: clamp(1.7rem, 3vw, 2.4rem);
	font-weight: 900;
	line-height: 1;
}

.vb-menu-polaroid-section {
	position: relative;
	background:
		radial-gradient(circle at 86% 18%, rgba(245, 173, 22, 0.1), transparent 19rem),
		linear-gradient(180deg, rgba(16, 29, 45, 0.2), rgba(7, 9, 13, 0.92));
}

.vb-menu-polaroid-section + .vb-menu-polaroid-section {
	padding-top: 0;
}

.vb-menu-polaroid-section .vb-section-heading {
	margin-bottom: clamp(28px, 4vw, 48px);
}

.vb-menu-polaroid-section .vb-section-heading h2 {
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: clamp(4rem, 10vw, 9rem);
	letter-spacing: 0.025em;
	line-height: 0.78;
	text-transform: uppercase;
}

.vb-menu-polaroid-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(18px, 3vw, 34px);
}

.vb-menu-polaroid-card {
	position: relative;
	display: grid;
	align-content: center;
	justify-items: center;
	min-height: 430px;
	padding: clamp(22px, 3vw, 34px);
	overflow: hidden;
	border: 1px solid rgba(245, 173, 22, 0.34);
	border-radius: var(--vb-radius);
	background:
		linear-gradient(145deg, rgba(245, 173, 22, 0.1), rgba(244, 239, 228, 0.025)),
		#071019;
	box-shadow: 0 24px 62px rgba(0, 0, 0, 0.32);
	transition: transform 220ms ease, border-color 220ms ease, background 220ms ease, box-shadow 220ms ease;
}

.vb-menu-polaroid-card::after {
	position: absolute;
	right: -20px;
	bottom: -34px;
	color: rgba(244, 239, 228, 0.035);
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: 8rem;
	line-height: 1;
	content: "VB";
	pointer-events: none;
}

.vb-menu-polaroid-card:hover {
	border-color: rgba(245, 173, 22, 0.74);
	background:
		linear-gradient(145deg, rgba(245, 173, 22, 0.14), rgba(217, 67, 44, 0.055)),
		#071019;
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.46);
	transform: translateY(-8px) rotate(-0.6deg);
}

.vb-menu-polaroid-card figure {
	position: relative;
	z-index: 1;
	width: min(82%, 330px);
	margin: 0 0 clamp(20px, 3vw, 30px);
	padding: 12px 12px 42px;
	background: var(--vb-bone);
	box-shadow: 0 24px 55px rgba(0, 0, 0, 0.45);
	transform: rotate(-3deg);
	transition: transform 220ms ease, box-shadow 220ms ease;
}

.vb-menu-polaroid-card:nth-child(2n) figure {
	transform: rotate(2deg);
}

.vb-menu-polaroid-card:hover figure {
	box-shadow: 0 30px 70px rgba(0, 0, 0, 0.54);
	transform: rotate(0deg) scale(1.035);
}

.vb-menu-polaroid-card figure img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.vb-menu-polaroid-copy {
	position: relative;
	z-index: 1;
	text-align: center;
}

.vb-menu-polaroid-copy em {
	display: inline-block;
	margin-bottom: 10px;
	color: var(--vb-mustard);
	font-size: 0.78rem;
	font-style: normal;
	font-weight: 950;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.vb-menu-polaroid-copy h3 {
	margin: 0;
	color: var(--vb-bone);
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: clamp(1.85rem, 3.3vw, 3.6rem);
	letter-spacing: 0.04em;
	line-height: 0.94;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
	text-transform: uppercase;
	text-shadow: 4px 4px 0 rgba(0, 0, 0, 0.48);
}

.vb-menu-polaroid-copy p {
	max-width: 360px;
	margin: 14px auto 0;
	color: rgba(244, 239, 228, 0.72);
}

.vb-menu-polaroid-copy strong {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 18px;
	padding: 10px 16px;
	border-radius: 999px;
	background: var(--vb-mustard);
	color: #071019;
	font-size: 1.12rem;
	font-weight: 950;
}

.vb-menu-polaroid-card.no-photo {
	min-height: 0;
	align-content: start;
	justify-items: stretch;
	padding-block: clamp(26px, 4vw, 42px);
}

.vb-menu-polaroid-card.no-photo .vb-menu-polaroid-copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	text-align: left;
}

.vb-menu-polaroid-card.no-photo .vb-menu-polaroid-copy h3 {
	font-family: "Vice Impacted", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: clamp(1.85rem, 3.1vw, 3.1rem);
	letter-spacing: 0.02em;
	line-height: 1;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
}

.vb-menu-polaroid-card.no-photo .vb-menu-polaroid-copy p {
	margin-left: 0;
}

.vb-drinks-section {
	position: relative;
	overflow: hidden;
	border-top: 1px solid rgba(245, 173, 22, 0.28);
	background:
		linear-gradient(90deg, rgba(245, 173, 22, 0.045) 1px, transparent 1px),
		linear-gradient(rgba(244, 239, 228, 0.025) 1px, transparent 1px),
		linear-gradient(145deg, #071019, #090c11 58%, #11100d);
	background-size: 88px 88px, 88px 88px, auto;
}

.vb-drinks-section::after {
	position: absolute;
	right: -2vw;
	bottom: -4rem;
	color: rgba(244, 239, 228, 0.025);
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: clamp(9rem, 22vw, 22rem);
	line-height: 0.7;
	content: "DRINKS";
	pointer-events: none;
	text-transform: uppercase;
	white-space: nowrap;
}

.vb-drinks-section .vb-container {
	position: relative;
	z-index: 1;
}

.vb-drinks-section .vb-section-heading {
	margin-bottom: clamp(38px, 6vw, 72px);
}

.vb-drinks-section .vb-section-heading h2 {
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: clamp(4.5rem, 11vw, 10rem);
	letter-spacing: 0.025em;
	line-height: 0.75;
	text-transform: uppercase;
}

.vb-drinks-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(52px, 7vw, 92px) clamp(34px, 7vw, 92px);
}

.vb-drinks-category {
	min-width: 0;
	padding-top: 20px;
	border-top: 2px solid rgba(245, 173, 22, 0.7);
}

.vb-drinks-category.is-wide {
	grid-column: 1 / -1;
}

.vb-drinks-category h3 {
	margin: 0 0 24px;
	color: var(--vb-bone);
	font-family: "Vice Impacted", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: clamp(2rem, 4vw, 3.8rem);
	letter-spacing: 0.03em;
	line-height: 0.92;
	text-transform: uppercase;
}

.vb-drinks-list {
	display: grid;
	gap: 0;
}

.vb-drinks-category.is-wide .vb-drinks-list {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: clamp(34px, 7vw, 92px);
}

.vb-drink-item {
	min-width: 0;
	padding: 10px 0;
	border-bottom: 1px solid rgba(244, 239, 228, 0.09);
}

.vb-drink-item.has-options {
	padding-top: 14px;
	padding-bottom: 14px;
}

.vb-drink-row {
	display: grid;
	grid-template-columns: auto minmax(18px, 1fr) auto;
	align-items: end;
	gap: 10px;
	min-width: 0;
	color: rgba(244, 239, 228, 0.84);
	font-size: clamp(0.95rem, 1.4vw, 1.08rem);
	line-height: 1.35;
}

.vb-drink-row span {
	min-width: 0;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
}

.vb-drink-row i {
	min-width: 18px;
	margin-bottom: 0.35em;
	border-bottom: 1px dotted rgba(244, 239, 228, 0.28);
}

.vb-drink-row strong {
	color: var(--vb-mustard);
	font-size: 0.96em;
	font-weight: 950;
	white-space: nowrap;
}

.vb-drink-item.has-options > .vb-drink-row {
	display: block;
	color: var(--vb-bone);
	font-weight: 900;
}

.vb-drink-options {
	display: grid;
	gap: 4px;
	margin-top: 8px;
	padding-left: 18px;
	border-left: 2px solid rgba(245, 173, 22, 0.28);
}

.vb-drink-options .vb-drink-row {
	color: rgba(244, 239, 228, 0.65);
	font-size: 0.92rem;
}

@media (max-width: 760px) {
	.vb-drinks-grid,
	.vb-drinks-category.is-wide .vb-drinks-list {
		grid-template-columns: 1fr;
	}

	.vb-drinks-grid {
		gap: 46px;
	}

	.vb-drinks-category.is-wide {
		grid-column: auto;
	}

	.vb-drinks-category h3 {
		margin-bottom: 18px;
	}

	.vb-drink-row {
		grid-template-columns: minmax(0, auto) minmax(12px, 1fr) auto;
		gap: 8px;
		font-size: 0.96rem;
	}
}

.vb-contact-grid,
.vb-booking-grid {
	align-items: start;
}

.vb-contact-details {
	position: sticky;
	top: calc(var(--vb-header-height) + 28px);
}

.vb-contact-details a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 60px;
	margin-top: 12px;
	padding: 14px 0;
	border-bottom: 1px solid rgba(244, 239, 228, 0.16);
	color: rgba(244, 239, 228, 0.84);
	font-weight: 900;
	transition: color 180ms ease, padding-left 180ms ease;
}

.vb-contact-details a::after {
	width: 24px;
	height: 2px;
	background: currentColor;
	content: "";
}

.vb-contact-details a:hover,
.vb-contact-details a:focus-visible {
	padding-left: 8px;
	color: var(--vb-mustard);
	outline: none;
}

.vb-contact-map-section {
	padding-top: 0;
	background:
		radial-gradient(circle at 85% 24%, rgba(245, 173, 22, 0.11), transparent 24rem),
		linear-gradient(180deg, #071019, #07090d);
}

.vb-contact-map-section .vb-section-heading {
	max-width: 760px;
	margin-bottom: clamp(28px, 5vw, 48px);
}

.vb-contact-map {
	position: relative;
	overflow: hidden;
	border: 1px solid rgba(245, 173, 22, 0.42);
	border-radius: var(--vb-radius);
	background: #071019;
	box-shadow: 0 30px 90px rgba(0, 0, 0, 0.48);
}

.vb-contact-map iframe {
	display: block;
	width: 100%;
	height: clamp(420px, 52vw, 620px);
	border: 0;
	pointer-events: none;
	filter: saturate(0.72) contrast(1.05) brightness(0.92);
	user-select: none;
}

.vb-map-brand-pin {
	position: absolute;
	top: calc(clamp(420px, 52vw, 620px) / 2);
	left: 50%;
	z-index: 4;
	display: grid;
	justify-items: center;
	width: 190px;
	pointer-events: none;
	text-align: center;
	transform: translate(-50%, -52%);
}

.vb-map-brand-halo {
	position: absolute;
	top: 18px;
	left: 50%;
	width: 110px;
	aspect-ratio: 1;
	border: 3px solid rgba(245, 173, 22, 0.7);
	border-radius: 50%;
	box-shadow:
		0 0 20px rgba(245, 173, 22, 0.72),
		0 0 64px rgba(245, 173, 22, 0.55);
	transform: translateX(-50%);
	animation: vb-map-brand-pulse 2.2s ease-out infinite;
}

.vb-map-brand-marker {
	position: relative;
	display: grid;
	place-items: center;
	width: 88px;
	height: 88px;
	border: 3px solid var(--vb-mustard);
	border-radius: 50% 50% 50% 8px;
	background:
		radial-gradient(circle at 40% 28%, rgba(255, 255, 255, 0.12), transparent 30%),
		#071019;
	box-shadow:
		0 8px 0 rgba(7, 9, 13, 0.35),
		0 18px 40px rgba(0, 0, 0, 0.5),
		0 0 28px rgba(245, 173, 22, 0.58);
	transform: rotate(-45deg);
}

.vb-map-brand-burger {
	position: relative;
	display: block;
	width: 58px;
	height: 48px;
	transform: rotate(45deg);
}

.vb-map-brand-burger i {
	position: absolute;
	left: 50%;
	display: block;
	transform: translateX(-50%);
}

.vb-map-brand-burger i:nth-child(1) {
	top: 1px;
	width: 52px;
	height: 17px;
	border-radius: 28px 28px 7px 7px;
	background: linear-gradient(#ffd66d, #dd8a09);
	box-shadow: inset 0 4px 5px rgba(255, 255, 255, 0.2);
}

.vb-map-brand-burger i:nth-child(2) {
	top: 21px;
	width: 55px;
	height: 9px;
	background: var(--vb-mustard);
	clip-path: polygon(0 0, 100% 0, 86% 100%, 58% 65%, 34% 100%, 8% 62%);
}

.vb-map-brand-burger i:nth-child(3) {
	top: 31px;
	width: 54px;
	height: 9px;
	border-radius: 50%;
	background: #7d2c18;
}

.vb-map-brand-burger i:nth-child(4) {
	top: 40px;
	width: 50px;
	height: 8px;
	border-radius: 3px 3px 16px 16px;
	background: #d87c08;
}

.vb-map-brand-pin strong {
	margin-top: 16px;
	padding: 7px 13px 5px;
	background: #071019;
	color: var(--vb-mustard);
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: 2rem;
	line-height: 0.8;
	text-shadow: 2px 2px 0 rgba(0, 0, 0, 0.8);
	text-transform: uppercase;
}

.vb-map-brand-pin small {
	padding: 4px 10px;
	background: var(--vb-mustard);
	color: #071019;
	font-size: 0.68rem;
	font-weight: 950;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

@keyframes vb-map-brand-pulse {
	0% {
		opacity: 0.8;
		transform: translateX(-50%) scale(0.7);
	}
	75%,
	100% {
		opacity: 0;
		transform: translateX(-50%) scale(1.65);
	}
}

.vb-nautical-map {
	position: relative;
	min-height: clamp(430px, 52vw, 620px);
	overflow: hidden;
	background:
		radial-gradient(circle at 68% 43%, rgba(245, 173, 22, 0.13), transparent 15rem),
		#071019;
}

.vb-nautical-map::after {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		linear-gradient(180deg, rgba(7, 9, 13, 0.02), rgba(7, 9, 13, 0.28)),
		repeating-linear-gradient(0deg, rgba(244, 239, 228, 0.025) 0 1px, transparent 1px 8px);
	content: "";
	mix-blend-mode: screen;
}

.vb-nautical-map svg {
	display: block;
	width: 100%;
	height: 100%;
	min-height: inherit;
	color: rgba(92, 156, 172, 0.12);
}

.vb-chart-water {
	fill: #071723;
}

.vb-chart-grid {
	color: rgba(126, 188, 197, 0.14);
}

.vb-chart-waves {
	color: rgba(94, 169, 183, 0.12);
}

.vb-chart-land {
	fill: #161b1c;
	stroke: rgba(244, 239, 228, 0.14);
	stroke-width: 2;
}

.vb-chart-coast {
	fill: none;
	stroke: #f5ad16;
	stroke-width: 4;
}

.vb-chart-road {
	fill: none;
	stroke: rgba(244, 239, 228, 0.28);
	stroke-dasharray: 12 9;
	stroke-width: 6;
}

.vb-chart-harbour {
	fill: none;
	stroke: rgba(244, 239, 228, 0.58);
	stroke-linecap: square;
	stroke-width: 5;
}

.vb-chart-harbour .vb-chart-breakwater {
	stroke: rgba(244, 239, 228, 0.46);
	stroke-width: 10;
}

.vb-chart-route {
	fill: none;
	stroke: #d9432c;
	stroke-dasharray: 12 12;
	stroke-linecap: round;
	stroke-width: 5;
}

.vb-chart-route-dot {
	fill: #d9432c;
	stroke: #f4efe4;
	stroke-width: 3;
}

.vb-chart-compass {
	fill: none;
	stroke: rgba(244, 239, 228, 0.56);
	stroke-width: 2;
}

.vb-chart-compass path {
	fill: rgba(244, 239, 228, 0.12);
}

.vb-chart-compass .vb-chart-compass-north {
	fill: #f5ad16;
	stroke: #f5ad16;
}

.vb-chart-compass text {
	fill: #f5ad16;
	font-family: "Arial Narrow", Arial, sans-serif;
	font-size: 22px;
	font-weight: 900;
}

.vb-chart-copy {
	fill: rgba(244, 239, 228, 0.78);
	font-family: "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
	font-size: 20px;
	font-weight: 900;
	letter-spacing: 0.08em;
}

.vb-chart-copy .vb-chart-water-label {
	fill: rgba(126, 188, 197, 0.3);
	font-size: 43px;
	letter-spacing: 0.18em;
}

.vb-chart-copy .vb-chart-small-label {
	fill: rgba(244, 239, 228, 0.48);
	font-size: 14px;
	letter-spacing: 0.05em;
}

.vb-nautical-pin {
	position: absolute;
	top: 37%;
	left: 65%;
	z-index: 3;
	display: grid;
	justify-items: center;
	width: 190px;
	color: var(--vb-bone);
	text-align: center;
	transform: translate(-50%, -50%);
}

.vb-pin-pulse {
	position: absolute;
	top: 39px;
	left: 50%;
	width: 118px;
	aspect-ratio: 1;
	border: 2px solid rgba(245, 173, 22, 0.56);
	border-radius: 50%;
	box-shadow: 0 0 44px rgba(245, 173, 22, 0.38);
	transform: translateX(-50%);
	animation: vb-map-pulse 2.4s ease-out infinite;
}

.vb-pin-burger {
	position: relative;
	display: block;
	width: 92px;
	height: 82px;
	padding: 10px 8px;
	border: 2px solid rgba(245, 173, 22, 0.85);
	border-radius: 50% 50% 48% 48%;
	background: #071019;
	box-shadow:
		0 0 0 7px rgba(7, 16, 25, 0.82),
		0 0 36px rgba(245, 173, 22, 0.65);
	transform: rotate(-3deg);
}

.vb-pin-burger i {
	position: absolute;
	left: 50%;
	display: block;
	transform: translateX(-50%);
}

.vb-pin-bun-top {
	top: 11px;
	width: 64px;
	height: 22px;
	border-radius: 34px 34px 8px 8px;
	background: linear-gradient(#ffc94e, #d98208);
}

.vb-pin-cheese {
	top: 36px;
	width: 68px;
	height: 12px;
	background: #f5ad16;
	clip-path: polygon(0 0, 100% 0, 87% 100%, 58% 65%, 38% 100%, 8% 65%);
}

.vb-pin-patty {
	top: 50px;
	width: 66px;
	height: 12px;
	border-radius: 50%;
	background: #7b2b17;
}

.vb-pin-bun-bottom {
	top: 63px;
	width: 63px;
	height: 10px;
	border-radius: 4px 4px 18px 18px;
	background: #d98208;
}

.vb-nautical-pin strong {
	margin-top: 16px;
	color: var(--vb-mustard);
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: 2.25rem;
	line-height: 0.8;
	text-shadow: 3px 3px 0 rgba(0, 0, 0, 0.7);
	text-transform: uppercase;
}

.vb-nautical-pin small {
	margin-top: 8px;
	padding: 5px 9px;
	background: rgba(7, 9, 13, 0.84);
	color: rgba(244, 239, 228, 0.8);
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.vb-chart-stamp {
	position: absolute;
	right: 3%;
	bottom: 5%;
	z-index: 2;
	display: grid;
	padding: 12px 18px 10px;
	border: 2px solid rgba(217, 67, 44, 0.72);
	color: #d9432c;
	font-weight: 900;
	line-height: 0.9;
	text-align: center;
	text-transform: uppercase;
	transform: rotate(-7deg);
}

.vb-chart-stamp span {
	font-size: 0.7rem;
	letter-spacing: 0.18em;
}

.vb-chart-stamp strong {
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: 2rem;
}

@keyframes vb-map-pulse {
	0% {
		opacity: 0.7;
		transform: translateX(-50%) scale(0.62);
	}
	75%,
	100% {
		opacity: 0;
		transform: translateX(-50%) scale(1.5);
	}
}

.vb-contact-map-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 20px clamp(20px, 4vw, 36px);
	border-top: 1px solid rgba(245, 173, 22, 0.28);
	background:
		repeating-linear-gradient(0deg, rgba(244, 239, 228, 0.035) 0 1px, transparent 1px 10px),
		#0c1219;
}

.vb-contact-map-bar span {
	color: var(--vb-bone);
	font-size: clamp(1rem, 2vw, 1.3rem);
	font-weight: 900;
}

.vb-contact-map-bar .vb-button {
	flex: 0 0 auto;
}

@media (max-width: 600px) {
	.vb-contact-map iframe {
		height: 420px;
	}

	.vb-map-brand-pin {
		top: 210px;
		transform: translate(-50%, -52%) scale(0.86);
	}

	.vb-nautical-map {
		min-height: 480px;
	}

	.vb-nautical-map svg {
		width: 900px;
		max-width: none;
		transform: translateX(-250px);
	}

	.vb-nautical-pin {
		top: 39%;
		left: 58%;
		transform: translate(-50%, -50%) scale(0.88);
	}

	.vb-chart-stamp {
		right: 5%;
		bottom: 4%;
	}

	.vb-contact-map-bar {
		align-items: stretch;
		flex-direction: column;
	}

	.vb-contact-map-bar .vb-button {
		width: 100%;
	}
}

.vb-form-panel {
	padding: clamp(22px, 4vw, 36px);
}

.vb-form {
	display: grid;
	gap: 18px;
}

.vb-antispam {
	position: absolute;
	left: -10000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.vb-form label {
	display: grid;
	gap: 8px;
}

.vb-form span {
	color: rgba(244, 239, 228, 0.78);
	font-size: 0.9rem;
	font-weight: 900;
	line-height: 1.2;
	text-transform: uppercase;
}

.vb-form input,
.vb-form select,
.vb-form textarea {
	width: 100%;
	min-height: 52px;
	padding: 13px 14px;
	border: 1px solid rgba(244, 239, 228, 0.18);
	border-radius: 6px;
	background: rgba(7, 9, 13, 0.76);
	color: var(--vb-bone);
	outline: none;
	transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.vb-form input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.vb-form select {
	height: 66px;
	line-height: 1.2;
}

.vb-form input[type="file"] {
	padding: 12px;
	cursor: pointer;
}

.vb-form input[type="file"]::file-selector-button {
	margin-right: 12px;
	padding: 9px 12px;
	border: 1px solid rgba(245, 173, 22, 0.42);
	border-radius: 5px;
	background: rgba(245, 173, 22, 0.12);
	color: var(--vb-mustard);
	font: inherit;
	font-weight: 900;
	text-transform: uppercase;
	cursor: pointer;
}

.vb-form select {
	appearance: none;
	background-image:
		linear-gradient(45deg, transparent 50%, var(--vb-mustard) 50%),
		linear-gradient(135deg, var(--vb-mustard) 50%, transparent 50%);
	background-position:
		calc(100% - 20px) 50%,
		calc(100% - 14px) 50%;
	background-size: 6px 6px, 6px 6px;
	background-repeat: no-repeat;
}

.vb-form textarea {
	resize: vertical;
}

.vb-form small {
	color: rgba(244, 239, 228, 0.58);
	font-weight: 700;
}

.vb-form input:focus,
.vb-form select:focus,
.vb-form textarea:focus {
	border-color: var(--vb-mustard);
	background: rgba(7, 9, 13, 0.92);
	box-shadow: 0 0 0 4px rgba(245, 173, 22, 0.12);
}

.vb-form-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.vb-form-row label {
	grid-template-rows: 18px 66px auto;
	align-items: start;
}

.vb-field-group {
	display: grid;
	gap: 10px;
}

.vb-check-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.vb-check-grid label,
.vb-checkbox {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 12px;
	border: 1px solid rgba(244, 239, 228, 0.14);
	border-radius: 6px;
	background: rgba(244, 239, 228, 0.035);
	color: rgba(244, 239, 228, 0.78);
	font-weight: 800;
}

.vb-check-grid input,
.vb-checkbox input {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	min-height: 18px;
	margin-top: 2px;
	accent-color: var(--vb-mustard);
}

.vb-checkbox span {
	color: rgba(244, 239, 228, 0.78);
	font-size: 0.95rem;
	font-weight: 800;
	text-transform: none;
}

.vb-checkbox a,
.vb-form-legal-text a {
	color: var(--vb-mustard);
	font-weight: 900;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

.vb-checkbox a:hover,
.vb-checkbox a:focus-visible,
.vb-form-legal-text a:hover,
.vb-form-legal-text a:focus-visible {
	color: var(--vb-bone);
	outline: none;
}

.vb-form-legal-text {
	margin: -4px 0 0;
	color: rgba(244, 239, 228, 0.58);
	font-size: 0.88rem;
	font-weight: 650;
	line-height: 1.5;
}

.vb-date-picker {
	position: fixed;
	z-index: 80;
	width: min(320px, calc(100vw - 32px));
	padding: 14px;
	border: 1px solid rgba(245, 173, 22, 0.34);
	border-radius: 8px;
	background:
		linear-gradient(145deg, rgba(16, 29, 45, 0.98), rgba(7, 9, 13, 0.98)),
		var(--vb-black);
	box-shadow: 0 22px 60px rgba(0, 0, 0, 0.46), 0 0 0 1px rgba(244, 239, 228, 0.04) inset;
	color: var(--vb-bone);
}

.vb-date-picker[hidden] {
	display: none;
}

.vb-date-picker-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}

.vb-date-picker-head strong {
	color: var(--vb-bone);
	font-family: "Arial Narrow", Arial, sans-serif;
	font-size: 1rem;
	font-weight: 900;
	text-transform: uppercase;
}

.vb-date-picker button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 34px;
	min-height: 34px;
	padding: 0;
	border: 1px solid transparent;
	border-radius: 6px;
	background: rgba(244, 239, 228, 0.045);
	color: var(--vb-bone);
	font: inherit;
	font-weight: 850;
	cursor: pointer;
	transition: border-color 160ms ease, color 160ms ease, background 160ms ease, transform 160ms ease;
}

.vb-date-picker button:hover,
.vb-date-picker button:focus-visible {
	border-color: rgba(245, 173, 22, 0.56);
	background: rgba(245, 173, 22, 0.12);
	color: var(--vb-mustard);
	outline: none;
	transform: translateY(-1px);
}

.vb-date-picker-week,
.vb-date-picker-grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 6px;
}

.vb-date-picker-week {
	margin-bottom: 6px;
	color: rgba(244, 239, 228, 0.56);
	font-size: 0.76rem;
	font-weight: 900;
	text-align: center;
}

.vb-date-picker-grid button {
	min-width: 0;
}

.vb-date-picker-grid button.is-muted {
	color: rgba(244, 239, 228, 0.34);
}

.vb-date-picker-grid button.is-disabled,
.vb-date-picker-grid button:disabled {
	border-color: transparent;
	background: rgba(244, 239, 228, 0.018);
	color: rgba(244, 239, 228, 0.18);
	cursor: not-allowed;
	text-decoration: line-through;
	transform: none;
}

.vb-date-picker-grid button.is-selected {
	border-color: var(--vb-mustard);
	background: var(--vb-mustard);
	color: var(--vb-black);
	box-shadow: 0 0 20px rgba(245, 173, 22, 0.34);
}

.vb-form-notice {
	margin: 0 0 20px;
	padding: 14px 16px;
	border-radius: 6px;
	font-weight: 900;
}

.vb-form-notice.is-success {
	border: 1px solid rgba(135, 152, 58, 0.56);
	background: rgba(135, 152, 58, 0.14);
	color: #d9e7a4;
}

.vb-form-notice.is-error {
	border: 1px solid rgba(217, 67, 44, 0.56);
	background: rgba(217, 67, 44, 0.14);
	color: #ffc1b7;
}

.vb-booking-copy {
	position: sticky;
	top: calc(var(--vb-header-height) + 28px);
}

.vb-stamp-card {
	display: grid;
	place-items: center;
	width: min(260px, 100%);
	aspect-ratio: 1;
	margin-top: 34px;
	border-radius: 50%;
	color: var(--vb-bone);
	text-align: center;
	text-transform: uppercase;
	animation: vb-float 7s ease-in-out infinite;
}

.vb-work-hero {
	position: relative;
	min-height: calc(100svh - var(--vb-header-height));
	padding: clamp(90px, 11vw, 150px) 0 clamp(62px, 8vw, 96px);
	overflow: hidden;
	background:
		linear-gradient(100deg, rgba(7, 9, 13, 0.98) 0 42%, rgba(16, 29, 45, 0.76) 58%, rgba(7, 9, 13, 0.92)),
		radial-gradient(circle at 78% 28%, rgba(245, 173, 22, 0.18), transparent 28rem),
		radial-gradient(circle at 72% 72%, rgba(217, 67, 44, 0.12), transparent 22rem);
}

.vb-work-hero::before {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	content: "";
	opacity: 0.38;
	background:
		repeating-linear-gradient(0deg, rgba(244, 239, 228, 0.04) 0 1px, transparent 1px 18px),
		repeating-linear-gradient(90deg, rgba(244, 239, 228, 0.035) 0 1px, transparent 1px 74px);
	mask-image: linear-gradient(90deg, #000, transparent 78%);
}

.vb-work-spotlight {
	position: absolute;
	top: -24%;
	left: 38%;
	z-index: 0;
	width: min(760px, 58vw);
	height: 138%;
	pointer-events: none;
	background:
		radial-gradient(ellipse at 50% 0%, rgba(255, 231, 164, 0.32), rgba(245, 173, 22, 0.08) 20%, transparent 34%),
		linear-gradient(180deg, rgba(255, 231, 164, 0.24) 0%, rgba(245, 173, 22, 0.12) 34%, rgba(244, 239, 228, 0.045) 62%, transparent 88%);
	clip-path: polygon(47% 0, 53% 0, 100% 100%, 0 100%);
	filter: blur(12px);
	mix-blend-mode: screen;
	opacity: 0.76;
	transform: rotate(-16deg);
	transform-origin: 50% 0;
	animation: vb-work-spotlight-sweep 8.5s ease-in-out infinite alternate;
}

.vb-work-spotlight::before {
	position: absolute;
	top: 4%;
	left: 50%;
	width: 120px;
	aspect-ratio: 1;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 245, 205, 0.7), rgba(245, 173, 22, 0.14) 48%, transparent 70%);
	content: "";
	filter: blur(10px);
	transform: translateX(-50%);
}

.vb-work-spotlight::after {
	position: absolute;
	right: 14%;
	bottom: 9%;
	left: 18%;
	height: 22%;
	border-radius: 50%;
	background: radial-gradient(ellipse, rgba(255, 216, 126, 0.13), transparent 68%);
	content: "";
	filter: blur(22px);
}

.vb-work-hero-grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 0.36fr);
	gap: clamp(30px, 6vw, 80px);
	align-items: center;
}

.vb-work-hero h1 {
	max-width: 980px;
	margin: 0;
	font-family: "Vice Impacted", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: clamp(4.4rem, 12vw, 11rem);
	line-height: 0.82;
	text-transform: uppercase;
	text-wrap: balance;
}

.vb-work-script {
	margin: 12px 0 0;
	color: var(--vb-mustard);
	font-family: "Vice Blacksword", "Brush Script MT", "Segoe Script", cursive;
	font-size: clamp(2.2rem, 4.8vw, 4.8rem);
	line-height: 0.9;
	transform: rotate(-3deg);
}

.vb-work-lead,
.vb-work-note {
	max-width: 760px;
	color: rgba(244, 239, 228, 0.78);
	font-size: clamp(1.05rem, 1.6vw, 1.3rem);
	font-weight: 700;
}

.vb-work-note {
	padding-left: 18px;
	border-left: 2px solid var(--vb-mustard);
	color: rgba(244, 239, 228, 0.66);
}

.vb-work-stamp {
	display: grid;
	place-items: center;
	aspect-ratio: 1;
	padding: 28px;
	border: 1px solid rgba(245, 173, 22, 0.38);
	border-radius: 50%;
	background:
		linear-gradient(145deg, rgba(244, 239, 228, 0.055), rgba(244, 239, 228, 0.015)),
		rgba(7, 9, 13, 0.76);
	box-shadow: 0 22px 70px rgba(0, 0, 0, 0.36);
	text-align: center;
	transform: rotate(-7deg);
}

.vb-work-stamp span {
	color: var(--vb-mustard);
	font-family: "Vice Blacksword", "Brush Script MT", "Segoe Script", cursive;
	font-size: clamp(2rem, 4vw, 3.6rem);
}

.vb-work-stamp strong {
	display: block;
	margin-top: 10px;
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: clamp(2.2rem, 4.5vw, 4.4rem);
	line-height: 0.84;
	text-transform: uppercase;
}

.vb-work-culture-grid,
.vb-work-values-grid,
.vb-work-form-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(320px, 1fr);
	gap: clamp(32px, 6vw, 82px);
	align-items: start;
}

.vb-work-copy-card,
.vb-work-profile-card {
	position: relative;
	padding: clamp(24px, 4vw, 36px);
	overflow: hidden;
	border: 1px solid rgba(244, 239, 228, 0.13);
	border-radius: var(--vb-radius);
	background:
		linear-gradient(145deg, rgba(244, 239, 228, 0.075), rgba(244, 239, 228, 0.025)),
		rgba(7, 9, 13, 0.78);
	box-shadow: 0 18px 48px rgba(0, 0, 0, 0.22);
}

.vb-work-copy-card p,
.vb-work-profile-card p {
	color: rgba(244, 239, 228, 0.76);
	font-weight: 700;
}

.vb-work-copy-card strong {
	display: block;
	margin-top: 28px;
	color: var(--vb-mustard);
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: clamp(2.4rem, 5vw, 4.8rem);
	line-height: 0.86;
	text-transform: uppercase;
}

.vb-work-profile-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin-top: 38px;
}

.vb-work-profile-card span {
	color: var(--vb-ember);
	font-family: Impact, Haettenschweiler, "Arial Narrow Bold", "Arial Narrow", sans-serif;
	font-size: 3rem;
	font-weight: 900;
	line-height: 1;
}

.vb-work-profile-card h3 {
	margin: 30px 0 14px;
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: clamp(2.35rem, 4.5vw, 4.05rem);
	line-height: 0.98;
	text-transform: uppercase;
	text-wrap: balance;
}

.vb-work-profile-card ul {
	display: grid;
	gap: 10px;
	padding: 0;
	margin: 24px 0 0;
	list-style: none;
}

.vb-work-profile-card li {
	position: relative;
	padding-left: 22px;
	color: rgba(244, 239, 228, 0.76);
	font-weight: 800;
}

.vb-work-profile-card li::before {
	position: absolute;
	top: 0.72em;
	left: 0;
	width: 10px;
	height: 2px;
	background: var(--vb-mustard);
	content: "";
}

.vb-work-values {
	background:
		linear-gradient(180deg, rgba(7, 9, 13, 0), rgba(217, 67, 44, 0.08)),
		radial-gradient(circle at 16% 80%, rgba(245, 173, 22, 0.12), transparent 24rem);
}

.vb-work-values-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.vb-work-values-list span {
	padding: 14px 16px;
	border: 1px solid rgba(245, 173, 22, 0.2);
	border-radius: 999px;
	background: rgba(244, 239, 228, 0.045);
	color: rgba(244, 239, 228, 0.82);
	font-weight: 900;
	text-transform: uppercase;
}

.vb-work-values-punch {
	width: min(100% - 32px, 1440px);
	margin: 54px auto 0;
	color: var(--vb-mustard);
	font-family: "Vice Blacksword", "Brush Script MT", "Segoe Script", cursive;
	font-size: clamp(2.4rem, 4.4vw, 4.7rem);
	line-height: 0.92;
	text-align: center;
	white-space: nowrap;
	transform: rotate(-2deg);
}

.vb-work-form-section {
	background: linear-gradient(90deg, rgba(244, 239, 228, 0.035) 1px, transparent 1px);
	background-size: 72px 72px;
}

.vb-work-form-panel {
	box-shadow: 0 28px 90px rgba(0, 0, 0, 0.34), 0 0 0 1px rgba(245, 173, 22, 0.08) inset;
}

.vb-work-close {
	position: relative;
	overflow: hidden;
	border-top: 1px solid rgba(244, 239, 228, 0.12);
	background:
		linear-gradient(90deg, rgba(7, 9, 13, 0.94), rgba(16, 29, 45, 0.78)),
		radial-gradient(circle at 82% 50%, rgba(245, 173, 22, 0.18), transparent 24rem);
	text-align: center;
}

.vb-work-close h2 {
	margin: 0;
	font-family: "Vice Impacted", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: clamp(4rem, 10vw, 9rem);
	line-height: 0.82;
	text-transform: uppercase;
}

.vb-work-close p {
	max-width: 760px;
	margin: 24px auto;
	color: rgba(244, 239, 228, 0.76);
	font-size: clamp(1.05rem, 1.7vw, 1.3rem);
	font-weight: 700;
}

.vb-stamp-card span {
	color: var(--vb-mustard);
	font-family: "Vice Blacksword", "Brush Script MT", "Segoe Script", cursive;
	font-size: 2.1rem;
	text-transform: none;
}

.vb-stamp-card strong {
	display: block;
	margin-top: -54px;
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: 3rem;
	line-height: 0.92;
}

.vb-content-stack {
	display: grid;
	gap: 20px;
}

.vb-entry {
	padding: 24px;
}

.vb-entry h2 {
	margin: 0 0 10px;
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: 2.4rem;
	text-transform: uppercase;
}

.vb-entry-content {
	color: rgba(244, 239, 228, 0.76);
}

.vb-entry-content h2,
.vb-entry-content h3 {
	margin: 34px 0 14px;
	color: var(--vb-bone);
	font-family: "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
	font-weight: 950;
	line-height: 1.05;
	text-transform: uppercase;
}

.vb-entry-content h2:first-child,
.vb-entry-content h3:first-child {
	margin-top: 0;
}

.vb-entry-content h2 {
	font-size: clamp(1.8rem, 3.4vw, 3rem);
}

.vb-entry-content h3 {
	font-size: clamp(1.25rem, 2.2vw, 1.7rem);
	color: var(--vb-mustard);
}

.vb-entry-content p {
	margin: 0 0 16px;
}

.vb-entry-content a {
	color: var(--vb-mustard);
	font-weight: 850;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

.vb-entry-content a:hover,
.vb-entry-content a:focus-visible {
	color: var(--vb-bone);
	outline: none;
}

.vb-legal-table {
	margin: 22px 0 28px;
	overflow-x: auto;
	border: 1px solid rgba(244, 239, 228, 0.12);
	border-radius: 8px;
}

.vb-legal-table table {
	width: 100%;
	min-width: 680px;
	border-collapse: collapse;
}

.vb-legal-table th,
.vb-legal-table td {
	padding: 14px 16px;
	border-bottom: 1px solid rgba(244, 239, 228, 0.1);
	text-align: left;
	vertical-align: top;
}

.vb-legal-table th {
	background: rgba(245, 173, 22, 0.12);
	color: var(--vb-mustard);
	font-weight: 950;
	text-transform: uppercase;
}

.vb-legal-table tr:last-child td {
	border-bottom: 0;
}

.vb-site-footer {
	position: relative;
	overflow: hidden;
	border-top: 1px solid rgba(244, 239, 228, 0.12);
	background:
		linear-gradient(135deg, rgba(7, 9, 13, 0.98), rgba(16, 29, 45, 0.96)),
		radial-gradient(circle at 20% 20%, rgba(245, 173, 22, 0.1), transparent 24rem);
}

.vb-footer-marquee {
	overflow: hidden;
	border-bottom: 1px solid rgba(244, 239, 228, 0.1);
	color: rgba(244, 239, 228, 0.08);
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: clamp(3.4rem, 12vw, 11rem);
	line-height: 0.9;
	text-transform: uppercase;
	white-space: nowrap;
}

.vb-footer-marquee .vb-marquee-track {
	padding: 22px 0;
	animation: vb-marquee 24s linear infinite;
}

.vb-footer-marquee span {
	white-space: nowrap;
}

.vb-footer-inner {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(220px, 0.55fr) minmax(160px, 0.35fr);
	gap: 38px;
	width: min(1160px, calc(100% - 40px));
	margin-inline: auto;
	padding: clamp(54px, 8vw, 92px) 0;
}

.vb-footer-brand strong {
	display: block;
	color: var(--vb-mustard);
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: clamp(4rem, 10vw, 9rem);
	line-height: 0.78;
	text-transform: uppercase;
}

.vb-footer-brand p:not(.vb-small-label) {
	max-width: 520px;
	color: rgba(244, 239, 228, 0.76);
}

.vb-footer-contact h2,
.vb-footer-nav h2 {
	margin: 0 0 18px;
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: 2.5rem;
	text-transform: uppercase;
}

.vb-footer-contact a,
.vb-footer-contact span,
.vb-footer-menu a {
	display: block;
	padding: 8px 0;
	color: rgba(244, 239, 228, 0.76);
	font-weight: 850;
	transition: color 180ms ease, transform 180ms ease;
}

.vb-footer-contact span {
	color: rgba(244, 239, 228, 0.58);
}

.vb-footer-contact a:hover,
.vb-footer-contact a:focus-visible,
.vb-footer-menu a:hover,
.vb-footer-menu a:focus-visible {
	color: var(--vb-mustard);
	transform: translateX(5px);
	outline: none;
}

.vb-footer-menu {
	display: grid;
	align-content: start;
	gap: 2px;
}

.vb-footer-bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	width: min(1160px, calc(100% - 40px));
	margin-inline: auto;
	padding: 18px 0 26px;
	border-top: 1px solid rgba(244, 239, 228, 0.1);
	color: rgba(244, 239, 228, 0.6);
	font-size: 0.92rem;
	text-transform: uppercase;
}

.vb-legal-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 14px;
}

.vb-legal-links a {
	color: rgba(244, 239, 228, 0.62);
	transition: color 180ms ease, transform 180ms ease;
}

.vb-legal-links a:hover,
.vb-legal-links a:focus-visible {
	color: var(--vb-mustard);
	outline: none;
	transform: translateY(-1px);
}

.vb-legal-layout {
	max-width: 920px;
}

.vb-legal-hero h1::after {
	display: none;
}

.vb-legal-card {
	padding: clamp(24px, 4vw, 42px);
}

.vb-legal-hero .vb-reveal,
.vb-legal-card.vb-reveal {
	opacity: 1;
	transform: none;
	transition: none;
}

.vb-legal-card ul {
	display: grid;
	gap: 14px;
	padding: 0;
	margin: 24px 0 0;
	list-style: none;
}

.vb-legal-card li {
	position: relative;
	padding-left: 24px;
	color: rgba(244, 239, 228, 0.78);
	font-weight: 750;
}

.vb-legal-card li::before {
	position: absolute;
	top: 0.72em;
	left: 0;
	width: 12px;
	height: 2px;
	background: var(--vb-mustard);
	content: "";
}

.vb-reveal {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity 680ms ease, transform 680ms ease;
}

.vb-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.vb-special-card.vb-reveal.is-visible {
	transform: translateY(-8px);
}

.vb-special-card.vb-reveal.is-visible:hover {
	transform: translateY(0);
}

/* Cross Town is intentionally brutal: reserve it for short brand punches.
   Longer editorial headings need a cleaner condensed face to stay premium. */
.vb-section-heading h2,
.vb-reservation-inner h2,
.vb-page-hero h1,
.vb-booking-copy h2,
.vb-contact-details h2 {
	font-family: "Vice Impacted", Impact, Haettenschweiler, "Arial Narrow Bold", "Arial Narrow", sans-serif;
	font-weight: 900;
	letter-spacing: 0.01em;
	word-spacing: 0.08em;
	line-height: 0.88;
	text-shadow: 3px 3px 0 rgba(0, 0, 0, 0.38);
}

.vb-section-heading h2,
.vb-booking-copy h2,
.vb-contact-details h2 {
	font-size: clamp(2.8rem, 6.2vw, 5.9rem);
}

.vb-page-hero h1 {
	font-size: clamp(3.6rem, 8vw, 7.2rem);
}

.vb-proof-grid strong,
.vb-special-card span {
	font-family: Impact, Haettenschweiler, "Arial Narrow Bold", "Arial Narrow", sans-serif;
	font-weight: 700;
	letter-spacing: 0;
}

.vb-special-card h3 {
	font-family: "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
	font-weight: 700;
	line-height: 1.08;
	word-spacing: 0.08em;
}

.vb-proof-grid strong {
	font-size: clamp(3.2rem, 5.6vw, 5rem);
}

.vb-menu-card h2,
.vb-teaser-list span,
.vb-brand-band-text,
.vb-footer-brand strong,
.vb-footer-marquee {
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
}

.vb-section-heading h2::after {
	display: none;
}

.vb-menu-card h2::after {
	position: absolute;
	inset: auto 0 -0.12em;
	z-index: -1;
	height: 0.18em;
	pointer-events: none;
	content: "";
	opacity: 0;
	background: linear-gradient(90deg, transparent, rgba(245, 173, 22, 0.92) 22%, rgba(217, 67, 44, 0.92) 54%, transparent);
	filter: blur(10px);
	transform: scaleX(0.18) translateY(0.08em);
	transform-origin: left center;
	transition: opacity 180ms ease, transform 260ms ease;
	mix-blend-mode: screen;
}

.vb-menu-card h2::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	color: var(--vb-ember);
	pointer-events: none;
	content: attr(data-title);
	opacity: 0;
	text-shadow: -0.045em 0 rgba(245, 173, 22, 0.86), 0.045em 0 rgba(217, 67, 44, 0.86);
	transform: translate(0, 0);
}

.vb-menu-card h2:hover,
.vb-menu-card h2:focus-visible {
	color: #fff9ea;
	filter: drop-shadow(0 0 18px rgba(245, 173, 22, 0.22));
	text-shadow: 0.035em 0 rgba(217, 67, 44, 0.9), -0.028em 0 rgba(245, 173, 22, 0.88), 0 0 28px rgba(245, 173, 22, 0.2);
	transform: translateY(-2px) skewX(-1deg);
	animation: vb-title-heat-glitch 520ms steps(2, end);
}

.vb-menu-card h2:hover::before,
.vb-menu-card h2:focus-visible::before {
	opacity: 0.68;
	animation: vb-title-glitch-copy 520ms steps(2, end);
}

.vb-menu-card h2:hover::after,
.vb-menu-card h2:focus-visible::after {
	opacity: 0.72;
	transform: scaleX(1) translateY(0.08em);
}

@keyframes vb-marquee {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-50%);
	}
}

@keyframes vb-hero-shadow-rise {
	from {
		opacity: 0;
	}

	to {
		opacity: 0.72;
	}
}

@keyframes vb-hero-lines-arrive {
	from {
		opacity: 0;
		transform: translate3d(42px, -26px, 0) scale(1.04);
	}

	to {
		opacity: 1;
		transform: translate3d(var(--vb-hero-line-drift-x), var(--vb-hero-line-drift-y), 0);
	}
}

@keyframes vb-hero-glow-dust {
	from {
		opacity: 0;
	}

	to {
		opacity: 0.4;
	}
}

@keyframes vb-hero-watermark-arrive {
	from {
		opacity: 0;
		transform: translate3d(calc(var(--vb-hero-mark-drift-x) - 24px), calc(var(--vb-hero-mark-drift-y) + 10px), 0);
	}

	to {
		opacity: 1;
		transform: translate3d(var(--vb-hero-mark-drift-x), var(--vb-hero-mark-drift-y), 0);
	}
}

@keyframes vb-hero-kicker-in {
	from {
		opacity: 0;
		filter: blur(8px);
		transform: translate3d(-18px, 0, 0);
	}

	to {
		opacity: 1;
		filter: blur(0);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes vb-hero-signature-in {
	0% {
		opacity: 0;
		filter: blur(10px);
		transform: translate3d(-28px, 14px, 0) rotate(-9deg) scale(0.94);
	}

	72% {
		opacity: 1;
		filter: blur(0);
		transform: translate3d(4px, -2px, 0) rotate(-5deg) scale(1.03);
	}

	100% {
		opacity: 1;
		filter: blur(0);
		transform: translate3d(0, 0, 0) rotate(-5deg) scale(1);
	}
}

@keyframes vb-hero-logo-hit {
	0% {
		opacity: 0;
		filter: blur(12px);
		transform: translate3d(0, 30px, 0) scale(0.92);
	}

	58% {
		opacity: 1;
		filter: blur(0);
		transform: translate3d(0, -5px, 0) scale(1.035);
	}

	100% {
		opacity: 1;
		filter: blur(0);
		transform: translate3d(0, 0, 0) scale(1);
	}
}

@keyframes vb-hero-heat-swipe {
	from {
		opacity: 0;
		transform: scaleX(0) skewX(-16deg);
	}

	to {
		opacity: 1;
		transform: scaleX(1) skewX(-16deg);
	}
}

@keyframes vb-hero-script-in {
	from {
		opacity: 0;
		filter: blur(8px);
		transform: translate3d(22px, 10px, 0) rotate(-3deg);
	}

	to {
		opacity: 1;
		filter: blur(0);
		transform: translate3d(0, 0, 0) rotate(-3deg);
	}
}

@keyframes vb-hero-copy-in {
	from {
		opacity: 0;
		filter: blur(7px);
		transform: translate3d(0, 18px, 0);
	}

	to {
		opacity: 1;
		filter: blur(0);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes vb-hero-button-in {
	0% {
		opacity: 0;
		filter: blur(5px);
		transform: translate3d(0, 18px, 0) scale(0.96);
	}

	72% {
		opacity: 1;
		filter: blur(0);
		transform: translate3d(0, -2px, 0) scale(1.02);
	}

	100% {
		opacity: 1;
		filter: blur(0);
		transform: translate3d(0, 0, 0) scale(1);
	}
}

@keyframes vb-hero-ember-bed {
	0%,
	100% {
		opacity: 0.48;
		transform: scale(1);
	}

	42% {
		opacity: 0.82;
		transform: scale(1.04);
	}

	68% {
		opacity: 0.58;
		transform: scale(0.98);
	}
}

@keyframes vb-hero-ember-float {
	0% {
		opacity: 0;
		transform: translate3d(0, 0, 0) scale(0.55);
	}

	12% {
		opacity: 0.95;
	}

	32% {
		opacity: 0.42;
		transform: translate3d(10px, -42px, 0) scale(1.08);
	}

	54% {
		opacity: 0.9;
		transform: translate3d(-8px, -86px, 0) scale(0.82);
	}

	82% {
		opacity: 0.22;
	}

	100% {
		opacity: 0;
		transform: translate3d(18px, -148px, 0) scale(0.28);
	}
}

@keyframes vb-hero-spark-crackle {
	0% {
		opacity: 0.26;
		transform: translate3d(0, 0, 0) scale(0.86);
	}

	34% {
		opacity: 1;
		transform: translate3d(3px, -4px, 0) scale(1.18);
	}

	68% {
		opacity: 0.48;
		transform: translate3d(-2px, 3px, 0) scale(0.96);
	}

	100% {
		opacity: 0.82;
		transform: translate3d(1px, -2px, 0) scale(1.04);
	}
}

@keyframes vb-hero-smoke-drift {
	0% {
		opacity: 0;
		transform: translate3d(0, 30px, 0) scale(0.72) rotate(-5deg);
	}

	18% {
		opacity: 0.72;
	}

	48% {
		opacity: 0.5;
		transform: translate3d(-26px, -28px, 0) scale(1.02) rotate(3deg);
	}

	76% {
		opacity: 0.28;
		transform: translate3d(18px, -76px, 0) scale(1.24) rotate(-2deg);
	}

	100% {
		opacity: 0;
		transform: translate3d(-10px, -118px, 0) scale(1.42) rotate(4deg);
	}
}

@keyframes vb-work-spotlight-sweep {
	0% {
		opacity: 0.58;
		transform: rotate(-18deg) translate3d(-5%, 0, 0);
	}

	45% {
		opacity: 0.82;
		transform: rotate(10deg) translate3d(3%, 0, 0);
	}

	100% {
		opacity: 0.68;
		transform: rotate(22deg) translate3d(8%, 0, 0);
	}
}

@keyframes vb-title-heat-glitch {
	0%,
	100% {
		transform: translateY(-2px) skewX(-1deg);
	}

	18% {
		transform: translate(2px, -3px) skewX(-3deg);
	}

	34% {
		transform: translate(-2px, -1px) skewX(2deg);
	}

	52% {
		transform: translate(1px, -2px) skewX(-1deg);
	}
}

@keyframes vb-title-glitch-copy {
	0%,
	100% {
		clip-path: inset(0 0 0 0);
		transform: translate(0, 0);
	}

	18% {
		clip-path: inset(0 0 58% 0);
		transform: translate(4px, -1px);
	}

	34% {
		clip-path: inset(36% 0 20% 0);
		transform: translate(-4px, 1px);
	}

	52% {
		clip-path: inset(66% 0 0 0);
		transform: translate(3px, 0);
	}
}

@keyframes vb-float {
	0%,
	100% {
		transform: translateY(0) rotate(-4deg);
	}

	50% {
		transform: translateY(-12px) rotate(3deg);
	}
}

@keyframes vb-smoke-drift {
	0%,
	100% {
		opacity: 0.42;
		transform: translate3d(-2%, 2%, 0) scale(1);
	}

	50% {
		opacity: 0.72;
		transform: translate3d(3%, -3%, 0) scale(1.06);
	}
}

@keyframes vb-embers-rise {
	0% {
		opacity: 0;
		transform: translate3d(0, 30px, 0) rotate(0deg);
	}

	18%,
	72% {
		opacity: 1;
	}

	100% {
		opacity: 0;
		transform: translate3d(4vw, -118px, 0) rotate(9deg);
	}
}

@keyframes vb-spark-flicker {
	0%,
	100% {
		opacity: 0.2;
		transform: translate3d(-1vw, 10px, 0) scale(0.8);
	}

	35% {
		opacity: 1;
		transform: translate3d(2vw, -12px, 0) scale(1.12);
	}

	66% {
		opacity: 0.58;
		transform: translate3d(5vw, -28px, 0) scale(0.92);
	}
}

@keyframes vb-ember-glow {
	0%,
	100% {
		opacity: 0.72;
		transform: scale(1);
	}

	50% {
		opacity: 1;
		transform: scale(1.05);
	}
}

@media (max-width: 1180px) {
	.vb-specials .vb-section-heading {
		max-width: min(36vw, 460px);
	}

	.vb-specials-photo {
		width: min(58vw, 640px);
	}

	.vb-signature-campaign-head {
		grid-template-columns: minmax(0, 0.64fr) minmax(250px, 0.36fr);
	}

	.vb-signature-campaign-head h2 {
		font-size: clamp(3.9rem, 7.4vw, 7.1rem);
		letter-spacing: 0.014em;
	}
}

@media (max-width: 980px) {
	.vb-hero,
	.vb-split-grid,
	.vb-menu-teaser-grid,
	.vb-location-grid,
	.vb-contact-grid,
	.vb-booking-grid,
	.vb-work-hero-grid,
	.vb-work-culture-grid,
	.vb-work-values-grid,
	.vb-work-form-grid,
	.vb-reservation-inner,
	.vb-footer-inner {
		grid-template-columns: 1fr;
	}

	.vb-hero {
		min-height: auto;
		padding: 58px clamp(20px, 5vw, 42px) 360px;
		background:
			linear-gradient(180deg, rgba(0, 0, 0, 0.98) 0 48%, rgba(0, 0, 0, 0.42) 68%, rgba(0, 0, 0, 0.9) 100%),
			var(--vb-hero-mobile-bg),
			#000;
		background-position: center, center calc(100% - 18px), center;
		background-size: auto, min(92vw, 460px) auto, auto;
		background-repeat: no-repeat;
	}

	.vb-hero-content {
		max-width: 620px;
	}

	.vb-hero-visual {
		margin-top: 28px;
		margin-right: -16px;
		margin-left: -16px;
	}

	.vb-hero-visual img {
		width: 100%;
		height: min(58vh, 520px);
	}

	.vb-split-photo,
	.vb-specials-photo,
	.vb-menu-hero-photo {
		position: relative;
		right: auto;
		bottom: auto;
		width: min(92%, 620px);
		margin: 36px auto -28px;
		opacity: 0.42;
	}

	.vb-split-photo img,
	.vb-specials-photo img,
	.vb-menu-hero-photo img {
		height: 330px;
	}

	.vb-specials-photo {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		width: min(52vw, 500px);
		margin: 0;
		opacity: 1;
	}

	.vb-specials .vb-section-heading {
		max-width: min(38vw, 340px);
	}

	.vb-specials-photo img {
		height: 100%;
		object-fit: contain;
		object-position: center right;
		opacity: 1;
	}

	.vb-page-hero-menu {
		min-height: 700px;
		padding-bottom: clamp(320px, 44vw, 430px);
	}

	.vb-page-hero-menu .vb-page-hero-inner {
		width: min(440px, calc(100% - 40px));
		margin-left: 20px;
	}

	.vb-menu-hero-photo {
		position: absolute;
		left: 50%;
		right: auto;
		bottom: 0;
		width: min(118vw, 1180px);
		margin: 0;
		opacity: 1;
		transform: translateX(-50%);
	}

	.vb-menu-hero-photo img {
		height: auto;
		object-fit: contain;
		opacity: 1;
	}

	.vb-reservation-photo {
		right: -18%;
		width: 68vw;
		opacity: 0.35;
	}

	.vb-hero-stamp {
		right: 24px;
		bottom: 24px;
	}

	.vb-special-grid,
	.vb-menu-grid,
	.vb-work-profile-grid {
		grid-template-columns: 1fr;
	}

	.vb-contact-details,
	.vb-booking-copy {
		position: static;
	}

	.vb-work-stamp {
		width: min(260px, 78vw);
		margin: 0 auto;
	}
}

@media (max-width: 760px) {
	:root {
		--vb-header-height: 68px;
	}

	.vb-container,
	.vb-header-inner,
	.vb-footer-inner,
	.vb-footer-bottom {
		width: min(100% - 28px, 1160px);
	}

	.vb-header-inner {
		min-height: var(--vb-header-height);
		gap: 10px;
	}

	.vb-header-actions {
		gap: 8px;
		margin-left: 0;
	}

	.vb-lang-switcher {
		flex-basis: 84px;
		width: 84px;
		height: 38px;
		min-width: 84px;
	}

	.vb-lang-switcher select,
	.gtranslate_wrapper select,
	.gtranslate_wrapper .gt-current-lang {
		min-height: 38px;
		padding: 8px 32px 8px 10px;
		font-size: 0.7rem;
		line-height: 1;
	}

	.gtranslate_wrapper .gt_switcher {
		width: 74px !important;
		height: 38px !important;
		min-width: 74px !important;
	}

	.vb-lang-switcher #gt_float_wrapper,
	.vb-lang-switcher .gt_float_switcher,
	.vb-lang-switcher .gt_float_switcher .gt-selected,
	.vb-lang-switcher .gt_float_switcher .gt-current-lang {
		width: 84px !important;
		height: 38px !important;
		min-height: 38px !important;
	}

	.vb-lang-switcher .gt_float_switcher .gt-current-lang {
		gap: 5px !important;
		padding-right: 24px !important;
		padding-left: 8px !important;
	}

	.vb-lang-switcher .gt_float_switcher .gt-current-lang img {
		width: 21px !important;
		height: 15px !important;
	}

	.vb-lang-switcher .gt_float_switcher .gt_options {
		right: 14px !important;
		left: 14px !important;
		width: auto !important;
	}

	.gtranslate_wrapper .gt_switcher .gt_selected,
	.gtranslate_wrapper .gt_switcher .gt_selected a,
	.gtranslate_wrapper .gt_switcher .gt_selected a:hover {
		width: 74px !important;
		height: 38px !important;
		min-height: 38px !important;
	}

	.vb-lang-switcher .gt_selected,
	.vb-lang-switcher .gt-current-lang,
	.vb-lang-switcher [class*="gt_selected"],
	.vb-lang-switcher .gt_selected > a,
	.vb-lang-switcher .gt-current-lang,
	.vb-lang-switcher [class*="gt_selected"] > a {
		height: 38px !important;
		min-height: 38px !important;
	}

	.gtranslate_wrapper .gt_switcher .gt_selected a,
	.gtranslate_wrapper .gt_switcher .gt_selected a:hover {
		padding-right: 24px !important;
		padding-left: 10px !important;
		font-size: 0.68rem !important;
	}

	.gtranslate_wrapper .gt_switcher .gt_selected a::after {
		right: 10px;
	}

	.gtranslate_wrapper .gt_switcher .gt_option {
		position: fixed !important;
		top: calc(var(--vb-header-height) + 8px) !important;
		right: 14px !important;
		left: 14px !important;
		width: auto !important;
		max-height: min(280px, calc(100vh - var(--vb-header-height) - 24px)) !important;
	}

	.vb-lang-switcher select,
	.gtranslate_wrapper select {
		background-position:
			calc(100% - 14px) 16px,
			calc(100% - 8px) 16px;
	}

	.vb-menu-toggle {
		position: relative;
		z-index: 120;
		display: block;
	}

	.vb-primary-nav {
		position: fixed;
		top: var(--vb-header-height);
		right: 14px;
		left: 14px;
		z-index: 110;
		display: block;
		padding: 14px;
		border: 1px solid rgba(244, 239, 228, 0.14);
		border-radius: var(--vb-radius);
		background: rgba(7, 9, 13, 0.97);
		box-shadow: var(--vb-shadow);
		opacity: 0;
		pointer-events: none;
		transform: translateY(-10px);
		transition: opacity 180ms ease, transform 180ms ease;
	}

	.vb-nav-open .vb-primary-nav {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
	}

	.vb-nav-list {
		display: grid;
		gap: 4px;
	}

	.vb-nav-list a {
		width: 100%;
		justify-content: space-between;
	}

	.vb-hero {
		margin-bottom: 18px;
		min-height: 700px;
		padding: 34px 18px 278px;
		background-position: center, center calc(100% - 34px), center;
		background-size: auto, min(92vw, 390px) auto, auto;
	}

	.vb-hero-smoke {
		right: 50%;
		bottom: 18px;
		width: min(440px, 106vw);
		height: 250px;
		opacity: 0.7;
		transform: translateX(50%);
		mask-image:
			linear-gradient(to top, transparent 0 26%, #000 48% 100%),
			radial-gradient(ellipse at 50% 30%, #000 0 62%, transparent 84%);
	}

	.vb-hero h1 {
		font-size: clamp(2.8rem, 13vw, 4.55rem);
	}

	.vb-hero-script {
		margin-left: 2%;
		max-width: 96vw;
		font-size: clamp(1.35rem, 7vw, 2.15rem);
	}

	.vb-hero-actions,
	.vb-reservation-inner {
		align-items: stretch;
	}

	.vb-work-values-list,
	.vb-check-grid {
		grid-template-columns: 1fr;
	}

	.vb-work-values-punch {
		white-space: normal;
	}

	.vb-work-hero {
		min-height: auto;
	}

	.vb-button {
		width: 100%;
	}

	.vb-badge {
		width: 98px;
	}

	.vb-badge span {
		font-size: 1.2rem;
	}

	.vb-badge strong {
		font-size: 1.55rem;
	}

	.vb-hand-note {
		top: 10%;
		font-size: 1.65rem;
	}

	.vb-split-photo,
	.vb-specials-photo,
	.vb-menu-hero-photo {
		width: calc(100% - 28px);
		opacity: 0.32;
	}

	.vb-specials-photo {
		right: 0;
		width: 100vw;
		opacity: 1;
	}

	.vb-specials-photo img {
		opacity: 1;
	}

	.vb-page-hero-menu {
		min-height: 600px;
		padding-top: 48px;
		padding-bottom: 270px;
	}

	.vb-page-hero-menu .vb-page-hero-inner {
		max-width: 330px;
	}

	.vb-menu-hero-photo {
		width: 108vw;
		opacity: 1;
	}

	.vb-menu-hero-photo img {
		height: auto;
		opacity: 1;
	}

	.vb-reservation-photo {
		display: none;
	}

	.vb-hero-stamp {
		width: 106px;
		font-size: 0.65rem;
	}

	.vb-proof-grid {
		grid-template-columns: 1fr;
	}

	.vb-form-row {
		grid-template-columns: 1fr;
	}

	.vb-teaser-list a {
		align-items: flex-start;
		flex-direction: column;
	}

	.vb-card-lab-grid,
	.vb-menu-polaroid-grid,
	.vb-dish-diagonal,
	.vb-dish-horizontal {
		grid-template-columns: 1fr;
	}

	.vb-menu-polaroid-card {
		min-height: 320px;
	}

	.vb-dish-card {
		min-height: 430px;
	}

	.vb-dish-diagonal img {
		min-height: 280px;
		clip-path: none;
	}

	.vb-dish-horizontal {
		min-height: 450px;
	}

	.vb-dish-horizontal img {
		min-height: 260px;
	}

	.vb-dish-float img {
		right: -22%;
		width: 120%;
	}

	.vb-signature-intro h2,
	.vb-signature-copy h3,
	.vb-signature-outro p {
		font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	}

	.vb-signature-campaign-head {
		grid-template-columns: 1fr;
	}

	.vb-signature-campaign-head h2 {
		font-size: clamp(3.9rem, 16vw, 6.8rem);
	}

	.vb-signature-orbit {
		min-height: 860px;
	}

	.vb-signature-watermark {
		top: 20%;
		font-size: clamp(5rem, 24vw, 8rem);
		white-space: normal;
	}

	.vb-signature-piece-left,
	.vb-signature-piece-center,
	.vb-signature-piece-right {
		left: 50%;
		right: auto;
		width: min(82vw, 360px);
		height: 340px;
	}

	.vb-signature-piece-left {
		top: 8%;
		transform: translateX(-62%) rotate(-5deg);
	}

	.vb-signature-piece-center {
		top: 35%;
		width: min(88vw, 390px);
		height: 360px;
		transform: translateX(-50%);
	}

	.vb-signature-piece-right {
		top: 66%;
		transform: translateX(-38%) rotate(4deg);
	}

	.vb-signature-piece-left:hover,
	.vb-signature-piece-center:hover,
	.vb-signature-piece-right:hover {
		transform: translateX(-50%) scale(1.025);
	}

	.vb-hero-content.is-visible .vb-small-label,
	.vb-hero-content.is-visible .vb-hero-title,
	.vb-hero-content.is-visible .vb-hero-script,
	.vb-hero-content.is-visible .vb-hero-copy,
	.vb-hero-content.is-visible .vb-hero-actions .vb-button {
		opacity: 1;
		filter: none;
		transform: none;
		animation: none;
	}

	.vb-signature-piece-copy {
		transform: translateY(0);
	}

	.vb-signature-piece-copy p {
		opacity: 1;
		transform: none;
	}

	.vb-signature-badge {
		right: 18px;
		top: 18px;
		bottom: auto;
		width: 96px;
	}

	.vb-signature-campaign-footer {
		align-items: flex-start;
		flex-direction: column;
	}

	.vb-signature-scene {
		min-height: 112vh;
	}

	.vb-signature-stage {
		align-content: end;
		min-height: 100svh;
		padding: 82px 18px 28px;
	}

	.vb-signature-name {
		top: 20%;
		left: 16px;
		width: auto;
		font-size: clamp(5.3rem, 22vw, 8.8rem);
		white-space: normal;
	}

	.vb-signature-media,
	.vb-signature-txapela .vb-signature-media {
		top: 34%;
		left: 50%;
		right: auto;
		width: min(116vw, 660px);
		transform:
			translate3d(-50%, calc(-50% + (var(--scene-progress) - 0.5) * var(--vb-layer-speed, -30) * 1px), 0)
			scale(calc(0.94 + (var(--scene-progress) * 0.08)));
	}

	.vb-signature-copy,
	.vb-signature-txapela .vb-signature-copy {
		align-self: end;
		width: 100%;
		margin: 0;
		text-align: left;
	}

	.vb-signature-copy h3 {
		font-size: clamp(3.5rem, 18vw, 6rem);
	}

	.vb-signature-copy > p:not(.vb-small-label),
	.vb-signature-txapela .vb-signature-copy > p:not(.vb-small-label) {
		max-width: 100%;
		margin-left: 0;
	}

	.vb-signature-ingredients,
	.vb-signature-txapela .vb-signature-ingredients {
		position: relative;
		left: auto;
		right: auto;
		bottom: auto;
		width: 100%;
		margin-top: 22px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.vb-signature-ingredients li,
	.vb-signature-ingredients li:nth-child(2n),
	.vb-signature-ingredients li:nth-child(3n) {
		width: auto;
		margin-left: 0;
	}

	.vb-footer-bottom {
		flex-direction: column;
		align-items: center;
		gap: 12px;
		text-align: center;
	}

	.vb-legal-links {
		display: grid;
		width: 100%;
		gap: 0;
		justify-content: stretch;
	}

	.vb-legal-links a {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-height: 44px;
		padding: 10px 8px;
		border-top: 1px solid rgba(244, 239, 228, 0.08);
		text-align: center;
	}

	.vb-legal-links a:last-child {
		border-bottom: 1px solid rgba(244, 239, 228, 0.08);
	}
}

/* Custom 404: a lost recipe, not a dead end. */
.vb-404 {
	position: relative;
	display: grid;
	min-height: 100vh;
	overflow: hidden;
	background:
		linear-gradient(90deg, rgba(7, 9, 13, 0.96) 0 46%, rgba(13, 18, 26, 0.78) 68%, rgba(7, 9, 13, 0.96) 100%),
		repeating-linear-gradient(112deg, transparent 0 82px, rgba(244, 239, 228, 0.025) 82px 83px);
	isolation: isolate;
}

.vb-404::before {
	position: absolute;
	inset: 0;
	z-index: -2;
	background:
		radial-gradient(circle at 76% 46%, rgba(245, 173, 22, 0.18), transparent 25rem),
		radial-gradient(circle at 78% 74%, rgba(217, 67, 44, 0.13), transparent 22rem);
	content: "";
}

.vb-404::after {
	position: absolute;
	inset: auto 0 0;
	z-index: -1;
	height: 32%;
	background: linear-gradient(to top, rgba(245, 173, 22, 0.09), transparent);
	content: "";
}

.vb-404-grain {
	position: absolute;
	inset: 0;
	z-index: 4;
	pointer-events: none;
	opacity: 0.24;
	background-image:
		radial-gradient(circle at 20% 40%, rgba(255, 255, 255, 0.14) 0 1px, transparent 1px),
		radial-gradient(circle at 70% 65%, rgba(245, 173, 22, 0.15) 0 1px, transparent 1px);
	background-size: 17px 19px, 23px 29px;
	mix-blend-mode: overlay;
}

.vb-404-wordmark {
	position: absolute;
	top: 7%;
	right: -2%;
	z-index: -1;
	color: rgba(244, 239, 228, 0.035);
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: clamp(7rem, 16vw, 15rem);
	line-height: 0.75;
	text-transform: uppercase;
	white-space: nowrap;
	transform: rotate(-4deg);
}

.vb-404-layout {
	display: grid;
	grid-template-columns: minmax(0, 0.94fr) minmax(380px, 1.06fr);
	align-items: center;
	gap: clamp(30px, 5vw, 86px);
	padding-block: clamp(70px, 10vh, 130px);
}

.vb-404-copy {
	position: relative;
	z-index: 5;
	max-width: 650px;
}

.vb-404-copy h1 {
	margin: 14px 0 24px;
	color: var(--vb-bone);
	font-family: "Vice Impacted", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: 6rem;
	line-height: 0.8;
	text-transform: uppercase;
	text-shadow: 7px 7px 0 rgba(0, 0, 0, 0.55);
}

.vb-404-copy h1 span {
	display: block;
	white-space: nowrap;
}

.vb-404-copy h1::after {
	display: block;
	width: min(86%, 520px);
	height: 9px;
	margin-top: 18px;
	background: linear-gradient(90deg, var(--vb-mustard), var(--vb-ember), transparent);
	content: "";
	transform: skewX(-18deg);
}

.vb-404-lead {
	max-width: 580px;
	margin: 0 0 12px;
	color: var(--vb-bone);
	font-size: clamp(1.15rem, 2vw, 1.5rem);
	font-weight: 900;
}

.vb-404-copy > p:not(.vb-small-label, .vb-404-lead) {
	max-width: 560px;
	margin: 0;
	color: rgba(244, 239, 228, 0.72);
	font-size: clamp(1rem, 1.4vw, 1.16rem);
}

.vb-404-copy .vb-hero-actions {
	margin-top: 34px;
}

.vb-404-copy .vb-hero-actions .vb-button {
	opacity: 1;
	filter: none;
	transform: none;
}

.vb-404-stage {
	position: relative;
	display: grid;
	place-items: center;
	min-height: min(720px, 76vh);
	outline: 0;
}

.vb-404-orbit {
	position: absolute;
	width: min(38vw, 520px);
	aspect-ratio: 1;
	border: 1px solid rgba(245, 173, 22, 0.22);
	border-radius: 50%;
	box-shadow:
		inset 0 0 80px rgba(245, 173, 22, 0.05),
		0 0 90px rgba(245, 173, 22, 0.05);
	transform: rotate(-12deg);
}

.vb-404-orbit::before,
.vb-404-orbit::after {
	position: absolute;
	border: 1px dashed rgba(244, 239, 228, 0.12);
	border-radius: 50%;
	content: "";
}

.vb-404-orbit::before {
	inset: 10%;
}

.vb-404-orbit::after {
	inset: 23%;
}

.vb-404-burger {
	position: relative;
	z-index: 2;
	width: min(36vw, 470px);
	height: 430px;
	filter: drop-shadow(0 34px 28px rgba(0, 0, 0, 0.5));
	transform: rotate(-4deg);
}

.vb-404-ingredient {
	position: absolute;
	left: 50%;
	display: block;
	transition: transform 650ms cubic-bezier(0.2, 0.85, 0.2, 1), top 650ms cubic-bezier(0.2, 0.85, 0.2, 1);
}

.vb-404-bun-top {
	top: 8px;
	width: 76%;
	height: 115px;
	border-radius: 48% 52% 24% 24% / 72% 72% 28% 28%;
	background:
		radial-gradient(circle at 24% 28%, #f4d49b 0 3px, transparent 4px),
		radial-gradient(circle at 62% 18%, #f4d49b 0 3px, transparent 4px),
		radial-gradient(circle at 78% 36%, #f4d49b 0 2px, transparent 3px),
		linear-gradient(180deg, #e9a736, #a84e0a 78%, #6d2d05);
	box-shadow: inset 0 -18px 22px rgba(91, 31, 2, 0.32), inset 0 8px 16px rgba(255, 226, 158, 0.42);
	transform: translateX(-65%) rotate(-9deg);
}

.vb-404-sauce {
	top: 153px;
	width: 61%;
	height: 18px;
	border-radius: 50%;
	background: var(--vb-ember);
	box-shadow: 14px 8px 0 -4px var(--vb-ember), -22px 5px 0 -6px #f07137;
	transform: translateX(-23%) rotate(9deg);
}

.vb-404-lettuce {
	top: 205px;
	width: 76%;
	height: 34px;
	background: #829b38;
	clip-path: polygon(0 52%, 9% 18%, 18% 65%, 29% 25%, 40% 72%, 52% 20%, 63% 68%, 75% 23%, 87% 69%, 100% 35%, 96% 100%, 4% 94%);
	filter: drop-shadow(0 8px 6px rgba(0, 0, 0, 0.35));
	transform: translateX(-75%) rotate(-5deg);
}

.vb-404-cheese {
	top: 254px;
	width: 67%;
	height: 48px;
	border-radius: 8px;
	background: #f5ad16;
	clip-path: polygon(0 0, 100% 0, 100% 66%, 78% 64%, 70% 100%, 56% 66%, 0 76%);
	box-shadow: inset 0 -10px 12px rgba(174, 86, 0, 0.22);
	transform: translateX(-28%) rotate(7deg);
}

.vb-404-patty {
	top: 318px;
	width: 72%;
	height: 74px;
	border-radius: 42% 45% 34% 38%;
	background:
		radial-gradient(circle at 28% 42%, #321408 0 3px, transparent 4px),
		radial-gradient(circle at 72% 58%, #321408 0 4px, transparent 5px),
		linear-gradient(180deg, #713019, #2c0f07 76%);
	box-shadow: inset 0 10px 12px rgba(202, 100, 46, 0.24), inset 0 -12px 13px rgba(0, 0, 0, 0.36);
	transform: translateX(-68%) rotate(-6deg);
}

.vb-404-onion {
	top: 350px;
	width: 56%;
	height: 22px;
	border: 9px solid #c04e72;
	border-radius: 50%;
	box-shadow: 38px -7px 0 -4px #e47b93;
	transform: translateX(-20%) rotate(10deg);
}

.vb-404-bun-bottom {
	top: 404px;
	width: 74%;
	height: 70px;
	border-radius: 22% 25% 45% 42%;
	background: linear-gradient(180deg, #bd6816, #713006);
	box-shadow: inset 0 12px 14px rgba(255, 194, 89, 0.24), inset 0 -12px 12px rgba(75, 22, 0, 0.25);
	transform: translateX(-61%) rotate(-4deg);
}

.vb-404-crumb {
	position: absolute;
	z-index: 3;
	width: 8px;
	aspect-ratio: 1;
	border-radius: 50%;
	background: var(--vb-mustard);
	box-shadow: 0 0 15px rgba(245, 173, 22, 0.8);
	animation: vb-404-crumb-float 3.8s ease-in-out infinite;
}

.vb-404-crumb-one {
	top: 21%;
	left: 4%;
}

.vb-404-crumb-two {
	top: 58%;
	right: 2%;
	animation-delay: -1.2s;
}

.vb-404-crumb-three {
	right: 17%;
	bottom: 3%;
	animation-delay: -2.4s;
}

.vb-404-secret {
	position: absolute;
	top: 67%;
	z-index: 4;
	margin: 0;
	color: var(--vb-mustard);
	font-family: "Vice Blacksword", "Brush Script MT", "Segoe Script", cursive;
	font-size: clamp(1.6rem, 3vw, 2.8rem);
	opacity: 0;
	transform: translateY(18px) rotate(-4deg);
	transition: opacity 300ms ease 400ms, transform 400ms ease 350ms;
}

.vb-404-stamp {
	position: absolute;
	right: 1%;
	bottom: 2%;
	z-index: 5;
	display: grid;
	width: min(290px, 72%);
	padding: 18px 20px;
	border: 3px solid var(--vb-mustard);
	background: rgba(7, 9, 13, 0.88);
	box-shadow: 6px 6px 0 var(--vb-ember);
	transform: rotate(3deg);
}

.vb-404-stamp strong {
	color: var(--vb-mustard);
	font-family: "Vice Cross Town", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
	font-size: clamp(1.8rem, 3vw, 2.7rem);
	line-height: 0.9;
	text-transform: uppercase;
}

.vb-404-stamp span {
	margin-top: 8px;
	color: rgba(244, 239, 228, 0.72);
	font-size: 0.86rem;
	font-weight: 700;
}

.vb-404-stage:hover .vb-404-bun-top,
.vb-404-stage:focus-visible .vb-404-bun-top {
	top: 46px;
	transform: translateX(-50%) rotate(0);
}

.vb-404-stage:hover .vb-404-sauce,
.vb-404-stage:focus-visible .vb-404-sauce {
	top: 154px;
	transform: translateX(-50%) rotate(0);
}

.vb-404-stage:hover .vb-404-lettuce,
.vb-404-stage:focus-visible .vb-404-lettuce {
	top: 169px;
	transform: translateX(-50%) rotate(0);
}

.vb-404-stage:hover .vb-404-cheese,
.vb-404-stage:focus-visible .vb-404-cheese {
	top: 198px;
	transform: translateX(-50%) rotate(0);
}

.vb-404-stage:hover .vb-404-patty,
.vb-404-stage:focus-visible .vb-404-patty {
	top: 233px;
	transform: translateX(-50%) rotate(0);
}

.vb-404-stage:hover .vb-404-onion,
.vb-404-stage:focus-visible .vb-404-onion {
	top: 289px;
	transform: translateX(-50%) rotate(0);
}

.vb-404-stage:hover .vb-404-bun-bottom,
.vb-404-stage:focus-visible .vb-404-bun-bottom {
	top: 314px;
	transform: translateX(-50%) rotate(0);
}

.vb-404-stage:hover .vb-404-secret,
.vb-404-stage:focus-visible .vb-404-secret {
	opacity: 1;
	transform: translateY(0) rotate(-4deg);
}

@keyframes vb-404-crumb-float {
	0%,
	100% {
		transform: translateY(0) scale(1);
	}
	50% {
		transform: translateY(-18px) scale(0.72);
	}
}

@media (max-width: 980px) {
	.vb-404-layout {
		grid-template-columns: 1fr;
		padding-block: 64px 90px;
	}

	.vb-404-copy {
		max-width: 760px;
	}

	.vb-404-copy h1 {
		font-size: 5.5rem;
	}

	.vb-404-stage {
		min-height: 650px;
	}

	.vb-404-burger {
		width: min(72vw, 470px);
	}

	.vb-404-orbit {
		width: min(74vw, 520px);
	}
}

@media (max-width: 600px) {
	.vb-404 {
		min-height: 100svh;
	}

	.vb-404-layout {
		width: min(100% - 28px, 1160px);
		gap: 20px;
		padding-block: 46px 72px;
	}

	.vb-404-copy h1 {
		font-size: 4rem;
	}

	.vb-404-copy .vb-hero-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.vb-404-copy .vb-button {
		width: 100%;
	}

	.vb-404-stage {
		min-height: 570px;
	}

	.vb-404-burger {
		width: min(94vw, 390px);
		transform: scale(0.84) rotate(-4deg);
	}

	.vb-404-orbit {
		width: min(92vw, 420px);
	}

	.vb-404-stamp {
		right: 4%;
		bottom: 0;
		width: min(275px, 82%);
	}

	.vb-404-secret {
		top: 64%;
	}
}

@media (max-width: 460px) {
	.vb-hero h1,
	.vb-page-hero h1,
	.vb-section-heading h2,
	.vb-reservation-inner h2,
	.vb-booking-copy h2,
	.vb-contact-details h2,
	.vb-menu-card h2 {
		overflow-wrap: normal;
		word-break: normal;
		hyphens: none;
	}

	.vb-page-hero-inner {
		width: min(100% - 28px, 960px);
	}

	.vb-special-card,
	.vb-menu-card,
	.vb-form-panel,
	.vb-location-panel {
		padding: 20px;
	}

	.vb-menu-card {
		min-height: 320px;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
	}

	.vb-reveal {
		opacity: 1;
		transform: none;
	}

	.vb-hero-content .vb-small-label,
	.vb-hero-title,
	.vb-hero-script,
	.vb-hero-copy,
	.vb-hero-actions .vb-button {
		opacity: 1;
		filter: none;
		transform: none;
	}

	.vb-hero-title::after {
		transform: scaleX(1) skewX(-16deg);
	}

	.vb-hero-smoke span {
		animation: none;
		opacity: 0.28;
		transform: translate3d(0, -24px, 0) scale(1);
	}

	.vb-work-spotlight {
		animation: none;
		transform: rotate(8deg);
	}

	.vb-menu-card h2:hover,
	.vb-menu-card h2:focus-visible {
		transform: none;
	}

	.vb-menu-card h2:hover::before,
	.vb-menu-card h2:focus-visible::before {
		opacity: 0;
	}
}
