/*
Theme Name: Dominum Modern Gold
Theme URI: https://dominumevents.ro/
Author: Dominum Events
Description: Experiență editorială modernă pentru Dominum Events, inspirată de redesignul Modern Gold.
Version: 1.0.21
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: dominum-modern-gold
*/

:root {
	--dmg-ink: #241c12;
	--dmg-ink-soft: #5c5142;
	--dmg-night: #17130f;
	--dmg-night-deep: #120f0c;
	--dmg-paper: #f7f0e4;
	--dmg-white: #fffdfa;
	--dmg-sand: #ecdec4;
	--dmg-gold: #c99a3f;
	--dmg-gold-light: #f3dfa4;
	--dmg-gold-bright: #e9c568;
	--dmg-gold-dark: #8a6a22;
	--dmg-line: rgba(138, 106, 34, 0.2);
	--dmg-line-dark: rgba(212, 175, 90, 0.16);
	--dmg-shadow: 0 26px 70px -36px rgba(54, 35, 12, 0.34);
	--dmg-shadow-dark: 0 26px 70px -30px rgba(0, 0, 0, 0.6);
	--dmg-ease: cubic-bezier(0.16, 1, 0.3, 1);
	--dmg-ui: "Manrope", "Avenir Next", "Inter", ui-sans-serif, system-ui, sans-serif;
	--dmg-body: "Inter", "Avenir Next", ui-sans-serif, system-ui, sans-serif;
	--dmg-display: "Instrument Serif", Georgia, serif;
}

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

html {
	scroll-behavior: smooth;
}

body.dmg-theme {
	background: var(--dmg-paper);
	color: var(--dmg-ink-soft);
	font-family: var(--dmg-body) !important;
	font-size: 16px;
	line-height: 1.6;
	margin: 0;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body.dmg-theme a {
	color: inherit;
	text-decoration: none;
}

body.dmg-theme a,
body.dmg-theme button,
body.dmg-theme input,
body.dmg-theme textarea,
body.dmg-theme select {
	transition: color 240ms var(--dmg-ease), background-color 240ms var(--dmg-ease), border-color 240ms var(--dmg-ease), box-shadow 240ms var(--dmg-ease), transform 240ms var(--dmg-ease), opacity 240ms var(--dmg-ease);
}

body.dmg-theme h1,
body.dmg-theme h2,
body.dmg-theme h3,
body.dmg-theme h4,
body.dmg-theme h5,
body.dmg-theme h6,
body.dmg-theme p,
body.dmg-theme ul,
body.dmg-theme ol,
body.dmg-theme figure {
	margin-top: 0;
}

body.dmg-theme img {
	display: block;
	height: auto;
	max-width: 100%;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	white-space: nowrap;
	width: 1px;
}

.screen-reader-text:focus {
	background: var(--dmg-gold-light);
	clip: auto !important;
	clip-path: none;
	color: var(--dmg-ink);
	height: auto;
	left: 16px;
	margin: 0;
	overflow: visible;
	padding: 10px 14px;
	top: 16px;
	width: auto;
	z-index: 99999;
}

body.dmg-theme button,
body.dmg-theme input,
body.dmg-theme textarea,
body.dmg-theme select {
	font: inherit;
}

body.dmg-theme button {
	cursor: pointer;
}

.dmg-skip-link {
	background: var(--dmg-gold-light);
	color: var(--dmg-ink);
	left: 16px;
	padding: 10px 14px;
	position: absolute;
	top: 16px;
	transform: translateY(-150%);
	z-index: 99999;
}

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

.dmg-container {
	margin-inline: auto;
	max-width: 1280px;
	width: min(100% - 96px, 1280px);
}

.dmg-section {
	padding: 96px 0;
}

.dmg-section-heading {
	margin-bottom: 42px;
}

.dmg-eyebrow {
	color: var(--dmg-gold-dark);
	display: block;
	font-family: var(--dmg-ui);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	line-height: 1.4;
	margin-bottom: 14px;
	text-transform: uppercase;
}

.dmg-eyebrow-light {
	color: var(--dmg-gold-bright);
}

.dmg-heading {
	color: var(--dmg-ink);
	font-family: var(--dmg-display) !important;
	font-size: clamp(34px, 4vw, 52px);
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: 1.05;
	margin: 0;
}

.dmg-heading-light {
	color: #f0e6d2;
}

.dmg-lead {
	color: var(--dmg-ink-soft);
	font-size: 17px;
	line-height: 1.8;
	margin: 20px 0 0;
	max-width: 60ch;
}

.dmg-gold-text {
	background: linear-gradient(100deg, var(--dmg-gold) 0%, var(--dmg-gold-light) 25%, var(--dmg-gold-dark) 50%, var(--dmg-gold-light) 75%, var(--dmg-gold) 100%);
	background-size: 250% 100%;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	animation: dmg-shimmer 7s linear infinite;
}

.dmg-button {
	align-items: center;
	background: linear-gradient(135deg, var(--dmg-gold-light), var(--dmg-gold) 55%, var(--dmg-gold-dark));
	border: 0;
	border-radius: 999px;
	box-shadow: 0 14px 32px -14px rgba(201, 154, 63, 0.78);
	color: #1a1305 !important;
	display: inline-flex;
	font-family: var(--dmg-ui);
	font-size: 14px;
	font-weight: 800;
	gap: 9px;
	justify-content: center;
	line-height: 1;
	min-height: 48px;
	padding: 14px 24px;
	position: relative;
	overflow: hidden;
}

.dmg-button::after {
	background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.58), transparent);
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transform: translateX(-130%) skewX(-15deg);
	width: 42%;
}

.dmg-button:hover,
.dmg-button:focus-visible {
	box-shadow: 0 22px 42px -12px rgba(201, 154, 63, 0.86);
	transform: translateY(-3px);
}

.dmg-button:hover::after,
.dmg-button:focus-visible::after {
	animation: dmg-sweep 850ms var(--dmg-ease);
}

.dmg-button-small {
	font-size: 12px;
	min-height: 40px;
	padding: 11px 18px;
}

.dmg-button-ghost {
	background: transparent;
	border: 1px solid rgba(243, 223, 164, 0.56);
	box-shadow: none;
	color: #f0dca6 !important;
}

.dmg-button-ghost:hover,
.dmg-button-ghost:focus-visible {
	background: rgba(212, 175, 90, 0.1);
	box-shadow: none;
}

/* Floating navigation */
.dmg-site-header {
	left: 50%;
	position: fixed;
	top: 0;
	transform: translateX(-50%);
	width: min(92%, 1140px);
	z-index: 1000;
}

.dmg-header-shell {
	align-items: center;
	backdrop-filter: blur(18px);
	background: rgba(18, 15, 12, 0.64);
	border: 1px solid rgba(212, 175, 90, 0.18);
	border-radius: 0 0 22px 22px;
	box-shadow: 0 18px 46px -22px rgba(0, 0, 0, 0.72);
	display: flex;
	gap: 28px;
	justify-content: space-between;
	min-height: 70px;
	padding: 16px 28px;
}

.dmg-site-header.is-scrolled .dmg-header-shell {
	background: rgba(18, 15, 12, 0.9);
	border-color: rgba(212, 175, 90, 0.3);
	box-shadow: 0 18px 48px -18px rgba(0, 0, 0, 0.82);
}

body.admin-bar .dmg-site-header {
	top: 32px;
}

.dmg-brand {
	align-items: center;
	display: inline-flex;
	flex: 0 0 auto;
	gap: 10px;
}

.dmg-brand-mark {
	align-items: center;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(212, 175, 90, 0.34);
	border-radius: 50%;
	display: inline-flex;
	height: 45px;
	justify-content: center;
	overflow: hidden;
	width: 45px;
}

.dmg-brand-mark img {
	filter: sepia(1) saturate(2.7) hue-rotate(355deg) brightness(1.15);
	height: 38px;
	object-fit: contain;
	width: 38px;
}

.dmg-brand-copy {
	color: #f0e6d2;
	display: block;
	font-family: var(--dmg-ui);
	font-size: 15px;
	font-weight: 800;
	letter-spacing: 0.045em;
	line-height: 1.1;
}

.dmg-brand-copy span {
	font-weight: 800;
}

.dmg-primary-nav {
	flex: 1 1 auto;
	min-width: 0;
}

.dmg-menu {
	align-items: center;
	display: flex;
	gap: clamp(16px, 2.6vw, 34px);
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

.dmg-menu > li {
	margin: 0;
	position: relative;
}

.dmg-menu > li > a {
	color: #e9dcc0 !important;
	display: inline-flex;
	font-family: "Caveat", cursive !important;
	font-size: 21px !important;
	font-weight: 600 !important;
	letter-spacing: 0.01em;
	padding: 12px 0;
	position: relative;
	text-transform: none;
}

.dmg-menu > li > a::after {
	background: var(--dmg-gold-bright);
	border-radius: 99px;
	bottom: 4px;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 240ms var(--dmg-ease);
	width: 100%;
}

.dmg-menu > li > a:hover,
.dmg-menu > li > a:focus-visible {
	color: #f6e0a0 !important;
}

.dmg-menu > li > a:hover::after,
.dmg-menu > li > a:focus-visible::after {
	transform: scaleX(1);
}

.dmg-sub-menu {
	background: rgba(24, 19, 14, 0.96);
	border: 1px solid rgba(212, 175, 90, 0.24);
	border-radius: 16px;
	box-shadow: 0 20px 42px -18px rgba(0, 0, 0, 0.76);
	left: 50%;
	list-style: none;
	margin: 0;
	opacity: 0;
	pointer-events: none;
	padding: 9px;
	position: absolute;
	top: calc(100% - 2px);
	transform: translate(-50%, 8px);
	transition: opacity 220ms var(--dmg-ease), transform 220ms var(--dmg-ease);
	width: max-content;
	z-index: 20;
}

.dmg-menu-parent:hover > .dmg-sub-menu,
.dmg-menu-parent:focus-within > .dmg-sub-menu {
	opacity: 1;
	pointer-events: auto;
	transform: translate(-50%, 0);
}

.dmg-sub-menu li {
	margin: 0;
}

.dmg-sub-menu a {
	border-radius: 10px;
	color: #e9dcc0 !important;
	display: block;
	font-family: "Caveat", cursive !important;
	font-size: 18px;
	line-height: 1.1;
	padding: 8px 12px;
	white-space: nowrap;
}

.dmg-sub-menu a:hover,
.dmg-sub-menu a:focus-visible {
	background: rgba(212, 175, 90, 0.12);
	color: #f6e0a0 !important;
}

.dmg-header-cta {
	flex: 0 0 auto;
}

.dmg-menu-toggle {
	background: transparent;
	border: 1px solid rgba(212, 175, 90, 0.35);
	border-radius: 12px;
	display: none;
	height: 42px;
	padding: 0;
	position: relative;
	width: 42px;
}

.dmg-menu-toggle span:not(.screen-reader-text) {
	background: #f0e6d2;
	display: block;
	height: 1px;
	left: 11px;
	position: absolute;
	transition: transform 220ms var(--dmg-ease), opacity 220ms var(--dmg-ease);
	width: 19px;
}

.dmg-menu-toggle span:nth-child(2) { top: 14px; }
.dmg-menu-toggle span:nth-child(3) { top: 20px; }
.dmg-menu-toggle span:nth-child(4) { top: 26px; }

.dmg-menu-toggle.is-open span:nth-child(2) { transform: translateY(6px) rotate(45deg); }
.dmg-menu-toggle.is-open span:nth-child(3) { opacity: 0; }
.dmg-menu-toggle.is-open span:nth-child(4) { transform: translateY(-6px) rotate(-45deg); }

/* Hero */
.dmg-hero {
	align-items: center;
	display: flex;
	min-height: min(900px, 100svh);
	overflow: hidden;
	position: relative;
}

.dmg-hero-slide {
	background-position: center;
	background-size: cover;
	inset: 0;
	opacity: 0;
	position: absolute;
	transform: scale(1.04);
	transition: opacity 1.8s ease-in-out, transform 7s ease-out;
}

.dmg-hero-slide.is-active {
	opacity: 1;
	transform: scale(1);
}

.dmg-hero::before {
	background: radial-gradient(120% 90% at 15% 20%, rgba(201, 154, 63, 0.18), transparent 55%), linear-gradient(180deg, rgba(10, 8, 6, 0.7) 0%, rgba(10, 8, 6, 0.58) 30%, rgba(23, 19, 15, 0.82) 68%, var(--dmg-night) 100%);
	content: "";
	inset: 0;
	position: absolute;
	z-index: 1;
}

.dmg-hero-content {
	max-width: 1280px;
	padding: 156px 48px 94px;
	position: relative;
	width: 100%;
	z-index: 2;
}

.dmg-hero-kicker {
	color: var(--dmg-gold-bright);
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.18em;
	margin-bottom: 22px;
	text-transform: uppercase;
}

.dmg-hero h1 {
	color: #f0e6d2;
	font-family: var(--dmg-display) !important;
	font-size: clamp(54px, 8vw, 112px);
	font-weight: 400;
	letter-spacing: -0.04em;
	line-height: 0.98;
	margin: 0 0 30px;
	max-width: 740px;
	text-shadow: 0 4px 24px rgba(0, 0, 0, 0.55), 0 2px 8px rgba(0, 0, 0, 0.5);
}

.dmg-hero h1 em {
	display: block;
	font-style: italic;
}

.dmg-hero-description {
	color: #cfc6b6;
	font-size: clamp(16px, 1.8vw, 19px);
	line-height: 1.65;
	margin: 0 0 34px;
	max-width: 560px;
}

.dmg-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.dmg-hero-dots {
	align-items: center;
	bottom: 38px;
	display: flex;
	gap: 8px;
	position: absolute;
	right: 48px;
	z-index: 3;
}

.dmg-hero-dot {
	background: rgba(240, 230, 210, 0.42);
	border: 0;
	border-radius: 999px;
	height: 4px;
	padding: 0;
	transition: width 300ms var(--dmg-ease), background 300ms var(--dmg-ease);
	width: 22px;
}

.dmg-hero-dot.is-active {
	background: var(--dmg-gold-bright);
	width: 52px;
}

.dmg-scroll-cue {
	background: linear-gradient(180deg, transparent, var(--dmg-gold));
	bottom: 34px;
	height: 45px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 1px;
	z-index: 3;
}

/* Stats */
.dmg-promo-bar {
	background: linear-gradient(110deg, #221b13 0%, #3b2a17 48%, #1b1510 100%);
	border-bottom: 1px solid rgba(233, 197, 104, 0.2);
	border-top: 1px solid rgba(233, 197, 104, 0.2);
	color: #f4e6c8;
	overflow: hidden;
	position: relative;
}

.dmg-promo-bar::after {
	background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.14), transparent);
	content: "";
	inset: 0 auto 0 -20%;
	position: absolute;
	transform: skewX(-18deg);
	width: 18%;
	animation: dmg-promo-sweep 7s ease-in-out infinite;
}

.dmg-promo-bar-inner {
	align-items: center;
	display: flex;
	gap: 36px;
	justify-content: space-between;
	min-height: 106px;
	position: relative;
	z-index: 1;
}

.dmg-promo-copy {
	flex: 0 1 370px;
}

.dmg-promo-kicker {
	color: var(--dmg-gold-bright);
	display: block;
	font-family: var(--dmg-ui);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.18em;
	margin-bottom: 8px;
	text-transform: uppercase;
}

.dmg-promo-copy strong {
	color: #f5e8cd;
	display: block;
	font-family: var(--dmg-display);
	font-size: clamp(25px, 3vw, 37px);
	font-weight: 400;
	line-height: 0.98;
}

.dmg-promo-prices {
	display: flex;
	flex: 1 1 auto;
	flex-wrap: wrap;
	gap: 9px;
	justify-content: flex-end;
}

.dmg-promo-prices a {
	align-items: center;
	background: rgba(255, 251, 243, 0.08);
	border: 1px solid rgba(233, 197, 104, 0.18);
	border-radius: 999px;
	color: #e9dcc0;
	display: inline-flex;
	font-family: var(--dmg-ui);
	font-size: 11px;
	font-weight: 700;
	gap: 9px;
	padding: 9px 13px;
}

.dmg-promo-prices a b {
	color: var(--dmg-gold-bright);
	font-size: 12px;
}

.dmg-promo-prices a:hover,
.dmg-promo-prices a:focus-visible {
	background: rgba(233, 197, 104, 0.14);
	border-color: rgba(233, 197, 104, 0.48);
	transform: translateY(-2px);
}

.dmg-promo-prices a.is-new {
	background: linear-gradient(135deg, rgba(233, 197, 104, 0.24), rgba(255, 255, 255, 0.07));
	border-color: rgba(233, 197, 104, 0.52);
}

.dmg-stats {
	background: var(--dmg-white);
	border-bottom: 1px solid rgba(138, 106, 34, 0.08);
	border-top: 1px solid rgba(138, 106, 34, 0.08);
}

.dmg-stats-grid {
	display: grid;
	gap: 28px;
	grid-template-columns: repeat(4, 1fr);
	padding: 66px 0;
}

.dmg-stat {
	border-right: 1px solid rgba(138, 106, 34, 0.13);
	padding-right: 24px;
}

.dmg-stat:last-child {
	border-right: 0;
}

.dmg-stat-value {
	color: var(--dmg-gold-dark);
	display: block;
	font-family: var(--dmg-ui);
	font-size: clamp(34px, 4vw, 52px);
	font-weight: 800;
	letter-spacing: -0.04em;
	line-height: 1;
}

.dmg-stat-label {
	color: #6b5f4a;
	display: block;
	font-size: 12px;
	letter-spacing: 0.06em;
	margin-top: 11px;
	text-transform: uppercase;
}

/* About */
.dmg-about {
	background: var(--dmg-sand);
}

.dmg-about-grid {
	align-items: center;
	display: grid;
	gap: clamp(42px, 7vw, 90px);
	grid-template-columns: minmax(0, 1fr) minmax(0, 0.92fr);
}

.dmg-image-frame {
	background: linear-gradient(160deg, rgba(255, 255, 255, 0.76), rgba(255, 255, 255, 0.4));
	border: 1px solid rgba(138, 106, 34, 0.27);
	border-radius: 22px;
	box-shadow: var(--dmg-shadow);
	overflow: hidden;
	padding: 12px;
}

.dmg-image-frame img {
	aspect-ratio: 4 / 3;
	border-radius: 14px;
	object-fit: cover;
	width: 100%;
}

.dmg-about-copy p {
	color: #5c5142;
	font-size: 16px;
	line-height: 1.8;
	margin: 20px 0 0;
	max-width: 54ch;
}

.dmg-about-points {
	display: grid;
	gap: 14px 18px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	list-style: none;
	margin: 28px 0 0;
	padding: 0;
}

.dmg-about-points li {
	align-items: center;
	color: #4b3c27;
	display: flex;
	font-size: 13px;
	gap: 9px;
}

.dmg-about-points li::before {
	color: var(--dmg-gold-dark);
	content: "✦";
	font-size: 17px;
}

/* Halls */
.dmg-halls {
	background: var(--dmg-white);
}

.dmg-hall-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 30px;
}

.dmg-hall-tab {
	background: transparent;
	border: 1px solid rgba(138, 106, 34, 0.35);
	border-radius: 999px;
	color: var(--dmg-ink-soft);
	font-family: var(--dmg-ui);
	font-size: 13px;
	font-weight: 700;
	padding: 11px 21px;
}

.dmg-hall-tab:hover,
.dmg-hall-tab.is-active {
	background: var(--dmg-gold-dark);
	border-color: var(--dmg-gold-dark);
	color: #fff8e6;
}

.dmg-hall-panel {
	background: linear-gradient(160deg, rgba(255, 255, 255, 0.86), rgba(247, 240, 228, 0.72));
	border: 1px solid rgba(138, 106, 34, 0.24);
	border-radius: 22px;
	box-shadow: var(--dmg-shadow);
	display: grid;
	gap: 42px;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	padding: 14px;
}

.dmg-hall-panel[hidden] {
	display: none;
}

.dmg-hall-image {
	border-radius: 15px;
	height: 100%;
	min-height: 360px;
	object-fit: cover;
	width: 100%;
}

.dmg-hall-copy {
	align-self: center;
	padding: 26px 28px 26px 0;
}

.dmg-hall-copy h3 {
	color: var(--dmg-ink);
	font-family: var(--dmg-display) !important;
	font-size: 34px;
	font-weight: 400;
	line-height: 1.05;
	margin: 0 0 14px;
}

.dmg-capacity {
	background: rgba(138, 106, 34, 0.12);
	border-radius: 999px;
	color: var(--dmg-gold-dark);
	display: inline-flex;
	font-size: 12px;
	font-weight: 700;
	margin-bottom: 18px;
	padding: 7px 13px;
}

.dmg-hall-copy p {
	color: var(--dmg-ink-soft);
	font-size: 15px;
	line-height: 1.8;
	margin: 0;
}

/* Services */
.dmg-services {
	background: var(--dmg-night);
	color: #f0e6d2;
}

.dmg-services .dmg-section-heading .dmg-lead {
	color: #a89f8e;
}

.dmg-service-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dmg-service-card {
	background: var(--dmg-night-deep);
	border: 1px solid rgba(233, 197, 104, 0.2);
	border-radius: 20px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 330px;
	overflow: hidden;
	padding: 24px;
	position: relative;
	isolation: isolate;
}

.dmg-service-card::before {
	background-image: linear-gradient(145deg, rgba(18, 15, 12, 0.1), rgba(18, 15, 12, 0.9)), var(--dmg-card-image);
	background-position: center;
	background-size: cover;
	content: "";
	inset: -12px;
	position: absolute;
	transform: scale(1.04);
	transition: filter 600ms var(--dmg-ease), transform 900ms var(--dmg-ease);
	z-index: -2;
}

.dmg-service-card::after {
	background: linear-gradient(180deg, rgba(16, 12, 8, 0.25), rgba(16, 12, 8, 0.9) 76%);
	content: "";
	inset: 0;
	position: absolute;
	z-index: -1;
}

.dmg-service-card--no-image::before {
	background-image: radial-gradient(circle at 82% 18%, rgba(233, 197, 104, 0.28), transparent 34%), linear-gradient(145deg, #2d2215, #100d0a 72%);
}

.dmg-service-card:hover,
.dmg-service-card:focus-visible {
	border-color: rgba(233, 197, 104, 0.72);
	box-shadow: var(--dmg-shadow-dark);
	transform: translateY(-7px);
}

.dmg-service-card:hover::before,
.dmg-service-card:focus-visible::before {
	filter: blur(7px) saturate(0.82);
	transform: scale(1.13);
}

.dmg-service-number {
	color: var(--dmg-gold-bright);
	display: block;
	font-family: var(--dmg-ui);
	font-size: 20px;
	font-weight: 800;
	margin-bottom: 26px;
	position: relative;
	z-index: 1;
}

.dmg-service-card-content {
	backdrop-filter: blur(0);
	background: rgba(19, 14, 9, 0.2);
	border-radius: 15px;
	margin: 0 -8px -8px;
	padding: 15px 8px 8px;
	position: relative;
	transition: backdrop-filter 500ms var(--dmg-ease), background-color 500ms var(--dmg-ease);
	z-index: 1;
}

.dmg-service-card:hover .dmg-service-card-content,
.dmg-service-card:focus-visible .dmg-service-card-content {
	backdrop-filter: blur(10px);
	background: rgba(19, 14, 9, 0.42);
}

.dmg-service-price {
	color: #d8cbb2;
	display: block;
	font-family: var(--dmg-ui);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.dmg-service-price strong {
	color: var(--dmg-gold-bright);
	font-size: 13px;
}

.dmg-service-badge {
	background: var(--dmg-gold-bright);
	border-radius: 999px;
	color: #201509;
	display: inline-flex;
	font-family: var(--dmg-ui);
	font-size: 9px;
	font-weight: 900;
	letter-spacing: 0.12em;
	margin-bottom: 8px;
	padding: 6px 9px;
	text-transform: uppercase;
	animation: dmg-new-pulse 2.8s ease-in-out infinite;
}

.dmg-service-card h3 {
	color: #f0e6d2;
	font-family: var(--dmg-display) !important;
	font-size: 32px;
	font-weight: 400;
	line-height: 1;
	margin: 9px 0 12px;
}

.dmg-service-card p {
	color: #c7baa5;
	font-size: 13px;
	line-height: 1.7;
	margin: 0;
}

.dmg-service-link {
	color: var(--dmg-gold-light);
	display: inline-flex;
	font-family: var(--dmg-ui);
	font-size: 11px;
	font-weight: 800;
	gap: 8px;
	margin-top: 16px;
	text-transform: uppercase;
}

.dmg-service-card:hover .dmg-service-link span,
.dmg-service-card:focus-visible .dmg-service-link span {
	transform: translate(3px, -3px);
}

.dmg-benefit-row {
	border-top: 1px solid rgba(212, 175, 90, 0.15);
	display: flex;
	flex-wrap: wrap;
	gap: 10px 26px;
	margin-top: 42px;
	padding-top: 24px;
}

.dmg-benefit {
	color: #cfc6b6;
	font-size: 13px;
}

.dmg-benefit::before {
	color: var(--dmg-gold-bright);
	content: "✦";
	margin-right: 8px;
}

/* Gallery */
.dmg-gallery {
	background: var(--dmg-paper);
}

.dmg-gallery-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dmg-gallery-item {
	background: var(--dmg-sand);
	border: 1px solid rgba(138, 106, 34, 0.16);
	border-radius: 16px;
	margin: 0;
	overflow: hidden;
}

.dmg-gallery-item:first-child {
	grid-row: span 2;
}

.dmg-gallery-item img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
	transition: transform 650ms var(--dmg-ease), filter 650ms var(--dmg-ease);
	width: 100%;
}

.dmg-gallery-item:first-child img {
	height: 100%;
}

.dmg-gallery-item:hover img {
	filter: saturate(1.08);
	transform: scale(1.06);
}

/* Reviews */
.dmg-reviews {
	background: var(--dmg-sand);
	overflow: hidden;
}

.dmg-review-track {
	display: flex;
	gap: 18px;
	padding: 0 24px;
	width: max-content;
	animation: dmg-marquee 38s linear infinite;
}

.dmg-review-card {
	background: linear-gradient(160deg, rgba(255, 255, 255, 0.78), rgba(255, 255, 255, 0.42));
	border: 1px solid rgba(138, 106, 34, 0.2);
	border-radius: 18px;
	flex: 0 0 320px;
	padding: 26px;
}

.dmg-review-mark {
	color: var(--dmg-gold-dark);
	font-family: var(--dmg-ui);
	font-size: 32px;
	font-weight: 800;
	line-height: 1;
	margin: 0 0 5px;
}

.dmg-review-card blockquote {
	color: #4a4030;
	font-size: 14px;
	line-height: 1.7;
	margin: 0 0 17px;
}

.dmg-review-card cite {
	color: var(--dmg-gold-dark);
	display: block;
	font-family: var(--dmg-ui);
	font-size: 12px;
	font-style: normal;
	font-weight: 700;
}

.dmg-review-card cite span {
	color: #8a7f6a;
	font-weight: 400;
}

/* Instagram-style strip */
.dmg-social-strip {
	background: var(--dmg-white);
}

.dmg-social-heading {
	align-items: baseline;
	display: flex;
	gap: 10px;
	justify-content: space-between;
}

.dmg-social-handle {
	color: #8a7f6a;
	font-size: 14px;
}

.dmg-social-grid {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	margin-top: 24px;
}

.dmg-social-grid a {
	border: 1px solid rgba(138, 106, 34, 0.15);
	border-radius: 10px;
	overflow: hidden;
}

.dmg-social-grid img {
	aspect-ratio: 1;
	object-fit: cover;
	transition: opacity 300ms var(--dmg-ease), transform 500ms var(--dmg-ease);
	width: 100%;
}

.dmg-social-grid a:hover img {
	opacity: 0.72;
	transform: scale(1.06);
}

/* Contact */
.dmg-contact {
	background: var(--dmg-night);
	color: #f0e6d2;
}

.dmg-contact-grid {
	display: grid;
	gap: 52px;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.dmg-contact-copy h2,
.dmg-contact-form h2 {
	color: #f0e6d2;
	font-family: var(--dmg-display) !important;
	font-size: clamp(32px, 4vw, 46px);
	font-weight: 400;
	line-height: 1.05;
	margin: 0 0 16px;
}

.dmg-contact-copy > p {
	color: #a89f8e;
	margin: 0 0 22px;
}

.dmg-contact-card {
	background: linear-gradient(160deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.02));
	border: 1px solid var(--dmg-line-dark);
	border-radius: 20px;
	margin-top: 22px;
	padding: 24px;
}

.dmg-contact-card strong {
	color: var(--dmg-gold-bright);
	display: block;
	font-family: var(--dmg-ui);
	font-size: 12px;
	letter-spacing: 0.13em;
	margin-bottom: 12px;
	text-transform: uppercase;
}

.dmg-contact-card a,
.dmg-contact-card span {
	color: #d7cebf;
	display: block;
	font-size: 15px;
	margin-top: 7px;
}

.dmg-contact-card a:hover {
	color: var(--dmg-gold-bright);
}

.dmg-map-card {
	background: radial-gradient(circle at 20% 20%, rgba(201, 154, 63, 0.2), transparent 34%), linear-gradient(135deg, #292016, #110e0b);
	border: 1px solid rgba(212, 175, 90, 0.23);
	border-radius: 18px;
	display: block;
	min-height: 230px;
	overflow: hidden;
	position: relative;
}

.dmg-map-card::before,
.dmg-map-card::after {
	display: none;
}

.dmg-map-card iframe {
	border: 0;
	display: block;
	filter: saturate(0.72) contrast(1.06);
	height: 260px;
	width: 100%;
}

.dmg-map-card span {
	color: #cfc6b6;
	font-size: 13px;
	position: relative;
	z-index: 1;
}

.dmg-map-link {
	background: rgba(18, 15, 12, 0.9);
	border: 1px solid rgba(233, 197, 104, 0.34);
	border-radius: 999px;
	bottom: 12px;
	color: #f0dca6;
	font-family: var(--dmg-ui);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.04em;
	padding: 9px 12px;
	position: absolute;
	right: 12px;
	text-transform: uppercase;
	transition: background-color 220ms var(--dmg-ease), border-color 220ms var(--dmg-ease), transform 220ms var(--dmg-ease);
	z-index: 2;
}

.dmg-map-link span {
	color: var(--dmg-gold-bright);
	margin-left: 4px;
}

.dmg-map-link:hover,
.dmg-map-link:focus-visible {
	background: rgba(212, 175, 90, 0.22);
	border-color: rgba(233, 197, 104, 0.8);
	color: #fff1c9;
	transform: translateY(-2px);
}

.dmg-quote-form {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.dmg-field {
	background: rgba(255, 255, 255, 0.035);
	border: 1px solid rgba(212, 175, 90, 0.22);
	border-radius: 10px;
	color: #f0e6d2;
	font-size: 14px;
	min-height: 48px;
	outline: none;
	padding: 13px 15px;
	width: 100%;
}

.dmg-field::placeholder {
	color: #7a7364;
}

.dmg-field:focus {
	border-color: var(--dmg-gold);
	box-shadow: 0 0 0 3px rgba(201, 154, 63, 0.12);
}

.dmg-quote-form textarea {
	min-height: 108px;
	resize: vertical;
}

.dmg-form-message {
	border-radius: 10px;
	font-size: 13px;
	margin-bottom: 14px;
	padding: 12px 14px;
}

.dmg-form-message.is-success {
	background: rgba(93, 156, 95, 0.14);
	border: 1px solid rgba(111, 193, 112, 0.35);
	color: #b9e6b5;
}

.dmg-form-message.is-error {
	background: rgba(180, 71, 61, 0.15);
	border: 1px solid rgba(216, 106, 94, 0.34);
	color: #f1b3a7;
}

/* Footer */
.dmg-footer-cta {
	background: var(--dmg-sand);
	border-bottom: 1px solid rgba(138, 106, 34, 0.14);
	border-top: 1px solid rgba(138, 106, 34, 0.14);
	overflow: hidden;
	padding: 52px 0;
	position: relative;
}

.dmg-footer-cta::before {
	background: radial-gradient(circle at 82% 30%, rgba(201, 154, 63, 0.22), transparent 28%);
	content: "";
	inset: 0;
	position: absolute;
}

.dmg-footer-cta-inner {
	align-items: center;
	display: flex;
	gap: 36px;
	justify-content: space-between;
	position: relative;
	z-index: 1;
}

.dmg-footer-cta-kicker {
	color: #8a6a22;
	display: block;
	font-family: var(--dmg-ui);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.12em;
	margin-bottom: 10px;
	text-transform: uppercase;
}

.dmg-footer-cta h2 {
	color: var(--dmg-ink);
	font-family: var(--dmg-display) !important;
	font-size: clamp(38px, 5vw, 66px);
	font-weight: 400;
	letter-spacing: -0.04em;
	line-height: 0.95;
	margin: 0 0 10px;
}

.dmg-footer-cta p {
	color: #625a4d;
	font-size: 15px;
	line-height: 1.6;
	margin: 0;
}

.dmg-footer-cta-phone {
	align-items: center;
	background: var(--dmg-night-deep);
	border: 1px solid rgba(212, 175, 90, 0.35);
	border-radius: 999px;
	box-shadow: 0 18px 40px -24px rgba(29, 20, 11, 0.75);
	color: #f2dfb2;
	display: inline-flex;
	flex-shrink: 0;
	gap: 14px;
	padding: 14px 18px 14px 22px;
	transition: background-color 260ms var(--dmg-ease), border-color 260ms var(--dmg-ease), transform 260ms var(--dmg-ease);
}

.dmg-footer-cta-phone span {
	color: #bdb09b;
	font-family: var(--dmg-ui);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.dmg-footer-cta-phone strong {
	font-family: var(--dmg-ui);
	font-size: 15px;
	font-weight: 800;
}

.dmg-footer-cta-phone b {
	color: var(--dmg-gold-bright);
	font-size: 18px;
	font-weight: 400;
}

.dmg-footer-cta-phone:hover,
.dmg-footer-cta-phone:focus-visible {
	background: #282016;
	border-color: rgba(233, 197, 104, 0.8);
	color: #fff1c9;
	transform: translateY(-4px);
}

.dmg-site-footer {
	background: var(--dmg-night-deep);
	border-top: 1px solid rgba(212, 175, 90, 0.14);
	color: #a89f8e;
	padding: 72px 0 28px;
}

.dmg-footer-grid {
	display: grid;
	gap: 44px;
	grid-template-columns: 1.5fr 1fr 1fr 1.1fr;
	padding-bottom: 54px;
}

.dmg-footer-brand {
	align-items: center;
	display: inline-flex;
	gap: 10px;
	margin-bottom: 16px;
}

.dmg-footer-brand .dmg-brand-mark {
	height: 40px;
	width: 40px;
}

.dmg-footer-brand .dmg-brand-mark img {
	height: 33px;
	width: 33px;
}

.dmg-footer-brand .dmg-brand-copy {
	font-size: 14px;
}

.dmg-footer-description {
	color: #8a8272;
	font-size: 13px;
	line-height: 1.8;
	margin: 0;
	max-width: 31ch;
}

.dmg-footer-address {
	color: #cfc6b6;
	font-size: 13px;
	line-height: 1.65;
	margin: -5px 0 12px;
}

.dmg-footer-label {
	color: var(--dmg-gold-bright);
	font-family: var(--dmg-ui);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.06em;
	margin: 0 0 16px;
}

.dmg-footer-links {
	display: flex;
	flex-direction: column;
	gap: 9px;
}

.dmg-footer-links a,
.dmg-footer-contact a,
.dmg-footer-contact span {
	color: #a89f8e;
	font-size: 13px;
}

.dmg-footer-links a:hover,
.dmg-footer-contact a:hover {
	color: #f0dca6;
	transform: translateX(3px);
}

.dmg-footer-contact {
	display: flex;
	flex-direction: column;
	gap: 9px;
}

.dmg-footer-socials {
	display: flex;
	gap: 10px;
}

.dmg-social-link {
	align-items: center;
	border: 1px solid rgba(212, 175, 90, 0.26);
	border-radius: 50%;
	color: var(--dmg-gold-bright) !important;
	display: inline-flex;
	height: 40px;
	justify-content: center;
	width: 40px;
}

.dmg-social-link svg {
	fill: none;
	height: 18px;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
	width: 18px;
}

.dmg-social-link:first-child svg {
	fill: currentColor;
	stroke: currentColor;
	stroke-width: 0;
}

.dmg-social-link:hover {
	background: rgba(212, 175, 90, 0.12);
	border-color: rgba(212, 175, 90, 0.62);
	transform: translateY(-4px);
}

/* Floating social rail from the Sticky Buttons plugin */
body.dmg-theme ul.sticky-buttons {
	align-items: center !important;
	background: transparent !important;
	bottom: auto !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	right: 16px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: 42px !important;
	z-index: 1001 !important;
}

body.dmg-theme ul.sticky-buttons li {
	height: 42px !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 42px !important;
}

body.dmg-theme ul.sticky-buttons li a {
	align-items: center !important;
	background: rgba(18, 15, 12, 0.88) !important;
	border: 1px solid rgba(212, 175, 90, 0.32) !important;
	border-radius: 50% !important;
	box-shadow: 0 14px 30px -17px rgba(0, 0, 0, 0.86) !important;
	display: inline-flex !important;
	height: 42px !important;
	justify-content: center !important;
	padding: 0 !important;
	transition: background-color 240ms var(--dmg-ease), border-color 240ms var(--dmg-ease), transform 240ms var(--dmg-ease) !important;
	width: 42px !important;
}

body.dmg-theme ul.sticky-buttons li a:hover,
body.dmg-theme ul.sticky-buttons li a:focus-visible {
	background: rgba(212, 175, 90, 0.16) !important;
	border-color: rgba(233, 197, 104, 0.8) !important;
	transform: translateY(-3px) !important;
}

body.dmg-theme ul.sticky-buttons .sb-icon {
	align-items: center !important;
	background: transparent !important;
	color: var(--dmg-gold-bright) !important;
	display: inline-flex !important;
	font-size: 0 !important;
	height: 20px !important;
	justify-content: center !important;
	line-height: 1 !important;
	width: 20px !important;
}

body.dmg-theme ul.sticky-buttons .sb-icon svg {
	fill: none;
	height: 19px;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.55;
	width: 19px;
}

@media (max-width: 720px) {
	body.dmg-theme ul.sticky-buttons {
		right: 10px !important;
		width: 38px !important;
	}

	body.dmg-theme ul.sticky-buttons li,
	body.dmg-theme ul.sticky-buttons li a {
		height: 38px !important;
		width: 38px !important;
	}

	body.dmg-theme ul.sticky-buttons .sb-icon {
		height: 18px !important;
		width: 18px !important;
	}

	body.dmg-theme ul.sticky-buttons .sb-icon svg {
		height: 17px;
		width: 17px;
	}
}

.dmg-footer-bottom {
	border-top: 1px solid rgba(212, 175, 90, 0.1);
	padding-top: 23px;
}

.dmg-footer-bottom-inner {
	color: #7a7364;
	display: flex;
	font-size: 11px;
	gap: 12px;
	justify-content: space-between;
}

/* Generic inner-page content */
.dmg-page-shell {
	background: var(--dmg-paper);
	padding: 0;
}

.dmg-inner-hero {
	background-color: var(--dmg-night);
	background-position: center;
	background-size: cover;
	min-height: 390px;
	overflow: hidden;
	padding: 178px 0 108px;
	position: relative;
}

.dmg-inner-hero::before {
	background: radial-gradient(90% 130% at 12% 20%, rgba(201, 154, 63, 0.22), transparent 54%), linear-gradient(180deg, rgba(10, 8, 6, 0.78), rgba(23, 19, 15, 0.9));
	content: "";
	inset: 0;
	position: absolute;
}

.dmg-inner-hero .dmg-container {
	position: relative;
	z-index: 1;
}

.dmg-inner-hero h1 {
	color: #f0e6d2;
	font-family: var(--dmg-display) !important;
	font-size: clamp(48px, 7vw, 88px);
	font-weight: 400;
	letter-spacing: -0.035em;
	line-height: 0.98;
	margin: 0;
	max-width: 760px;
}

.dmg-inner-hero p {
	color: #cfc6b6;
	font-size: 16px;
	line-height: 1.7;
	margin: 22px 0 0;
	max-width: 600px;
}

.dmg-page-content-wrap {
	margin-top: -48px;
	position: relative;
	z-index: 2;
}

.dmg-page-content-wrap .dmg-content-card {
	margin-bottom: 0;
}

.dmg-modern-copy {
	color: var(--dmg-ink-soft);
	font-size: 16px;
	line-height: 1.85;
	margin: 0;
	max-width: 66ch;
}

.dmg-modern-copy + .dmg-modern-copy {
	margin-top: 16px;
}

.dmg-page-feature-grid {
	align-items: center;
	display: grid;
	gap: clamp(36px, 6vw, 80px);
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.dmg-page-feature-grid .dmg-image-frame {
	margin: 0;
}

.dmg-page-feature-grid .dmg-heading {
	font-size: clamp(32px, 4vw, 48px);
}

.dmg-page-feature-grid--reverse .dmg-image-frame {
	order: 2;
}

.dmg-page-feature-grid--reverse .dmg-page-copy {
	order: 1;
}

.dmg-page-copy h2 {
	margin-bottom: 18px;
}

.dmg-page-copy h3 {
	color: var(--dmg-ink);
	font-family: var(--dmg-display) !important;
	font-size: 30px;
	font-weight: 400;
	line-height: 1.05;
	margin: 30px 0 12px;
}

.dmg-page-copy ul {
	color: var(--dmg-ink-soft);
	line-height: 1.8;
	margin: 22px 0 0;
	padding-left: 20px;
}

.dmg-page-copy li::marker {
	color: var(--dmg-gold-dark);
}

.dmg-page-section-heading {
	margin-bottom: 38px;
}

.dmg-page-section-heading .dmg-heading {
	font-size: clamp(34px, 4vw, 50px);
}

.dmg-page-callout-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dmg-page-callout {
	background: var(--dmg-white);
	border: 1px solid var(--dmg-line);
	border-radius: 18px;
	box-shadow: var(--dmg-shadow);
	padding: 26px;
}

.dmg-page-callout strong {
	color: var(--dmg-gold-dark);
	display: block;
	font-family: var(--dmg-ui);
	font-size: 12px;
	letter-spacing: 0.12em;
	margin-bottom: 12px;
	text-transform: uppercase;
}

.dmg-page-callout h3 {
	color: var(--dmg-ink);
	font-family: var(--dmg-display) !important;
	font-size: 26px;
	font-weight: 400;
	line-height: 1.05;
	margin: 0 0 10px;
}

.dmg-page-callout p {
	color: var(--dmg-ink-soft);
	font-size: 14px;
	line-height: 1.7;
	margin: 0;
}

.dmg-menu-content {
	color: var(--dmg-ink-soft);
	font-size: 16px;
	line-height: 1.8;
}

.dmg-menu-content h2,
.dmg-menu-content h3,
.dmg-menu-content h4 {
	color: var(--dmg-ink);
	font-family: var(--dmg-display) !important;
	font-weight: 400;
	line-height: 1.1;
}

.dmg-menu-content h2 { font-size: 38px; }
.dmg-menu-content h3 { font-size: 30px; }
.dmg-menu-content h4 { font-size: 24px; }

.dmg-menu-content a {
	color: var(--dmg-gold-dark);
	text-decoration: underline;
	text-decoration-color: rgba(138, 106, 34, 0.35);
	text-underline-offset: 3px;
}

.dmg-menu-content img {
	border-radius: 15px;
	margin: 22px 0;
}

.dmg-content-card {
	background: var(--dmg-white);
	border: 1px solid var(--dmg-line);
	border-radius: 22px;
	box-shadow: var(--dmg-shadow);
	padding: clamp(28px, 5vw, 72px);
}

.dmg-content-card .entry-title {
	color: var(--dmg-ink);
	font-family: var(--dmg-display) !important;
	font-size: clamp(40px, 5vw, 64px);
	font-weight: 400;
	line-height: 1;
}

.dmg-content-card .entry-content {
	color: var(--dmg-ink-soft);
	font-size: 16px;
	line-height: 1.85;
}

.dmg-content-card .entry-content a {
	color: var(--dmg-gold-dark);
	text-decoration: underline;
	text-decoration-color: rgba(138, 106, 34, 0.35);
	text-underline-offset: 3px;
}

/* Editorial menu and gallery pages */
.dmg-menu-hero {
	background-color: var(--dmg-night);
	background-position: center;
	background-size: cover;
	min-height: 610px;
	overflow: hidden;
	padding: 190px 0 88px;
	position: relative;
}

.dmg-menu-hero::before {
	background: linear-gradient(90deg, rgba(13, 10, 7, 0.92) 0%, rgba(13, 10, 7, 0.62) 46%, rgba(13, 10, 7, 0.34) 100%);
	content: "";
	inset: 0;
	position: absolute;
}

.dmg-menu-hero::after {
	background: radial-gradient(circle at 84% 20%, rgba(232, 197, 104, 0.22), transparent 24%);
	content: "";
	inset: 0;
	position: absolute;
}

.dmg-menu-hero--no-image {
	background-image: radial-gradient(circle at 82% 18%, rgba(233, 197, 104, 0.2), transparent 28%), linear-gradient(135deg, #211911 0%, #0d0a07 66%, #17110c 100%);
}

.dmg-menu-hero--no-image::before {
	background: linear-gradient(90deg, rgba(13, 10, 7, 0.66) 0%, rgba(13, 10, 7, 0.34) 100%);
}

.dmg-menu-hero-grid {
	align-items: end;
	display: grid;
	gap: 50px;
	grid-template-columns: minmax(0, 1fr) 250px;
	min-height: 330px;
	position: relative;
	z-index: 1;
}

.dmg-menu-hero-copy h1 {
	color: #f0e6d2;
	font-family: var(--dmg-display) !important;
	font-size: clamp(58px, 9vw, 118px);
	font-weight: 400;
	letter-spacing: -0.05em;
	line-height: 0.9;
	margin: 18px 0 22px;
	max-width: 840px;
}

.dmg-menu-hero-copy p {
	color: #d1c8b8;
	font-size: 17px;
	line-height: 1.75;
	margin: 0 0 30px;
	max-width: 590px;
}

.dmg-menu-hero-price {
	backdrop-filter: blur(20px);
	background: rgba(255, 251, 243, 0.12);
	border-radius: 24px;
	box-shadow: 0 24px 70px -34px rgba(0, 0, 0, 0.8);
	color: #f6e8ca;
	display: flex;
	flex-direction: column;
	padding: 24px 25px 26px;
}

.dmg-menu-hero-price span,
.dmg-menu-hero-price em {
	color: #cfc6b6;
	font-family: var(--dmg-ui);
	font-size: 11px;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.dmg-menu-hero-price .dmg-price-badge {
	align-self: flex-start;
	background: var(--dmg-gold-bright);
	border-radius: 999px;
	color: #1c1408;
	display: inline-flex;
	font-family: var(--dmg-ui);
	font-size: 10px;
	font-style: normal;
	font-weight: 900;
	letter-spacing: 0.16em;
	margin-bottom: 13px;
	padding: 7px 11px;
	text-transform: uppercase;
	animation: dmg-new-pulse 2.8s ease-in-out infinite;
}

.dmg-menu-hero-price .dmg-price-old,
.dmg-variant-price .dmg-price-old {
	color: #c7775d;
	display: block;
	font-family: var(--dmg-ui);
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	margin-top: 14px;
	text-decoration-color: #c7775d;
	text-decoration-thickness: 2px;
}

.dmg-price-new {
	background: linear-gradient(110deg, var(--dmg-gold-light), var(--dmg-gold-bright) 42%, #fff2bd 58%, var(--dmg-gold));
	background-size: 240% 100%;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	animation: dmg-shimmer 4.8s linear infinite;
}

.dmg-menu-hero-price strong {
	font-family: var(--dmg-display);
	font-size: 68px;
	font-weight: 400;
	letter-spacing: -0.06em;
	line-height: 0.95;
	margin: 14px 0 11px;
}

.dmg-menu-hero-price strong small {
	font-family: var(--dmg-ui);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0;
}

.dmg-menu-variants {
	background: var(--dmg-white);
}

.dmg-menu-variant-detail {
	background: var(--dmg-sand);
	scroll-margin-top: 120px;
}

.dmg-menu-variant-detail .dmg-section-heading {
	margin-bottom: 34px;
}

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

.dmg-menu-variant-card {
	background: linear-gradient(145deg, #fffdfa, #f1e5d0);
	border: 1px solid rgba(138, 106, 34, 0.16);
	border-radius: 26px;
	box-shadow: 0 24px 60px -42px rgba(54, 35, 12, 0.5);
	padding: 30px;
	position: relative;
	overflow: hidden;
	scroll-margin-top: 120px;
}

.dmg-menu-variant-card::after {
	background: radial-gradient(circle, rgba(233, 197, 104, 0.24), transparent 66%);
	content: "";
	height: 260px;
	position: absolute;
	right: -100px;
	top: -120px;
	width: 260px;
	z-index: 0;
}

.dmg-menu-variant-card.is-new {
	background: linear-gradient(145deg, #241b10, #4c3619);
	border-color: rgba(233, 197, 104, 0.52);
	box-shadow: 0 28px 70px -38px rgba(20, 12, 4, 0.85);
	color: #eee2c9;
}

.dmg-menu-variant-card > * {
	position: relative;
	z-index: 1;
}

.dmg-menu-variant-top {
	align-items: start;
	display: flex;
	gap: 14px;
	justify-content: space-between;
}

.dmg-variant-kicker {
	color: var(--dmg-gold-dark);
	display: block;
	font-family: var(--dmg-ui);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.14em;
	margin-bottom: 9px;
	text-transform: uppercase;
}

.dmg-menu-variant-card.is-new .dmg-variant-kicker {
	color: var(--dmg-gold-bright);
}

.dmg-menu-variant-card h3 {
	color: var(--dmg-ink);
	font-family: var(--dmg-display) !important;
	font-size: 34px;
	font-weight: 400;
	line-height: 1;
	margin: 0;
}

.dmg-menu-variant-card.is-new h3 {
	color: #f6e8ca;
}

.dmg-variant-new {
	background: var(--dmg-gold-bright);
	border-radius: 999px;
	color: #211508;
	display: inline-flex;
	font-family: var(--dmg-ui);
	font-size: 10px;
	font-weight: 900;
	letter-spacing: 0.14em;
	padding: 8px 11px;
	text-transform: uppercase;
	animation: dmg-new-pulse 2.8s ease-in-out infinite;
}

.dmg-variant-price {
	display: block;
	margin: 25px 0 18px;
}

.dmg-variant-price .dmg-price-old {
	margin: 0 0 8px;
}

.dmg-variant-price .dmg-price-new {
	display: block;
	font-family: var(--dmg-display);
	font-size: 66px;
	font-weight: 400;
	letter-spacing: -0.06em;
	line-height: 0.9;
}

.dmg-variant-price .dmg-price-new small {
	font-family: var(--dmg-ui);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0;
}

.dmg-variant-price > span {
	color: var(--dmg-ink-soft);
	display: inline-block;
	font-family: var(--dmg-ui);
	font-size: 11px;
	font-weight: 700;
	margin-left: 8px;
	text-transform: uppercase;
}

.dmg-menu-variant-card.is-new .dmg-variant-price > span,
.dmg-menu-variant-card.is-new p,
.dmg-menu-variant-card.is-new li {
	color: #d5c5a7;
}

.dmg-menu-variant-card p {
	color: var(--dmg-ink-soft);
	font-size: 14px;
	line-height: 1.7;
	margin: 0 0 19px;
	max-width: 45ch;
}

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

.dmg-menu-variant-card li {
	color: var(--dmg-ink-soft);
	font-size: 13px;
	padding-left: 18px;
	position: relative;
}

.dmg-menu-variant-card li::before {
	color: var(--dmg-gold-dark);
	content: "✦";
	left: 0;
	position: absolute;
}

.dmg-menu-variant-card.is-new li::before {
	color: var(--dmg-gold-bright);
}

.dmg-menu-intro {
	background: var(--dmg-paper);
}

.dmg-menu-intro-grid {
	align-items: start;
	display: grid;
	gap: clamp(34px, 8vw, 120px);
	grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
}

.dmg-menu-intro-copy .dmg-heading {
	font-size: clamp(38px, 5vw, 66px);
	max-width: 670px;
}

.dmg-menu-intro-note {
	background: var(--dmg-night);
	border-radius: 26px;
	box-shadow: var(--dmg-shadow-dark);
	color: #d1c8b8;
	padding: 30px;
}

.dmg-menu-note-label {
	color: var(--dmg-gold-bright);
	display: block;
	font-family: var(--dmg-ui);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.12em;
	margin-bottom: 18px;
	text-transform: uppercase;
}

.dmg-menu-intro-note strong {
	color: #f0e6d2;
	display: block;
	font-family: var(--dmg-display);
	font-size: 34px;
	font-weight: 400;
	line-height: 1;
	margin-bottom: 16px;
}

.dmg-menu-intro-note p {
	font-size: 14px;
	line-height: 1.75;
	margin: 0 0 21px;
}

.dmg-text-link {
	color: var(--dmg-gold-light) !important;
	display: inline-flex;
	font-size: 13px;
	font-weight: 700;
	gap: 10px;
}

.dmg-text-link:hover {
	gap: 15px;
}

.dmg-menu-highlights {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 54px;
	padding-top: 24px;
}

.dmg-menu-highlights span {
	color: var(--dmg-ink);
	font-family: var(--dmg-ui);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
}

.dmg-menu-highlights span::before {
	color: var(--dmg-gold-dark);
	content: "✦";
	display: inline-block;
	margin-right: 9px;
}

.dmg-menu-list-section {
	background: #eee3d1;
}

.dmg-menu-list-section .dmg-section-heading {
	margin-bottom: 40px;
}

.dmg-menu-list-grid {
	display: grid;
	gap: 17px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dmg-menu-section-card {
	background: rgba(255, 253, 250, 0.92);
	border-radius: 22px;
	box-shadow: 0 24px 52px -38px rgba(54, 35, 12, 0.6);
	min-height: 205px;
	padding: 26px;
}

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

.dmg-menu-section-card.is-dark {
	background: var(--dmg-night);
	color: #d1c8b8;
}

.dmg-menu-section-number {
	color: var(--dmg-gold-dark);
	display: block;
	font-family: var(--dmg-ui);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.12em;
	margin-bottom: 18px;
}

.dmg-menu-section-card.is-dark .dmg-menu-section-number {
	color: var(--dmg-gold-bright);
}

.dmg-menu-section-card h3 {
	color: var(--dmg-ink);
	font-family: var(--dmg-display) !important;
	font-size: 31px;
	font-weight: 400;
	line-height: 1;
	margin: 0 0 16px;
}

.dmg-menu-section-card.is-dark h3 {
	color: #f0e6d2;
}

.dmg-menu-section-card ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.dmg-menu-section-card li {
	color: var(--dmg-ink-soft);
	font-size: 14px;
	line-height: 1.55;
	padding-left: 16px;
	position: relative;
}

.dmg-menu-section-card li + li {
	margin-top: 7px;
}

.dmg-menu-section-card li::before {
	background: var(--dmg-gold);
	border-radius: 50%;
	content: "";
	height: 4px;
	left: 0;
	position: absolute;
	top: 0.7em;
	width: 4px;
}

.dmg-menu-section-card.is-dark li {
	color: #cfc6b6;
}

.dmg-menu-story {
	background: var(--dmg-paper);
}

.dmg-menu-story-grid {
	align-items: center;
	display: grid;
	gap: clamp(34px, 7vw, 100px);
	grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr);
}

.dmg-menu-story--no-image .dmg-menu-story-grid {
	grid-template-columns: minmax(0, 820px);
}

.dmg-menu-story-image {
	border-radius: 28px;
	box-shadow: var(--dmg-shadow);
	margin: 0;
	overflow: hidden;
}

.dmg-menu-story-image img {
	aspect-ratio: 1.12 / 1;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.dmg-menu-story-copy .dmg-heading {
	font-size: clamp(36px, 4.5vw, 60px);
}

.dmg-menu-story-copy .dmg-button {
	margin-top: 23px;
}

.dmg-menu-cta {
	background: var(--dmg-night);
	color: #d1c8b8;
	overflow: hidden;
	position: relative;
}

.dmg-menu-cta::before {
	background: radial-gradient(circle at 80% 30%, rgba(212, 175, 90, 0.2), transparent 34%);
	content: "";
	inset: 0;
	position: absolute;
}

.dmg-menu-cta .dmg-container {
	position: relative;
	z-index: 1;
}

.dmg-menu-cta .dmg-heading {
	max-width: 690px;
}

.dmg-menu-cta .dmg-lead {
	color: #cfc6b6;
	max-width: 540px;
}

/* Categorised gallery */
.dmg-gallery-overview {
	background: var(--dmg-sand);
}

.dmg-gallery-overview-grid {
	align-items: end;
	display: grid;
	gap: 40px;
	grid-template-columns: minmax(0, 1fr) minmax(250px, 0.7fr);
}

.dmg-gallery-overview .dmg-heading {
	font-size: clamp(38px, 5vw, 70px);
	max-width: 710px;
}

.dmg-gallery-overview .dmg-lead {
	margin: 0;
}

.dmg-gallery-index {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 48px;
}

.dmg-gallery-index a {
	align-items: center;
	background: rgba(255, 253, 250, 0.45);
	border-radius: 14px;
	color: var(--dmg-ink);
	display: flex;
	font-family: var(--dmg-display);
	font-size: 27px;
	gap: 12px;
	justify-content: space-between;
	padding: 15px 17px;
}

.dmg-gallery-index a:hover {
	background: var(--dmg-white);
	transform: translateY(-3px);
}

.dmg-gallery-index span {
	color: var(--dmg-gold-dark);
	font-family: var(--dmg-ui);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.1em;
}

.dmg-gallery-index b {
	color: var(--dmg-gold-dark);
	font-family: var(--dmg-ui);
	font-size: 18px;
	font-weight: 400;
}

.dmg-gallery-category {
	background: var(--dmg-paper);
}

.dmg-gallery-category + .dmg-gallery-category {
	padding-top: 0;
}

.dmg-gallery-category-head {
	align-items: end;
	display: flex;
	justify-content: space-between;
	margin-bottom: 28px;
}

.dmg-gallery-category-head .dmg-heading {
	font-size: clamp(42px, 5vw, 72px);
	margin: 0;
}

.dmg-gallery-count {
	color: var(--dmg-ink-soft);
	font-family: var(--dmg-ui);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.dmg-gallery-slider {
	background: var(--dmg-night);
	border-radius: 28px;
	box-shadow: var(--dmg-shadow-dark);
	overflow: hidden;
	padding: 16px;
}

.dmg-gallery-slider-viewport {
	overflow: hidden;
}

.dmg-gallery-slider-track {
	display: flex;
	gap: 14px;
	width: max-content;
}

.dmg-gallery-slide {
	border-radius: 20px;
	flex: 0 0 min(57vw, 660px);
	margin: 0;
	overflow: hidden;
}

.dmg-gallery-open {
	background: none;
	border: 0;
	cursor: zoom-in;
	display: block;
	height: 100%;
	padding: 0;
	position: relative;
	width: 100%;
}

.dmg-gallery-slide img {
	aspect-ratio: 1.55 / 1;
	display: block;
	filter: saturate(0.86);
	height: 100%;
	object-fit: cover;
	transition: filter 600ms var(--dmg-ease), transform 700ms var(--dmg-ease);
	width: 100%;
}

.dmg-gallery-open:hover img {
	filter: saturate(1.04);
	transform: scale(1.035);
}

.dmg-gallery-slide-overlay {
	align-items: center;
	background: linear-gradient(180deg, transparent, rgba(10, 8, 6, 0.74));
	bottom: 0;
	color: #f0e6d2;
	display: flex;
	font-family: var(--dmg-ui);
	font-size: 11px;
	font-weight: 700;
	justify-content: space-between;
	left: 0;
	letter-spacing: 0.06em;
	padding: 38px 19px 17px;
	position: absolute;
	right: 0;
	text-transform: uppercase;
}

.dmg-gallery-slide-overlay b {
	color: var(--dmg-gold-light);
	font-size: 20px;
	font-weight: 400;
}

.dmg-gallery-slider-controls {
	align-items: center;
	color: #a89f8e;
	display: flex;
	font-family: var(--dmg-ui);
	font-size: 10px;
	font-weight: 800;
	justify-content: space-between;
	letter-spacing: 0.1em;
	padding: 14px 3px 1px;
	text-transform: uppercase;
}

.dmg-gallery-slider-controls div {
	display: flex;
	gap: 7px;
}

.dmg-gallery-slider-controls button {
	background: transparent;
	border: 1px solid rgba(212, 175, 90, 0.35);
	border-radius: 50%;
	color: var(--dmg-gold-light);
	cursor: pointer;
	height: 34px;
	line-height: 1;
	padding: 0;
	width: 34px;
}

.dmg-gallery-slider-controls button:hover {
	background: rgba(212, 175, 90, 0.15);
	border-color: var(--dmg-gold-bright);
	transform: translateY(-2px);
}

.dmg-gallery-mosaic-heading {
	align-items: baseline;
	display: flex;
	gap: 14px;
	justify-content: space-between;
	margin: 68px 0 20px;
}

.dmg-gallery-mosaic-heading span {
	color: var(--dmg-ink);
	font-family: var(--dmg-display);
	font-size: 35px;
}

.dmg-gallery-mosaic-heading small {
	color: var(--dmg-ink-soft);
	font-family: var(--dmg-ui);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.dmg-gallery-mosaic {
	display: grid;
	gap: 15px;
	grid-auto-rows: 104px;
	grid-template-columns: repeat(12, minmax(0, 1fr));
}

.dmg-gallery-mosaic-item {
	background: var(--dmg-sand);
	border-radius: 23px;
	box-shadow: 0 22px 42px -30px rgba(54, 35, 12, 0.58);
	margin: 0;
	overflow: hidden;
	position: relative;
	transition: box-shadow 420ms var(--dmg-ease), transform 420ms var(--dmg-ease);
}

.dmg-gallery-mosaic-item .dmg-gallery-open {
	border-radius: inherit;
	overflow: hidden;
}

.dmg-gallery-mosaic-item:nth-child(6n + 1) { grid-column: span 4; grid-row: span 4; }
.dmg-gallery-mosaic-item:nth-child(6n + 2) { grid-column: span 3; grid-row: span 3; transform: translateY(9px); }
.dmg-gallery-mosaic-item:nth-child(6n + 3) { grid-column: span 5; grid-row: span 3; }
.dmg-gallery-mosaic-item:nth-child(6n + 4) { grid-column: span 3; grid-row: span 4; transform: translateY(-6px); }
.dmg-gallery-mosaic-item:nth-child(6n + 5) { grid-column: span 5; grid-row: span 4; }
.dmg-gallery-mosaic-item:nth-child(6n + 6) { grid-column: span 4; grid-row: span 3; transform: translateY(7px); }

.dmg-gallery-mosaic-item img {
	height: 100%;
	object-fit: cover;
	transform: scale(1.01);
	transition: filter 600ms var(--dmg-ease), transform 700ms var(--dmg-ease);
	width: 100%;
}

body.dmg-theme .dmg-gallery-mosaic-item img,
body.dmg-theme .dmg-gallery-slide img {
	height: 100%;
}

.dmg-gallery-mosaic-item:hover img {
	filter: saturate(1.08);
	transform: scale(1.06);
}

.dmg-gallery-mosaic-item:hover {
	box-shadow: 0 28px 54px -28px rgba(54, 35, 12, 0.7);
	transform: translateY(-4px) scale(1.012);
	z-index: 2;
}

.dmg-lightbox[hidden] {
	display: none;
}

.dmg-lightbox {
	align-items: center;
	background: rgba(10, 8, 6, 0.94);
	display: flex;
	inset: 0;
	justify-content: center;
	padding: 30px;
	position: fixed;
	z-index: 2000;
}

body.dmg-lightbox-open {
	overflow: hidden;
}

.dmg-lightbox figure {
	margin: 0;
	max-height: 90vh;
	max-width: min(1160px, 92vw);
	position: relative;
}

.dmg-lightbox img {
	border-radius: 12px;
	box-shadow: 0 30px 90px rgba(0, 0, 0, 0.6);
	display: block;
	max-height: 82vh;
	max-width: 100%;
	object-fit: contain;
}

.dmg-lightbox figcaption {
	color: #d1c8b8;
	font-family: var(--dmg-ui);
	font-size: 12px;
	letter-spacing: 0.08em;
	margin-top: 13px;
	text-align: center;
	text-transform: uppercase;
}

.dmg-lightbox-close {
	background: rgba(255, 253, 250, 0.08);
	border: 1px solid rgba(212, 175, 90, 0.4);
	border-radius: 50%;
	color: var(--dmg-gold-light);
	cursor: pointer;
	font-size: 27px;
	height: 42px;
	line-height: 1;
	position: absolute;
	right: 25px;
	top: 25px;
	width: 42px;
	z-index: 1;
}

.dmg-lightbox-close:hover {
	background: rgba(212, 175, 90, 0.15);
	transform: rotate(90deg);
}

/* Scroll reveals */
.dmg-reveal {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 800ms var(--dmg-ease), transform 800ms var(--dmg-ease);
}

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

@keyframes dmg-shimmer {
	to { background-position: 250% 0; }
}

@keyframes dmg-promo-sweep {
	0%, 58% { transform: translateX(0) skewX(-18deg); }
	82%, 100% { transform: translateX(760%) skewX(-18deg); }
}

@keyframes dmg-new-pulse {
	0%, 100% { box-shadow: 0 0 0 0 rgba(233, 197, 104, 0.16); transform: translateY(0); }
	50% { box-shadow: 0 0 0 8px rgba(233, 197, 104, 0); transform: translateY(-2px); }
}

@keyframes dmg-sweep {
	to { transform: translateX(260%) skewX(-15deg); }
}

@keyframes dmg-marquee {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.001ms !important;
	}

	.dmg-reveal {
		opacity: 1;
		transform: none;
	}
}

@media (max-width: 980px) {
	.dmg-header-cta,
	.dmg-menu-toggle {
		display: none;
	}

	.dmg-primary-nav {
		display: block;
		margin-left: auto;
	}

	.dmg-menu {
		gap: 16px;
	}

	.dmg-menu > li > a {
		font-size: 18px !important;
		padding: 8px 0;
	}

	.dmg-service-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dmg-menu-variant-grid {
		grid-template-columns: 1fr;
	}

	.dmg-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dmg-menu-hero {
		min-height: 570px;
	}

	.dmg-menu-list-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

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

	.dmg-gallery-slide {
		flex-basis: min(68vw, 560px);
	}
}

@media (max-width: 720px) {
	.dmg-footer-cta {
		padding: 42px 0;
	}

	.dmg-footer-cta-inner {
		align-items: flex-start;
		flex-direction: column;
		gap: 24px;
	}

	.dmg-footer-cta-phone {
		justify-content: space-between;
		width: 100%;
	}

	.dmg-promo-bar-inner {
		align-items: flex-start;
		flex-direction: column;
		gap: 20px;
		padding-bottom: 25px;
		padding-top: 25px;
	}

	.dmg-promo-copy {
		flex-basis: auto;
	}

	.dmg-promo-prices {
		justify-content: flex-start;
	}

	body.admin-bar .dmg-site-header {
		top: 46px;
	}

	.dmg-site-header {
		left: 0;
		transform: none;
		width: 100%;
	}

	.dmg-container {
		width: min(100% - 38px, 1280px);
	}

	.dmg-section {
		padding: 70px 0;
	}

	.dmg-header-shell {
		gap: 6px;
		min-height: 58px;
		padding: 7px 10px;
		width: 100%;
	}

	.dmg-brand-copy {
		display: none;
	}

	.dmg-brand-mark {
		height: 39px;
		width: 39px;
	}

	.dmg-brand-mark img {
		height: 33px;
		width: 33px;
	}

	.dmg-header-shell {
		flex-wrap: nowrap;
	}

	.dmg-primary-nav {
		flex: 1 1 auto;
		flex-basis: auto;
		margin-left: 0;
		overflow: visible;
		padding: 0;
	}

	.dmg-menu {
		gap: 2px;
		justify-content: space-between;
		min-width: 0;
		width: 100%;
		white-space: nowrap;
	}

	.dmg-menu > li > a {
		font-size: 13px !important;
		padding: 2px 0 4px;
		white-space: nowrap;
	}

	.dmg-sub-menu {
		left: auto;
		right: 0;
		transform: translateY(8px);
	}

	.dmg-menu-parent:hover > .dmg-sub-menu,
	.dmg-menu-parent:focus-within > .dmg-sub-menu {
		transform: translateY(0);
	}

	.dmg-hero {
		min-height: 760px;
	}

	.dmg-inner-hero {
		min-height: 330px;
		padding: 146px 0 92px;
	}

	.dmg-inner-hero h1 {
		font-size: clamp(48px, 15vw, 72px);
	}

	.dmg-menu-hero {
		min-height: 690px;
		padding: 145px 0 58px;
	}

	.dmg-menu-hero-grid,
	.dmg-menu-intro-grid,
	.dmg-menu-story-grid,
	.dmg-gallery-overview-grid {
		grid-template-columns: 1fr;
	}

	.dmg-menu-hero-grid {
		gap: 30px;
		min-height: 470px;
	}

	.dmg-menu-hero-copy h1 {
		font-size: clamp(58px, 18vw, 88px);
	}

	.dmg-menu-hero-copy p {
		font-size: 15px;
	}

	.dmg-menu-hero-price {
		max-width: 210px;
		padding: 19px 20px 21px;
	}

	.dmg-menu-hero-price strong {
		font-size: 54px;
	}

	.dmg-menu-intro-grid {
		gap: 28px;
	}

	.dmg-menu-highlights {
		grid-template-columns: 1fr;
		margin-top: 36px;
	}

	.dmg-menu-list-grid {
		grid-template-columns: 1fr;
	}

	.dmg-menu-section-card:nth-child(1) {
		grid-column: auto;
	}

	.dmg-menu-section-card {
		padding: 23px;
	}

	.dmg-gallery-index {
		grid-template-columns: 1fr;
		margin-top: 32px;
	}

	.dmg-gallery-category-head {
		align-items: flex-start;
		flex-direction: column;
		gap: 8px;
	}

	.dmg-gallery-slide {
		flex-basis: 84vw;
	}

	.dmg-gallery-slider {
		border-radius: 22px;
		padding: 10px;
	}

	.dmg-gallery-slide {
		border-radius: 15px;
	}

	.dmg-gallery-slider-controls {
		font-size: 8px;
		gap: 12px;
	}

	.dmg-gallery-slider-controls span {
		max-width: 150px;
	}

	.dmg-gallery-mosaic-heading {
		align-items: flex-start;
		flex-direction: column;
		gap: 5px;
	}

	.dmg-gallery-mosaic {
		grid-auto-rows: 116px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dmg-gallery-mosaic-item:nth-child(6n + 1),
	.dmg-gallery-mosaic-item:nth-child(6n + 3),
	.dmg-gallery-mosaic-item:nth-child(6n + 5) {
		grid-column: span 2;
		grid-row: span 2;
	}

	.dmg-gallery-mosaic-item:nth-child(6n + 2),
	.dmg-gallery-mosaic-item:nth-child(6n + 4),
	.dmg-gallery-mosaic-item:nth-child(6n + 6) {
		grid-column: span 1;
		grid-row: span 2;
	}

	.dmg-gallery-mosaic-item:nth-child(6n + 2),
	.dmg-gallery-mosaic-item:nth-child(6n + 4),
	.dmg-gallery-mosaic-item:nth-child(6n + 6) {
		transform: none;
	}

	.dmg-lightbox {
		padding: 16px;
	}

	.dmg-lightbox-close {
		right: 16px;
		top: 16px;
	}

	.dmg-page-content-wrap {
		margin-top: -30px;
	}

	.dmg-hero-content {
		padding: 150px 19px 90px;
	}

	.dmg-hero h1 {
		font-size: clamp(52px, 17vw, 86px);
	}

	.dmg-hero-description {
		font-size: 15px;
	}

	.dmg-hero-dots {
		bottom: 26px;
		right: 20px;
	}

	.dmg-scroll-cue {
		bottom: 24px;
		left: 20px;
		transform: none;
	}

	.dmg-stats-grid {
		gap: 24px 18px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding: 46px 0;
	}

	.dmg-stat:nth-child(2) {
		border-right: 0;
	}

	.dmg-stat:nth-child(3),
	.dmg-stat:nth-child(4) {
		border-top: 1px solid rgba(138, 106, 34, 0.13);
		padding-top: 22px;
	}

	.dmg-about-grid,
	.dmg-hall-panel,
	.dmg-contact-grid,
	.dmg-page-feature-grid {
		grid-template-columns: 1fr;
	}

	.dmg-page-feature-grid--reverse .dmg-image-frame,
	.dmg-page-feature-grid--reverse .dmg-page-copy {
		order: initial;
	}

	.dmg-page-callout-grid {
		grid-template-columns: 1fr;
	}

	.dmg-about-copy {
		order: -1;
	}

	.dmg-about-points {
		grid-template-columns: 1fr;
	}

	.dmg-hall-panel {
		gap: 14px;
	}

	.dmg-hall-image {
		min-height: 240px;
	}

	.dmg-hall-copy {
		padding: 16px 18px 24px;
	}

	.dmg-service-grid {
		grid-template-columns: 1fr;
	}

	.dmg-service-card {
		min-height: 0;
	}

	.dmg-service-card-content {
		padding-top: 11px;
	}

	.dmg-menu-variant-card {
		padding: 24px;
	}

	.dmg-menu-variant-card h3 {
		font-size: 30px;
	}

	.dmg-variant-price .dmg-price-new {
		font-size: 58px;
	}

	.dmg-gallery-grid {
		gap: 9px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dmg-gallery-item:first-child {
		grid-row: span 1;
	}

	.dmg-social-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.dmg-footer-grid {
		gap: 34px 22px;
		grid-template-columns: 1fr 1fr;
	}

	.dmg-footer-grid > :first-child {
		grid-column: 1 / -1;
	}

	.dmg-footer-bottom-inner {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 430px) {
	.dmg-hero-actions .dmg-button {
		width: 100%;
	}

	.dmg-footer-grid {
		grid-template-columns: 1fr;
	}

	.dmg-footer-grid > :first-child {
		grid-column: auto;
	}

	.dmg-social-heading {
		align-items: flex-start;
		flex-direction: column;
		gap: 3px;
	}
}

/* Native Google reviews widget, kept inside the Modern Gold visual system. */
.dmg-google-reviews {
	margin: 0 auto;
	max-width: 1280px;
	padding: 0 24px;
}

.dmg-google-reviews .ti-widget,
.dmg-google-reviews .ti-widget-container {
	background: transparent !important;
	font-family: var(--dmg-body) !important;
	max-width: none !important;
	width: 100% !important;
}

.dmg-google-reviews .ti-header,
.dmg-google-reviews .ti-review-item .ti-inner {
	background: rgba(255, 253, 250, 0.82) !important;
	border: 1px solid rgba(138, 106, 34, 0.2) !important;
	border-radius: 18px !important;
	box-shadow: 0 18px 45px -32px rgba(54, 35, 12, 0.55) !important;
}

.dmg-google-reviews .ti-review-item .ti-inner {
	min-height: 178px;
	padding: 24px !important;
}

.dmg-google-reviews .ti-name,
.dmg-google-reviews .ti-date,
.dmg-google-reviews .ti-review-text,
.dmg-google-reviews .ti-review-content,
.dmg-google-reviews .ti-widget-container {
	font-family: var(--dmg-body) !important;
}

.dmg-google-reviews .ti-name {
	color: var(--dmg-ink) !important;
	font-weight: 700 !important;
}

.dmg-google-reviews .ti-review-text,
.dmg-google-reviews .ti-review-content {
	color: #4a4030 !important;
	line-height: 1.7 !important;
}

.dmg-review-source {
	align-items: center;
	color: #786d5a;
	display: flex;
	font-size: 12px;
	gap: 20px;
	justify-content: space-between;
	margin-top: 24px;
}

.dmg-review-source b {
	align-items: center;
	background: var(--dmg-gold);
	border-radius: 50%;
	color: var(--dmg-white);
	display: inline-flex;
	height: 20px;
	justify-content: center;
	margin-right: 6px;
	width: 20px;
}

.dmg-review-source a {
	color: var(--dmg-gold-dark) !important;
	font-weight: 700;
}

/* CookieYes consent surfaces, restyled to match the site instead of the plugin defaults. */
body.dmg-theme .cky-consent-container,
body.dmg-theme .cky-preference-center,
body.dmg-theme .cky-modal {
	font-family: var(--dmg-body) !important;
}

body.dmg-theme .cky-consent-container {
	bottom: 24px !important;
	right: 24px !important;
	width: min(460px, calc(100vw - 48px)) !important;
	z-index: 999999 !important;
}

body.dmg-theme .cky-consent-bar {
	background: linear-gradient(145deg, #211a12, #17130f) !important;
	border: 1px solid rgba(233, 197, 104, 0.4) !important;
	border-radius: 20px !important;
	box-shadow: 0 24px 70px -28px rgba(0, 0, 0, 0.72) !important;
	color: var(--dmg-white) !important;
	padding: 26px !important;
}

body.dmg-theme .cky-title {
	color: var(--dmg-gold-light) !important;
	font-family: var(--dmg-display) !important;
	font-size: 28px !important;
	font-weight: 400 !important;
	letter-spacing: -0.02em;
}

body.dmg-theme .cky-notice-des,
body.dmg-theme .cky-notice-des p {
	color: #d8cdbb !important;
	font-size: 13px !important;
	line-height: 1.65 !important;
}

body.dmg-theme .cky-notice-btn-wrapper,
body.dmg-theme .cky-prefrence-btn-wrapper {
	gap: 9px !important;
}

body.dmg-theme .cky-btn {
	border-radius: 999px !important;
	font-family: var(--dmg-ui) !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	letter-spacing: 0.02em;
	min-height: 42px !important;
	padding: 10px 16px !important;
}

body.dmg-theme .cky-btn-customize,
body.dmg-theme .cky-btn-reject,
body.dmg-theme .cky-btn-preferences {
	background: transparent !important;
	border-color: rgba(233, 197, 104, 0.7) !important;
	color: var(--dmg-gold-light) !important;
}

body.dmg-theme .cky-btn-accept {
	background: var(--dmg-gold) !important;
	border-color: var(--dmg-gold) !important;
	color: var(--dmg-ink) !important;
}

body.dmg-theme .cky-btn:hover {
	box-shadow: 0 10px 24px -16px rgba(233, 197, 104, 0.85) !important;
	transform: translateY(-2px);
}

body.dmg-theme .cky-preference-center {
	background: #211a12 !important;
	border: 1px solid rgba(233, 197, 104, 0.35) !important;
	border-radius: 22px !important;
	box-shadow: 0 30px 90px -35px rgba(0, 0, 0, 0.85) !important;
	color: var(--dmg-white) !important;
}

body.dmg-theme .cky-preference-title,
body.dmg-theme .cky-preference-content-wrapper,
body.dmg-theme .cky-preference-content-wrapper p,
body.dmg-theme .cky-accordion-btn,
body.dmg-theme .cky-accordion-header-des,
body.dmg-theme .cky-always-active {
	color: #f2eadc !important;
}

body.dmg-theme .cky-preference-title {
	font-family: var(--dmg-display) !important;
	font-size: 30px !important;
	font-weight: 400 !important;
}

body.dmg-theme .cky-accordion {
	background: rgba(255, 253, 250, 0.06) !important;
	border: 1px solid rgba(233, 197, 104, 0.16) !important;
	border-radius: 14px !important;
	margin-bottom: 10px !important;
}

body.dmg-theme .cky-audit-table {
	background: rgba(255, 253, 250, 0.08) !important;
	border-color: rgba(233, 197, 104, 0.16) !important;
}

body.dmg-theme .cky-btn-close img {
	filter: brightness(0) invert(1) !important;
}

@media (max-width: 720px) {
	body.dmg-theme .cky-consent-container {
	bottom: 14px !important;
	left: 14px !important;
	right: 14px !important;
	width: auto !important;
	}

	body.dmg-theme .cky-consent-bar {
	padding: 20px !important;
	}

	body.dmg-theme .cky-notice-btn-wrapper,
	body.dmg-theme .cky-prefrence-btn-wrapper {
	flex-wrap: wrap !important;
	}

	body.dmg-theme .cky-btn {
	flex: 1 1 30% !important;
	min-width: 0 !important;
	padding-left: 10px !important;
	padding-right: 10px !important;
	}

	.dmg-google-reviews {
		padding: 0 19px;
	}

	.dmg-review-source {
		align-items: flex-start;
		flex-direction: column;
		gap: 8px;
	}
}
