:root {
	--color-bg: #05080c;
	--color-bg-soft: #0b1220;
	--color-bg-mid: #111c26;
	--color-wood: #2a1d17;
	--color-gold: #d8a74e;
	--color-gold-soft: #f2cb76;
	--color-green: #174435;
	--color-green-soft: #1f5b47;
	--color-text: #e9edf1;
	--color-text-soft: #a9b5c4;
	--color-border: rgba(255, 255, 255, 0.12);
	--shadow-lg: 0 20px 50px rgba(0, 0, 0, 0.45);
	--radius-md: 14px;
	--radius-lg: 22px;
	--radius-xl: 30px;
}

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

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	font-family: "Raleway", sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 1.65;
	color: var(--color-text);
	background: radial-gradient(1200px 600px at 15% -20%, rgba(216, 167, 78, 0.2), transparent 60%), radial-gradient(900px 700px at 100% 0%, rgba(23, 68, 53, 0.28), transparent 58%), var(--color-bg);
	overflow-x: hidden;
}

.page-wrapper {
	overflow: hidden;
}

h1, h2, h3, h4, h5, h6 {
	margin: 0 0 0.75rem;
	font-family: "Raleway", sans-serif;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: 0.02em;
	color: #fff;
}

h1 {
	font-size: clamp(2.6rem, 9vw, 5.3rem);
}

h2 {
	font-size: clamp(2rem, 6vw, 3.3rem);
}

h3 {
	font-size: clamp(1.4rem, 4vw, 2rem);
}

p {
	margin: 0 0 1rem;
	color: var(--color-text-soft);
}

a {
	color: inherit;
	text-decoration: none;
	transition: color 0.25s ease, opacity 0.25s ease, transform 0.25s ease;
}

a:hover {
	color: var(--color-gold-soft);
}

.section-dark, .section-mid {
	padding: 76px 0;
}

.section-dark {
	background: linear-gradient(180deg, rgba(10, 15, 22, 0.96), rgba(8, 12, 18, 0.96));
}

.section-mid {
	background: linear-gradient(145deg, #101a26 0%, #0d161f 60%, #121f2a 100%);
}

.section-head {
	margin-bottom: 34px;
}

.section-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 12px;
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: var(--color-gold);
	font-weight: 700;
}

.section-eyebrow::before {
	content: "";
	display: inline-block;
	width: 36px;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--color-gold));
}

.site-header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1030;
	background: transparent;
	border-bottom: 1px solid transparent;
	transition: border-color 0.3s ease, background 0.3s ease, backdrop-filter 0.3s ease;
}

.site-header.is-scrolled {
	position: fixed;
	border-color: var(--color-border);
	background: rgba(3, 6, 10, 0.92);
	backdrop-filter: blur(12px);
}

.header-row {
	padding: 8px 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 14px;
	min-height: 74px;
	position: relative;
}

.center-brand {
	display: inline-flex;
	align-items: center;
	color: #f3f7fb;
	justify-self: center;
	justify-content: center;
	padding: 0;
	position: absolute;
	left: 50%;
	top: 0px;
	transform: translateX(-50%) translateY(22%);
	width: 150px;
	height: 150px;
	border-radius: 50%;
	border: 0;
	transition: transform 0.28s ease, width 0.28s ease, height 0.28s ease, background 0.28s ease;
	z-index: 2;
}

.center-brand img {
	height: 150px;
	width: auto;
	display: block;
	filter: none;
	transition: height 0.28s ease;
}

.site-header.is-scrolled .center-brand {
	transform: translateX(-50%) translateY(0);
	width: 110px;
	height: 110px;
	background: rgb(10 15 21);
}

.site-header.is-scrolled .center-brand img {
	height: 88px;
}

.header-nav ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	gap: 4px;
}

.header-nav {
	justify-self: start;
	position: relative;
	z-index: 3;
}

.header-nav a {
	display: inline-flex;
	align-items: center;
	padding: 8px 10px;
	font-size: 0.9rem;
	font-weight: 400;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #e7edf5;
	position: relative;
}

.header-nav a::after {
	content: "";
	position: absolute;
	left: 10px;
	right: 10px;
	bottom: 4px;
	height: 1px;
	background: var(--color-gold);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.25s ease;
}

.header-nav a:hover::after {
	transform: scaleX(1);
}

.open-pill {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 0.45rem 1.2rem;
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	text-transform: none;
	color: #c8f5dc;
	background: rgba(31, 91, 71, 0.36);
	border: 1px solid rgba(74, 193, 139, 0.45);
	height: 46px;
}

.open-pill i {
	font-size: 0.46rem;
	color: #47d88d;
	flex-shrink: 0;
	margin-top: 1px;
}

.status-copy {
	display: flex;
	flex-direction: column;
	line-height: 1.08;
	gap: 4px;
}

.status-title {
	font-size: 0.88rem;
	font-weight: 800;
}

.status-detail {
	font-size: 0.76rem;
	font-weight: 500;
	opacity: 1;
}

.header-phone {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 0.45rem 0.9rem;
	border-radius: 999px;
	border: 1px solid rgba(216, 167, 78, 0.45);
	color: #f4dca9;
	font-weight: 700;
	font-size: 0.78rem;
	background: rgba(0, 0, 0, 0.24);
}

.header-right {
	display: flex;
	align-items: center;
	justify-self: end;
	gap: 10px;
	position: relative;
	z-index: 3;
}

.status-open {
	color: #c8f5dc;
	background: rgba(31, 91, 71, 0.36);
	border-color: rgba(74, 193, 139, 0.45);
}

.status-open i {
	animation: pulse-open-dot 1.8s ease-in-out infinite;
}

.status-warning {
	color: #ffe2af;
	background: rgba(166, 110, 21, 0.35);
	border-color: rgba(235, 168, 61, 0.5);
}

.status-warning i {
	color: #ffbe4d;
}

.status-closed {
	color: #ffd2d2;
	background: rgba(125, 24, 24, 0.36);
	border-color: rgba(211, 69, 69, 0.5);
}

.status-closed i {
	color: #f07070;
}

.btn-reserve {
	justify-content: center;
}

.header-social-link {
	width: 46px;
	height: 46px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(216, 167, 78, 0.58);
	color: #f4ddb0;
	font-size: 1rem;
	transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.header-social-link:hover {
	transform: translateY(-1px);
	background: rgba(216, 167, 78, 0.16);
	border-color: rgba(255, 218, 145, 0.9);
	color: #ffeecb;
}

.navbar-toggler {
	border: 1px solid var(--color-border);
	padding: 0.45rem 0.65rem;
}

.navbar-toggler:focus {
	box-shadow: none;
}

.navbar-toggler-icon {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28242, 203, 118, 0.96%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.btn-havran {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 0.82rem 1.35rem;
	border-radius: 999px;
	font-size: 0.86rem;
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0.03em;
	border: 1px solid transparent;
	transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.btn-havran:hover {
	transform: translateY(-2px);
}

.btn-havran-primary {
	background: linear-gradient(135deg, #c99334, #f2cb76);
	color: #161006;
	box-shadow: 0 10px 24px rgba(216, 167, 78, 0.35);
}

.btn-havran-primary:hover {
	color: #090603;
	box-shadow: 0 16px 34px rgba(216, 167, 78, 0.4);
}

.btn-havran-outline {
	border-color: rgba(216, 167, 78, 0.7);
	color: #f2d7a0;
	background: rgba(216, 167, 78, 0.06);
}

.btn-havran-outline:hover {
	background: rgba(216, 167, 78, 0.18);
	color: #fff2d0;
}

.btn-havran-alt {
	background: linear-gradient(135deg, #b88224, #f0c76f 48%, #f7d88f);
	border-color: rgba(234, 194, 109, 0.75);
	color: #171006;
	box-shadow: 0 12px 28px rgba(150, 97, 13, 0.34);
	border-width: 1px;
}

.btn-havran-alt:hover {
	background: linear-gradient(135deg, #cb973a, #f5d694 50%, #ffe6ad);
	color: #120b04;
	border-color: rgba(248, 214, 143, 0.95);
	box-shadow: 0 16px 34px rgba(150, 97, 13, 0.42);
}

.btn-havran-alt-navy {
	background: rgba(0, 0, 0, 0.16);
	border-color: rgba(228, 184, 100, 0.75);
	color: #f7deaf;
}

.btn-havran-alt-navy:hover {
	background: rgba(227, 177, 81, 0.14);
	color: #ffe8ba;
	border-color: rgba(255, 216, 145, 0.95);
}

.btn-unified {
	min-width: 210px;
	min-height: 56px;
	padding: 0.86rem 1.1rem;
	font-size: 0.98rem;
}

.btn-reserve {
	min-width: 165px;
	min-height: 46px;
	padding: 0.66rem 0.95rem;
	font-size: 0.88rem;
}

.hero {
	position: relative;
	min-height: 100vh;
	display: flex;
	align-items: center;
	background-image: var(--hero-image);
	background-size: cover;
	background-position: center;
	padding-top: 96px;
}

.hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(3, 7, 12, 0.92) 0%, rgba(4, 8, 13, 0.72) 36%, rgba(4, 8, 12, 0.97) 100%), radial-gradient(560px 250px at 50% 60%, rgba(216, 167, 78, 0.12), transparent 72%);
}

.hero-content {
	position: relative;
	z-index: 2;
	max-width: 100%;
	padding-top: 8px;
	padding-bottom: 54px;
	text-align: center;
	animation: fade-up 0.9s ease both;
}

.hero-mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 66px;
	height: 66px;
	border-radius: 50%;
	border: 1px solid rgba(216, 167, 78, 0.45);
	background: rgba(0, 0, 0, 0.26);
	color: var(--color-gold-soft);
	font-size: 1.2rem;
	margin-bottom: 16px;
}

.hero-kicker {
	display: inline-block;
	padding: 0.42rem 0.95rem;
	border: 1px solid rgba(216, 167, 78, 0.56);
	border-radius: 999px;
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	font-weight: 700;
	color: var(--color-gold-soft);
	background: rgba(0, 0, 0, 0.4);
}

.hero h1 {
	margin-top: 18px;
	margin-bottom: 14px;
	text-shadow: 0 16px 40px rgba(0, 0, 0, 0.6);
}

.hero-title {
	font-size: clamp(2.8rem, 8vw, 5.6rem);
	font-family: "Raleway", sans-serif;
	font-weight: 600;
	letter-spacing: 0.06em;
	color: #fff;
}

.hero-title span {
	font-weight: 700;
	background: linear-gradient(135deg, #fff2cf 0%, #f2cb76 38%, #c98b2e 68%, #fff0c6 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	text-shadow: 0 8px 24px rgba(185, 120, 22, 0.28);
	animation: havran-title-flash 1.3s ease-out 0.15s 1 both;
}

.hero-title::before {
	content: "";
	display: block;
	width: 120px;
	height: 2px;
	margin: 0 auto 18px;
	background: linear-gradient(90deg, transparent, var(--color-gold), transparent);
}

.hero-lead {
	max-width: 620px;
	margin: 0 auto;
	font-size: 1.22rem;
	color: #d7e1eb;
	font-weight: 500;
	margin-bottom: 30px;
	margin-top: 30px;
}

.hero-points {
	margin: 18px auto 0;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	gap: 36px;
	width: max-content;
	max-width: 100%;
	text-align: center;
}

.hero-points div {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font-size: 0.98rem;
	color: #dbe6f1;
	font-weight: 500;
	white-space: nowrap;
}

.hero-points i {
	color: var(--color-gold-soft);
	font-size: 0.82rem;
	width: 14px;
}

.hero-open {
	margin-top: 18px;
	display: inline-flex;
	align-items: flex-start;
	gap: 9px;
	padding: 0.44rem 0.9rem;
	border-radius: 999px;
	background: rgba(31, 91, 71, 0.3);
	border: 1px solid rgba(74, 193, 139, 0.5);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	text-transform: none;
	color: #c6f3dc;
}

.hero-open i {
	font-size: 0.45rem;
	color: #47d88d;
	margin-top: 3px;
}

.hero-open .status-copy {
	line-height: 1.1;
	gap: 4px;
}

.hero-open .status-title {
	font-size: 0.84rem;
}

.hero-open .status-detail {
	font-size: 0.74rem;
}

.hero-open.status-warning {
	color: #ffe2af;
	background: rgba(166, 110, 21, 0.35);
	border-color: rgba(235, 168, 61, 0.5);
}

.hero-open.status-warning i {
	color: #ffbe4d;
}

.hero-open.status-closed {
	color: #ffd2d2;
	background: rgba(125, 24, 24, 0.36);
	border-color: rgba(211, 69, 69, 0.5);
}

.hero-open.status-closed i {
	color: #f07070;
}

.hero-actions {
	margin-top: 54px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 12px;
}

.hero-scroll {
	margin-top: 40px;
	width: 42px;
	height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.3);
	color: #e9eef4;
	animation: bounce-arrow 1.8s ease-in-out infinite;
}

.hero-scroll:hover {
	border-color: rgba(216, 167, 78, 0.8);
	color: var(--color-gold-soft);
}

.about-media {
	border-radius: var(--radius-xl);
	overflow: hidden;
	box-shadow: var(--shadow-lg);
	border: 1px solid var(--color-border);
}

.about-media img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

.about-points {
	margin-top: 20px;
	display: grid;
	gap: 10px;
}

.about-points div {
	display: flex;
	align-items: center;
	gap: 10px;
	color: #d8e3ee;
	font-weight: 500;
}

.about-points i {
	color: var(--color-gold);
	width: 18px;
}

.gallery-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: 1fr;
}

.gallery-card {
	margin: 0;
	border-radius: var(--radius-lg);
	overflow: hidden;
	border: 1px solid var(--color-border);
	box-shadow: var(--shadow-lg);
	min-height: 220px;
}

.gallery-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.55s ease, filter 0.35s ease;
	filter: saturate(1.04);
}

.gallery-card:hover img {
	transform: scale(1.08);
	filter: saturate(1.13);
}

.menu-card {
	height: 100%;
	background: linear-gradient(165deg, rgba(23, 68, 53, 0.34), rgba(8, 13, 17, 0.78));
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	padding: 22px 18px;
}

.menu-feature {
	height: 100%;
	border-radius: var(--radius-lg);
	overflow: hidden;
	border: 1px solid var(--color-border);
	background: rgba(255, 255, 255, 0.02);
}

.menu-feature img {
	width: 100%;
	height: 260px;
	object-fit: cover;
	display: block;
}

.menu-feature-content {
	padding: 20px 18px;
}

.menu-feature-content h3 {
	margin-bottom: 10px;
}

.menu-list {
	height: 100%;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	background: linear-gradient(165deg, rgba(23, 68, 53, 0.22), rgba(8, 13, 17, 0.9));
	padding: 18px;
	display: grid;
	gap: 8px;
}

.menu-line {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 8px;
	border-bottom: 1px dashed rgba(255, 255, 255, 0.15);
}

.menu-line:last-child {
	border-bottom: 0;
}

.menu-line span {
	font-family: "Cormorant Garamond", serif;
	font-size: 1.25rem;
	color: #f7fafc;
}

.menu-line em {
	font-style: normal;
	font-size: 0.75rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--color-gold-soft);
}

.menu-card h3 {
	font-size: 1.5rem;
	color: #fff;
	margin-bottom: 12px;
}

.menu-card ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 7px;
}

.menu-card li {
	color: #d5dde7;
	position: relative;
	padding-left: 18px;
}

.menu-card li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 10px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--color-gold);
}

.menu-actions {
	margin-top: 28px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 12px;
}

.event-card {
	height: 100%;
	background: linear-gradient(175deg, rgba(17, 28, 38, 0.96), rgba(8, 13, 18, 0.96));
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	padding: 24px 22px;
	text-align: center;
	box-shadow: var(--shadow-lg);
	transition: transform 0.25s ease, border-color 0.25s ease;
}

.events-wrap {
	display: grid;
	grid-template-columns: 1.1fr 1.4fr;
	gap: 16px;
}

.event-stage {
	border-radius: var(--radius-lg);
	border: 1px solid var(--color-border);
	background: linear-gradient(145deg, rgba(10, 20, 30, 0.95), rgba(12, 30, 40, 0.88));
	padding: 24px 20px;
}

.event-stage h3 {
	margin-bottom: 14px;
}

.event-stage ol {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 10px;
}

.event-stage li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	color: #d6e0ea;
}

.event-stage li span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: rgba(216, 167, 78, 0.22);
	border: 1px solid rgba(216, 167, 78, 0.5);
	font-size: 0.72rem;
	font-weight: 700;
	color: #ffe4b2;
	flex-shrink: 0;
}

.event-types {
	display: grid;
	gap: 10px;
}

.event-chip {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	border: 1px solid var(--color-border);
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.03);
	padding: 14px 14px;
}

.event-chip i {
	color: var(--color-gold);
	font-size: 1rem;
	margin-top: 4px;
}

.event-chip h4 {
	margin: 0 0 4px;
	font-size: 1.25rem;
}

.event-chip p {
	margin: 0;
	font-size: 0.95rem;
}

.event-card:hover {
	transform: translateY(-4px);
	border-color: rgba(216, 167, 78, 0.5);
}

.event-card i {
	font-size: 1.45rem;
	color: var(--color-gold);
	margin-bottom: 14px;
}

.event-card p {
	margin-bottom: 0;
}

.contact-list {
	display: grid;
	gap: 14px;
	margin-top: 14px;
}

.contact-list div {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 14px;
	background: rgba(255, 255, 255, 0.02);
	border: 1px solid var(--color-border);
	border-radius: 12px;
	color: #e2e9f0;
}

.contact-list i {
	color: var(--color-gold);
	width: 18px;
}

.map-wrap {
	height: 100%;
	min-height: 360px;
	border-radius: var(--radius-lg);
	overflow: hidden;
	border: 1px solid var(--color-border);
	box-shadow: var(--shadow-lg);
}

.map-wrap iframe {
	width: 100%;
	height: 100%;
	border: 0;
}

.site-footer {
	background: linear-gradient(180deg, #070c11 0%, #05090d 100%);
	border-top: 1px solid var(--color-border);
	padding: 62px 0 30px;
}

.site-footer h3, .site-footer h4 {
	margin-bottom: 14px;
}

.footer-social {
	display: flex;
	gap: 10px;
	margin-top: 16px;
}

.footer-social a {
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--color-border);
	border-radius: 50%;
	color: var(--color-gold-soft);
}

.footer-social a:hover {
	background: rgba(216, 167, 78, 0.18);
	border-color: rgba(216, 167, 78, 0.7);
}

.footer-links, .footer-hours {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 8px;
}

.footer-links a {
	color: #d3dbe5;
}

.footer-hours li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	border-bottom: 1px dashed rgba(255, 255, 255, 0.15);
	padding-bottom: 7px;
}

.footer-hours span {
	color: var(--color-text-soft);
}

.footer-hours strong {
	color: #e8eef6;
	font-size: 0.92rem;
	font-weight: 700;
}

.footer-bottom {
	margin-top: 32px;
	padding-top: 18px;
	border-top: 1px solid var(--color-border);
}

.to-top {
	font-weight: 700;
	color: var(--color-gold);
}

.to-top i {
	margin-left: 6px;
}

.minhpage {
	min-height: 60vh;
}

.menu-item {
	padding: 14px 0;
	border-bottom: 1px dashed rgba(255, 255, 255, 0.16);
}

.menu-item p {
	margin: 8px 0 0;
	font-size: 0.92rem;
}

span.alergen {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	margin-left: 5px;
	font-size: 0.72rem;
	background: rgba(216, 167, 78, 0.2);
	border: 1px solid rgba(216, 167, 78, 0.45);
	color: #ffe8be;
}

.specialBoxMenu {
	padding: 22px;
	border-radius: var(--radius-md);
	background: linear-gradient(120deg, rgba(23, 68, 53, 0.42), rgba(7, 11, 16, 0.95));
	border: 1px solid var(--color-border);
}

.smallInfo {
	margin-top: 14px;
	padding: 10px 12px;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid var(--color-border);
}

.__lCook {
	display: none;
	position: relative;
	z-index: 2200;
}

.__lCook.is-visible {
	display: block;
}

.__lCook.is-visible::before {
	content: "";
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.56);
	backdrop-filter: blur(3px);
	z-index: 2200;
}

.__lCook .__cookieTL {
	position: fixed;
	left: 50%;
	bottom: 20px;
	transform: translateX(-50%);
	z-index: 2201;
	padding: 0;
	background: transparent;
	box-shadow: none;
	width: min(760px, calc(100% - 28px));
}

.__cookieTLInner {
	width: 100%;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 18px 18px;
	border-radius: 18px;
	background: linear-gradient(150deg, rgba(10, 16, 24, 0.98), rgba(13, 21, 31, 0.98));
	box-shadow: 0 26px 60px rgba(0, 0, 0, 0.52);
}

.__cookieHead {
	display: flex;
	align-items: center;
	gap: 12px;
}

.__cookieHead img {
	width: 36px;
	height: 36px;
	object-fit: contain;
	filter: drop-shadow(0 5px 10px rgba(0, 0, 0, 0.3));
}

.__cookieHead h2 {
	font-size: 1.05rem;
	margin: 0 0 2px;
}

.__cookieHead p {
	margin: 0;
	font-size: 0.86rem;
	color: #d0dae5;
}

.__lCook .__cookieTR {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: flex-end;
}

.__lCook .__cookiesNlink {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.6rem 1.05rem;
	border-radius: 999px;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	border: 0;
	color: #eef4fa;
	background: rgba(255, 255, 255, 0.06);
	transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.__lCook .__cookiesNlink:hover {
	transform: translateY(-1px);
	color: #fff;
	background: rgba(255, 255, 255, 0.12);
}

.__lCook .__cookiesSuccess, .__lCook .__cookiesEnableAll {
	background: linear-gradient(135deg, #b88224, #f0c76f 48%, #f7d88f);
	color: #181006;
	border-color: rgba(241, 206, 132, 0.82);
}

.__lCook .__cookiesSuccess:hover, .__lCook .__cookiesEnableAll:hover {
	color: #120b04;
	background: linear-gradient(135deg, #cb973a, #f5d694 50%, #ffe6ad);
	border-color: rgba(255, 226, 166, 0.95);
}

.__lCook .__cookiesChange, .__lCook .__cookiesDisable {
	background: rgba(255, 255, 255, 0.08);
	color: #f2dfb7;
}

.__lCook .__cookiesChange:hover, .__lCook .__cookiesDisable:hover {
	background: rgba(216, 167, 78, 0.14);
	color: #ffeec8;
	border-color: rgba(216, 167, 78, 0.88);
}

.__lCookContent {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 2203;
	background: rgba(0, 0, 0, 0.68);
	backdrop-filter: blur(5px);
}

.__lCookContent.is-open {
	display: block;
}

.__cookieBox {
	min-height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 26px 14px;
}

#__cookieMessage {
	width: min(940px, 100%);
	background: linear-gradient(150deg, rgba(12, 18, 27, 0.98), rgba(9, 13, 19, 0.98));
	border: 1px solid rgba(216, 167, 78, 0.35);
	border-radius: 20px;
	box-shadow: 0 28px 70px rgba(0, 0, 0, 0.5);
}

.__cookieSettings {
	padding: 22px;
}

.__cookieModalHead {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 14px;
	margin-bottom: 16px;
}

.__cookieModalHead img {
	width: 64px;
	height: 64px;
	object-fit: cover;
	border-radius: 14px;
	border: 1px solid rgba(216, 167, 78, 0.4);
}

.__cookieModalHead h2 {
	margin: 0 0 3px;
	font-size: 1.24rem;
}

.__cookieModalHead p {
	margin: 0;
	font-size: 0.9rem;
	color: #c6d2df;
}

.__cookiesSetClose {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.24);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #d8e2ed;
	background: rgba(255, 255, 255, 0.03);
}

.__cookiesSetClose:hover {
	color: #fff;
	border-color: rgba(216, 167, 78, 0.6);
	background: rgba(216, 167, 78, 0.13);
}

.__panelCookies {
	display: grid;
	gap: 11px;
}

.__panelC {
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 14px;
	padding: 14px 14px 13px;
	background: rgba(255, 255, 255, 0.02);
}

.__panelTop {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 12px;
	margin-bottom: 8px;
}

.__panelTop img {
	width: 28px;
	height: 28px;
	object-fit: contain;
}

.__panelTop h3 {
	margin: 0;
	font-size: 1rem;
}

.__panelOpt {
	margin: 0;
	font-size: 0.87rem;
	color: #b8c5d4;
}

.__alwaysOn {
	display: inline-flex;
	align-items: center;
	padding: 0.24rem 0.65rem;
	border-radius: 999px;
	font-size: 0.7rem;
	font-weight: 700;
	background: rgba(27, 73, 57, 0.36);
	border: 1px solid rgba(81, 196, 145, 0.38);
	color: #c8f5dc;
}

.__toggle {
	display: inline-block;
	position: relative;
	width: 54px;
	height: 30px;
	cursor: pointer;
}

.__toggle input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.__toggle span {
	position: absolute;
	inset: 0;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.2);
	border: 1px solid rgba(255, 255, 255, 0.28);
	transition: background 0.2s ease, border-color 0.2s ease;
}

.__toggle span::after {
	content: "";
	position: absolute;
	top: 3px;
	left: 3px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #f7fafc;
	transition: transform 0.2s ease;
}

.__toggle input:checked + span {
	background: rgba(216, 167, 78, 0.42);
	border-color: rgba(216, 167, 78, 0.8);
}

.__toggle input:checked + span::after {
	transform: translateX(24px);
}

.__cookieTRModal {
	margin-top: 16px;
	padding-top: 15px;
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	justify-content: flex-end;
}

@media (max-width: 991.98px) {
	.__cookieTLInner {
		flex-direction: column;
		align-items: flex-start;
		padding: 14px 14px;
	}

	.__lCook .__cookieTR {
		justify-content: flex-start;
	}
}

@media (max-width: 767.98px) {
	.__cookieModalHead {
		grid-template-columns: 1fr auto;
	}

	.__cookieModalHead img {
		display: none;
	}

	.__cookieTRModal .__cookiesNlink, .__cookieTL .__cookiesNlink {
		flex: 1 1 100%;
	}
}

@keyframes fade-up {
	from {
		opacity: 0;
		transform: translateY(20px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes bounce-arrow {
	0%, 100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(6px);
	}
}

@keyframes pulse-open-dot {
	0%, 100% {
		transform: scale(1);
		opacity: 0.95;
		filter: drop-shadow(0 0 0 rgba(71, 216, 141, 0));
	}

	50% {
		transform: scale(1.35);
		opacity: 1;
		filter: drop-shadow(0 0 8px rgba(71, 216, 141, 0.55));
	}
}

@keyframes havran-title-flash {
	0% {
		opacity: 0.72;
		filter: brightness(0.92);
	}

	45% {
		opacity: 1;
		filter: brightness(1.35);
	}

	100% {
		opacity: 1;
		filter: brightness(1);
	}
}

@media (min-width: 576px) {
	.gallery-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 768px) {
	.section-dark, .section-mid {
		padding: 90px 0;
	}

	.gallery-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.gallery-card:nth-child(1) {
		grid-column: span 2;
	}

	.gallery-card:nth-child(6) {
		grid-column: span 2;
	}
}

@media (min-width: 992px) {
	.hero {
		min-height: 100vh;
	}

	.hero-content {
		padding-top: 34px;
	}

	.section-about .about-media {
		transform: rotate(-1.1deg);
	}
}

@media (max-width: 991.98px) {
	.header-row {
		padding: 10px 0;
		display: flex;
		min-height: 70px;
	}

	.mobile-nav {
		background: rgba(5, 8, 12, 0.97);
		margin-top: 4px;
		padding: 10px 12px 12px;
		border-radius: 12px;
		border: 1px solid var(--color-border);
	}

	.mobile-nav ul {
		list-style: none;
		margin: 0;
		padding: 0;
	}

	.mobile-nav li + li {
		border-top: 1px solid rgba(255, 255, 255, 0.06);
	}

	.mobile-nav a {
		display: block;
		padding: 10px 2px;
		font-size: 0.85rem;
		font-weight: 600;
		letter-spacing: 0.08em;
		text-transform: uppercase;
		color: #e8eef6;
	}

	.hero {
		padding-top: 98px;
	}

	.events-wrap {
		grid-template-columns: 1fr;
	}

	.center-brand {
		width: 116px;
		height: 116px;
		transform: translateX(-50%) translateY(8%);
	}

	.center-brand img {
		height: 94px;
	}
}

@media (max-width: 575.98px) {
	.hero {
		min-height: 92vh;
		padding-top: 126px;
	}

	.hero-actions {
		flex-direction: column;
	}

	.hero-actions .btn-havran {
		width: 100%;
	}

	.hero-points {
		flex-wrap: wrap;
		width: 100%;
		gap: 10px;
	}

	.contact-list div {
		align-items: flex-start;
	}

	.hero-kicker {
		letter-spacing: 0.14em;
	}

	.center-brand img {
		height: 80px;
	}

	.site-header.is-scrolled .center-brand img {
		height: 66px;
	}

	.center-brand {
		width: 100px;
		height: 100px;
		transform: translateX(-50%) translateY(6%);
	}
}
