.dmcc-wrap {
	--dmcc-ink: #29372f;
	--dmcc-muted: #657168;
	--dmcc-forest: #496354;
	--dmcc-sage: #dfe9df;
	--dmcc-sage-soft: #f1f5ef;
	--dmcc-rose: #7a4e5b;
	--dmcc-rose-dark: #633d48;
	--dmcc-cream: #f8f5ef;
	--dmcc-white: #fff;
	--dmcc-line: #dfe3dc;
	--dmcc-shadow: 0 24px 70px rgba(45, 64, 51, .13);
	color: var(--dmcc-ink);
	font: inherit;
	margin: 0 auto;
	max-width: 1240px;
	overflow: clip;
	padding: clamp(16px, 3vw, 36px);
}

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

.dmcc-wrap h1,
.dmcc-wrap h2,
.dmcc-wrap h3 {
	color: var(--dmcc-ink);
	font-family: Georgia, "Times New Roman", serif;
	line-height: 1.12;
	margin-top: 0;
}

.dmcc-wrap h1 { font-size: clamp(2.8rem, 6vw, 5.7rem); }
.dmcc-wrap h2 { font-size: clamp(2rem, 4vw, 3.6rem); }
.dmcc-wrap h3 { font-size: clamp(1.15rem, 2vw, 1.45rem); }
.dmcc-wrap p { line-height: 1.75; }
.dmcc-wrap a { color: var(--dmcc-rose); }

.dmcc-eyebrow {
	color: var(--dmcc-rose);
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .16em;
	margin-bottom: 12px;
	text-transform: uppercase;
}

.dmcc-button {
	align-items: center;
	border: 1px solid transparent;
	border-radius: 999px;
	cursor: pointer;
	display: inline-flex;
	font-size: .98rem;
	font-weight: 700;
	justify-content: center;
	line-height: 1.2;
	min-height: 48px;
	padding: 13px 23px;
	text-decoration: none !important;
	transition: background .2s ease, border-color .2s ease, box-shadow .2s ease, color .2s ease, transform .2s ease;
}

.dmcc-button:hover { transform: translateY(-2px); }
.dmcc-button-primary { background: var(--dmcc-rose); color: #fff !important; }
.dmcc-button-primary:hover { background: var(--dmcc-rose-dark); box-shadow: 0 10px 25px rgba(99, 61, 72, .22); }
.dmcc-button-secondary { background: #fff; border-color: #cbd5cc; color: var(--dmcc-ink) !important; }
.dmcc-button-secondary:hover { border-color: var(--dmcc-forest); }

.dmcc-wrap :focus-visible {
	outline: 3px solid #a06475;
	outline-offset: 3px;
}

.dmcc-hero {
	align-items: center;
	background:
		radial-gradient(circle at 85% 20%, rgba(255,255,255,.88), transparent 24%),
		linear-gradient(135deg, #edf3eb 0%, #f8f3ed 55%, #efe6e6 100%);
	border: 1px solid rgba(73, 99, 84, .12);
	border-radius: clamp(26px, 4vw, 52px);
	display: grid;
	gap: clamp(28px, 5vw, 70px);
	grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
	min-height: 650px;
	overflow: hidden;
	padding: clamp(38px, 7vw, 88px);
	position: relative;
}

.dmcc-hero-copy { position: relative; z-index: 4; }
.dmcc-hero-copy > p:not(.dmcc-eyebrow) { font-size: clamp(1.05rem, 1.6vw, 1.28rem); max-width: 620px; }
.dmcc-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.dmcc-hero-cards { min-height: 470px; position: relative; }
.dmcc-floating-card {
	border-radius: 16px;
	box-shadow: var(--dmcc-shadow);
	height: auto;
	max-width: 65%;
	position: absolute;
	transform-origin: center;
}
.dmcc-floating-card-1 { left: 4%; top: 8%; transform: rotate(-6deg); z-index: 3; }
.dmcc-floating-card-2 { right: 0; top: 23%; transform: rotate(5deg); z-index: 2; }
.dmcc-floating-card-3 { bottom: -3%; left: 26%; transform: rotate(-1deg); z-index: 4; }

.dmcc-leaf {
	background: rgba(73, 99, 84, .25);
	border-radius: 100% 0 100% 0;
	height: 80px;
	position: absolute;
	width: 42px;
}
.dmcc-leaf-one { right: 4%; top: 2%; transform: rotate(25deg); }
.dmcc-leaf-two { bottom: 10%; left: 3%; transform: rotate(-45deg); }

@keyframes dmcc-float-one {
	0%, 100% { transform: translate3d(0,0,0) rotate(-6deg); }
	50% { transform: translate3d(0,-13px,0) rotate(-4deg); }
}
@keyframes dmcc-float-two {
	0%, 100% { transform: translate3d(0,0,0) rotate(5deg); }
	50% { transform: translate3d(-8px,-9px,0) rotate(3deg); }
}
@keyframes dmcc-float-three {
	0%, 100% { transform: translate3d(0,0,0) rotate(-1deg); }
	50% { transform: translate3d(5px,-11px,0) rotate(1deg); }
}
.dmcc-hero.is-animated .dmcc-floating-card-1 { animation: dmcc-float-one 7s ease-in-out infinite; }
.dmcc-hero.is-animated .dmcc-floating-card-2 { animation: dmcc-float-two 8.5s ease-in-out infinite; }
.dmcc-hero.is-animated .dmcc-floating-card-3 { animation: dmcc-float-three 9s ease-in-out infinite; }

.dmcc-intro {
	margin: clamp(70px, 10vw, 130px) auto;
	max-width: 850px;
	text-align: center;
}
.dmcc-intro > p:not(.dmcc-eyebrow) { color: var(--dmcc-muted); font-size: 1.08rem; }

.dmcc-section-heading {
	align-items: end;
	display: flex;
	gap: 30px;
	justify-content: space-between;
	margin-bottom: 34px;
}
.dmcc-section-heading h2 { margin-bottom: 0; }
.dmcc-section-heading > p { color: var(--dmcc-muted); white-space: nowrap; }

.dmcc-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin-bottom: 34px;
}
.dmcc-filter {
	background: var(--dmcc-sage-soft);
	border: 1px solid transparent;
	border-radius: 999px;
	color: var(--dmcc-ink);
	cursor: pointer;
	font: inherit;
	font-size: .92rem;
	font-weight: 650;
	padding: 10px 16px;
}
.dmcc-filter:hover { border-color: #afc0b1; }
.dmcc-filter.is-active {
	background: var(--dmcc-forest);
	color: #fff;
}

.dmcc-gallery {
	display: grid;
	gap: clamp(18px, 2.6vw, 30px);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.dmcc-card {
	background: #fff;
	border: 1px solid var(--dmcc-line);
	border-radius: 22px;
	box-shadow: 0 10px 35px rgba(45, 64, 51, .07);
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	transition: box-shadow .24s ease, transform .24s ease;
}
.dmcc-card:hover { box-shadow: 0 18px 48px rgba(45, 64, 51, .15); transform: translateY(-5px); }
.dmcc-card[hidden] { display: none; }
.dmcc-card-preview {
	aspect-ratio: 4/3;
	background: var(--dmcc-cream);
	border: 0;
	cursor: zoom-in;
	overflow: hidden;
	padding: 0;
	position: relative;
	width: 100%;
}
.dmcc-card-preview img {
	height: 100%;
	object-fit: contain;
	padding: 12px;
	transition: transform .28s ease;
	width: 100%;
}
.dmcc-card:hover .dmcc-card-preview img { transform: scale(1.025); }
.dmcc-card-preview span {
	background: rgba(41, 55, 47, .9);
	border-radius: 999px;
	bottom: 16px;
	color: #fff;
	font-size: .82rem;
	font-weight: 700;
	left: 50%;
	opacity: 0;
	padding: 8px 13px;
	position: absolute;
	transform: translate(-50%, 8px);
	transition: opacity .2s ease, transform .2s ease;
	white-space: nowrap;
}
.dmcc-card-preview:hover span,
.dmcc-card-preview:focus-visible span { opacity: 1; transform: translate(-50%, 0); }
.dmcc-card-body { display: flex; flex: 1; flex-direction: column; padding: 22px; }
.dmcc-card-body h3 { margin-bottom: 9px; }
.dmcc-card-body > p:not(.dmcc-card-category) { color: var(--dmcc-muted); margin: 0 0 20px; }
.dmcc-card-body .dmcc-button { margin-top: auto; width: 100%; }
.dmcc-card-category {
	color: var(--dmcc-rose);
	font-size: .75rem;
	font-weight: 800;
	letter-spacing: .09em;
	margin: 0 0 8px;
	text-transform: uppercase;
}
.dmcc-empty { background: var(--dmcc-cream); border-radius: 16px; padding: 24px; text-align: center; }

.dmcc-recommendation {
	background: linear-gradient(135deg, #eef4ed, #f7f3ef);
	border-radius: clamp(24px, 4vw, 44px);
	display: grid;
	gap: clamp(28px, 5vw, 70px);
	grid-template-columns: .8fr 1.2fr;
	margin: clamp(80px, 12vw, 150px) 0;
	padding: clamp(34px, 6vw, 72px);
}
.dmcc-recommendation-copy p:last-child { color: var(--dmcc-muted); }
.dmcc-recommender {
	display: grid;
	gap: 16px;
	grid-template-columns: 1fr 1fr;
}
.dmcc-recommender .dmcc-button { align-self: end; }
.dmcc-wrap label {
	color: var(--dmcc-ink);
	display: block;
	font-weight: 650;
	line-height: 1.45;
}
.dmcc-wrap input,
.dmcc-wrap select,
.dmcc-wrap textarea {
	background: #fff;
	border: 1px solid #bcc9bd;
	border-radius: 10px;
	color: var(--dmcc-ink);
	font: inherit;
	margin-top: 7px;
	min-height: 46px;
	padding: 10px 12px;
	width: 100%;
}
.dmcc-wrap textarea { resize: vertical; }
.dmcc-wrap input[aria-invalid="true"],
.dmcc-wrap select[aria-invalid="true"],
.dmcc-wrap textarea[aria-invalid="true"] { border-color: #a53f4e; box-shadow: 0 0 0 2px rgba(165,63,78,.14); }
.dmcc-recommendation-results {
	display: grid;
	gap: 16px;
	grid-column: 1/-1;
	grid-template-columns: repeat(3, 1fr);
}
.dmcc-recommendation-card {
	background: #fff;
	border: 1px solid var(--dmcc-line);
	border-radius: 18px;
	display: grid;
	grid-template-columns: 110px 1fr;
	overflow: hidden;
}
.dmcc-recommendation-card img { height: 100%; object-fit: contain; padding: 8px; width: 100%; }
.dmcc-recommendation-card > div { padding: 16px; }
.dmcc-recommendation-card h3 { font-size: 1.08rem; margin-bottom: 5px; }
.dmcc-recommendation-card p { color: var(--dmcc-muted); font-size: .88rem; line-height: 1.45; margin: 0 0 9px; }

.dmcc-order { scroll-margin-top: 30px; }
.dmcc-order-layout {
	align-items: start;
	display: grid;
	gap: clamp(28px, 5vw, 62px);
	grid-template-columns: minmax(0, 1.5fr) minmax(280px, .5fr);
}
.dmcc-order-form { min-width: 0; }
.dmcc-form-section {
	background: #fff;
	border: 1px solid var(--dmcc-line);
	border-radius: 20px;
	margin: 0 0 22px;
	padding: clamp(22px, 4vw, 38px);
}
.dmcc-form-section legend {
	align-items: center;
	color: var(--dmcc-ink);
	display: flex;
	font: 700 1.35rem Georgia,serif;
	gap: 12px;
	padding: 0 7px;
}
.dmcc-form-section legend span {
	align-items: center;
	background: var(--dmcc-sage);
	border-radius: 50%;
	display: inline-flex;
	font: 800 .85rem Arial,sans-serif;
	height: 30px;
	justify-content: center;
	width: 30px;
}
.dmcc-field-grid { display: grid; gap: 18px; grid-template-columns: 1fr 1fr; margin-bottom: 18px; }
.dmcc-selected-card {
	align-items: center;
	display: grid;
	gap: 24px;
	grid-template-columns: minmax(140px, 220px) 1fr;
}
.dmcc-selected-card img { background: var(--dmcc-cream); border-radius: 14px; max-height: 260px; object-fit: contain; width: 100%; }
.dmcc-selected-card h3 { margin-bottom: 5px; }
.dmcc-session-switcher { display: flex; flex-wrap: wrap; gap: 8px; margin: 15px 0; }
.dmcc-session-switcher button {
	background: #fff;
	border: 1px solid #b8c4ba;
	border-radius: 999px;
	cursor: pointer;
	font: inherit;
	font-size: .87rem;
	padding: 8px 12px;
}
.dmcc-session-switcher button.is-active { background: var(--dmcc-forest); color: #fff; }
.dmcc-choice-grid { display: grid; gap: 11px; grid-template-columns: repeat(2, 1fr); margin: 16px 0 22px; }
.dmcc-choice {
	align-items: center;
	background: var(--dmcc-sage-soft);
	border: 1px solid transparent;
	border-radius: 12px;
	cursor: pointer;
	display: flex !important;
	gap: 9px;
	padding: 13px;
}
.dmcc-choice:has(input:checked) { background: #e3ebe2; border-color: var(--dmcc-forest); }
.dmcc-choice input { flex: 0 0 auto; margin: 0; min-height: 0; width: auto; }
.dmcc-choice small { color: var(--dmcc-muted); display:block; font-size:.78rem; font-weight:400; margin-top:3px; }
.dmcc-conditional { background: var(--dmcc-cream); border-radius: 14px; margin-top: 16px; padding: 22px; }
.dmcc-conditional h3 { font-size: 1.25rem; }
.dmcc-help { color: var(--dmcc-muted); font-size: .9rem; margin-bottom: 0; }
.dmcc-consent { align-items: start; display: flex !important; gap: 11px; }
.dmcc-consent input { flex: 0 0 auto; margin-top: 4px; min-height: 0; width: auto; }
.dmcc-form-note { color: var(--dmcc-muted); font-size: .87rem; }
.dmcc-submit { font-size: 1.03rem; min-height: 54px; width: 100%; }
.dmcc-submit[disabled] { cursor: wait; opacity: .65; transform: none; }
.dmcc-honeypot { height: 0; left: -10000px; overflow: hidden; position: absolute; width: 0; }

.dmcc-error-summary {
	background: #fff1f2;
	border: 1px solid #d3939b;
	border-radius: 12px;
	color: #7d2733;
	margin-bottom: 20px;
	padding: 16px 18px;
}
.dmcc-error-summary ul { margin-bottom: 0; }
.dmcc-field-error { color: #9a3140; display: block; font-size: .84rem; margin-top: 5px; }
.dmcc-success {
	background: #edf6ed;
	border: 1px solid #91b497;
	border-radius: 18px;
	font-size: 1.05rem;
	margin-top: 24px;
	padding: 24px;
}

.dmcc-summary {
	background: #f5f1ec;
	border: 1px solid #e1dbd2;
	border-radius: 22px;
	padding: 25px;
	position: sticky;
	top: 34px;
}
.dmcc-summary h3 { margin-bottom: 15px; }
.dmcc-summary img { background: #fff; border-radius: 12px; max-height: 250px; object-fit: contain; padding: 8px; width: 100%; }
.dmcc-summary dl { margin-bottom: 0; }
.dmcc-summary dl div { border-bottom: 1px solid #ddd7cf; display: grid; gap: 12px; grid-template-columns: 1fr 1.25fr; padding: 11px 0; }
.dmcc-summary dt { color: var(--dmcc-muted); }
.dmcc-summary dd { font-weight: 700; margin: 0; text-align: right; }
.dmcc-summary .dmcc-summary-total { border-bottom: 0; font-size: 1.12rem; padding-top: 17px; }
.dmcc-summary-total dd { color: var(--dmcc-rose); }
.dmcc-mobile-summary { display: none; }

.dmcc-how {
	background: var(--dmcc-ink);
	border-radius: clamp(24px, 4vw, 44px);
	color: #fff;
	margin: clamp(80px, 12vw, 150px) 0;
	padding: clamp(36px, 6vw, 70px);
}
.dmcc-how h2 { color: #fff; }
.dmcc-how .dmcc-eyebrow { color: #d9b8c0; }
.dmcc-how ol {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(5, 1fr);
	list-style: none;
	margin: 38px 0 0;
	padding: 0;
}
.dmcc-how li { border-left: 1px solid rgba(255,255,255,.25); min-height: 145px; padding: 4px 18px; }
.dmcc-how li span { color: #d9b8c0; display: block; font-size: 2.4rem; font-weight: 300; margin-bottom: 15px; }
.dmcc-how li strong { font-size: .97rem; line-height: 1.5; }

.dmcc-final-cta {
	background: linear-gradient(135deg, #eee5e5, #eff4ed);
	border-radius: clamp(24px, 4vw, 44px);
	padding: clamp(38px, 7vw, 80px);
	text-align: center;
}
.dmcc-final-cta p { color: var(--dmcc-muted); font-size: 1.06rem; margin-left: auto; margin-right: auto; max-width: 720px; }
.dmcc-final-cta .dmcc-hero-actions { justify-content: center; }
.dmcc-phone { align-items: center; display: inline-flex; font-size: 1.1rem; font-weight: 800; padding: 12px; }

.dmcc-modal { inset: 0; position: fixed; z-index: 100000; }
.dmcc-modal-backdrop { background: rgba(25, 36, 29, .78); inset: 0; position: absolute; }
.dmcc-modal-panel {
	background: #fff;
	border-radius: 24px;
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(260px, .6fr);
	left: 50%;
	max-height: calc(100vh - 48px);
	max-width: 1050px;
	overflow: auto;
	position: absolute;
	top: 50%;
	transform: translate(-50%,-50%);
	width: calc(100% - 36px);
}
.dmcc-modal-image { align-items: center; background: var(--dmcc-cream); display: flex; justify-content: center; min-height: 420px; padding: 24px; }
.dmcc-modal-image img { height: auto; max-height: calc(100vh - 100px); max-width: 100%; object-fit: contain; }
.dmcc-modal-copy { align-self: center; padding: 40px; }
.dmcc-modal-price { color: var(--dmcc-rose); font-size: 1.18rem; font-weight: 800; }
.dmcc-modal-close {
	align-items: center;
	background: #fff;
	border: 1px solid var(--dmcc-line);
	border-radius: 50%;
	cursor: pointer;
	display: flex;
	font-size: 25px;
	height: 42px;
	justify-content: center;
	position: absolute;
	right: 14px;
	top: 14px;
	width: 42px;
	z-index: 2;
}
body.dmcc-modal-open { overflow: hidden; }

@media (max-width: 980px) {
	.dmcc-hero { grid-template-columns: 1fr; }
	.dmcc-hero-cards { min-height: 380px; }
	.dmcc-floating-card { max-width: 48%; }
	.dmcc-recommendation { grid-template-columns: 1fr; }
	.dmcc-order-layout { grid-template-columns: 1fr; }
	.dmcc-summary { display: none; }
	.dmcc-mobile-summary {
		background: var(--dmcc-cream);
		border-radius: 14px;
		display: block;
		margin: 18px 0;
		padding: 18px;
	}
	.dmcc-how ol { grid-template-columns: repeat(2, 1fr); }
	.dmcc-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dmcc-modal-panel { grid-template-columns: 1fr; }
	.dmcc-modal-image { min-height: 280px; }
}

@media (max-width: 640px) {
	.dmcc-wrap { padding: 10px; }
	.dmcc-hero { min-height: 0; padding: 34px 22px 20px; }
	.dmcc-hero h1 { font-size: clamp(2.45rem, 13vw, 3.6rem); }
	.dmcc-hero-cards { min-height: 280px; }
	.dmcc-floating-card { max-width: 58%; }
	.dmcc-floating-card-1 { left: 0; }
	.dmcc-floating-card-2 { right: -3%; }
	.dmcc-floating-card-3 { left: 22%; }
	.dmcc-section-heading { align-items: start; flex-direction: column; gap: 5px; }
	.dmcc-section-heading > p { margin-top: 0; white-space: normal; }
	.dmcc-filters {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}
	.dmcc-filter { min-width: 0; padding: 10px 8px; width: 100%; }
	.dmcc-gallery { grid-template-columns: 1fr; }
	.dmcc-recommendation { padding: 28px 20px; }
	.dmcc-recommender { grid-template-columns: 1fr; }
	.dmcc-recommendation-results { grid-template-columns: 1fr; }
	.dmcc-field-grid,
	.dmcc-choice-grid { grid-template-columns: 1fr; }
	.dmcc-selected-card { grid-template-columns: 1fr; }
	.dmcc-selected-card img { max-height: 300px; }
	.dmcc-form-section { padding: 22px 16px; }
	.dmcc-how { padding: 30px 22px; }
	.dmcc-how ol { grid-template-columns: 1fr; }
	.dmcc-how li { min-height: 0; padding-bottom: 18px; }
	.dmcc-how li span { display: inline-block; font-size: 1.5rem; margin: 0 12px 0 0; }
	.dmcc-modal-panel { border-radius: 18px; max-height: calc(100vh - 20px); width: calc(100% - 18px); }
	.dmcc-modal-image { min-height: 220px; padding: 12px; }
	.dmcc-modal-copy { padding: 25px 20px; }
}

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