
/* Vecchia Magia v1.27.8 — retention / anticipation experience.
   Additive only: no existing images or established section positions are replaced. */

.vm-guided-page-intro,
.vm-archive-guide-cta,
.vm-cabinet-opening,
.vm-piece-guide {
	background: #f5eddf;
	color: #2d261f;
}
.vm-guided-page-intro { padding: 72px 0 30px; }
.vm-guided-page-intro h1,
.vm-archive-guide-cta h2,
.vm-cabinet-opening h2,
.vm-piece-guide h2 {
	font-family: var(--vm-serif, Georgia, serif);
	font-weight: 400;
	color: #29221c;
}
.vm-guided-page-intro h1 { margin: 6px 0 12px; font-size: clamp(42px, 6vw, 72px); line-height: .98; }
.vm-guided-page-intro p:last-child { max-width: 700px; color: #6f6256; font-size: 17px; line-height: 1.7; }

.vm-archive-guide-cta {
	padding: 54px 0;
	border-top: 1px solid #dacdb8;
	border-bottom: 1px solid #dacdb8;
	background:
		linear-gradient(90deg, rgba(255,255,255,.16), rgba(255,255,255,0)),
		#eee4d3;
}
.vm-archive-guide-cta .vm-container { max-width: 900px; text-align: center; }
.vm-archive-guide-cta h2 { margin: 5px 0 10px; font-size: clamp(32px, 4vw, 50px); }
.vm-archive-guide-cta p:not(.vm-eyebrow) { max-width: 650px; margin: 0 auto 20px; color: #6c6055; line-height: 1.65; }

/* Guided finder */
.vm-piece-guide { padding: 28px 0 72px; }
.vm-piece-guide__form {
	max-width: 1040px;
	margin: 0 auto;
	padding: 30px;
	border: 1px solid #d8c9ae;
	background: #fbf7ef;
	box-shadow: 0 14px 38px rgba(54,42,25,.05);
}
.vm-piece-guide fieldset {
	margin: 0 0 30px;
	padding: 0;
	border: 0;
}
.vm-piece-guide legend {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	margin-bottom: 14px;
	font-family: var(--vm-serif, Georgia, serif);
	font-size: 24px;
	color: #30271f;
}
.vm-piece-guide legend span {
	display: grid;
	place-items: center;
	width: 31px;
	height: 31px;
	border: 1px solid #a98b4a;
	border-radius: 50%;
	font: 700 10px/1 var(--vm-sans, Arial, sans-serif);
	letter-spacing: .08em;
	color: #7c642f;
}
.vm-piece-guide__options {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
}
.vm-piece-guide fieldset:nth-of-type(3) .vm-piece-guide__options { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.vm-piece-guide__options label { cursor: pointer; }
.vm-piece-guide__options input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.vm-piece-guide__options label > span {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 96px;
	padding: 14px 15px;
	border: 1px solid #d2c5b2;
	background: #f7f0e4;
	color: #332a22;
	font-family: var(--vm-serif, Georgia, serif);
	font-size: 17px;
	transition: .18s ease;
}
.vm-piece-guide__options label small {
	display: block;
	margin-top: 5px;
	color: #796d61;
	font: 11px/1.45 var(--vm-sans, Arial, sans-serif);
}
.vm-piece-guide__options input:checked + span {
	border-color: #76632c;
	background: #454d2f;
	color: #f4ead6;
	box-shadow: inset 0 0 0 1px rgba(215,188,105,.2);
}
.vm-piece-guide__options input:checked + span small { color: #e3d7c1; }
.vm-piece-guide__options input:focus-visible + span { outline: 2px solid #8e7134; outline-offset: 2px; }
.vm-piece-guide__submit { display: block; margin: 4px auto 0; min-width: 250px; }
.vm-piece-guide__results { max-width: 1040px; margin: 34px auto 0; }
.vm-piece-guide__result-head { max-width: 690px; margin-bottom: 20px; }
.vm-piece-guide__result-head h2 { margin: 4px 0 8px; font-size: 36px; }
.vm-piece-guide__result-head p:last-child { color: #6b6055; line-height: 1.65; }
.vm-piece-guide__result-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0,1fr));
	gap: 22px;
}
.vm-piece-guide__product {
	padding-bottom: 16px;
	border-bottom: 1px solid #d4c6b1;
}
.vm-piece-guide__product a { color: inherit; text-decoration: none; }
.vm-piece-guide__product img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	background: #eadfcd;
}
.vm-piece-guide__product h3 {
	margin: 12px 0 4px;
	font-family: var(--vm-serif, Georgia, serif);
	font-size: 21px;
	font-weight: 500;
}
.vm-piece-guide__price { margin-bottom: 8px; color: #79612f; font-weight: 600; }
.vm-piece-guide__product p { color: #73675c; font-size: 12px; line-height: 1.55; }
.vm-piece-guide__reset {
	margin-top: 22px;
	padding: 0;
	border: 0;
	border-bottom: 1px solid currentColor;
	background: transparent;
	color: #6e582b;
	cursor: pointer;
}

/* Cabinet openings */
.vm-cabinet-opening {
	padding: 58px 0;
	border-top: 1px solid #d8c9af;
	border-bottom: 1px solid #d8c9af;
	background:
		radial-gradient(circle at 80% 20%, rgba(146,112,45,.09), transparent 38%),
		#f1e7d6;
}
.vm-cabinet-opening.is-compact { padding: 46px 0; }
.vm-cabinet-opening .vm-container { max-width: 900px; }
.vm-cabinet-opening h2 { margin: 5px 0 9px; font-size: clamp(34px, 4.5vw, 52px); }
.vm-cabinet-opening__teaser { max-width: 720px; color: #655a50; font-size: 16px; line-height: 1.7; }
.vm-cabinet-opening p { color: #6b5f54; line-height: 1.6; }
.vm-cabinet-access-form {
	max-width: 670px;
	margin-top: 20px;
	padding: 18px;
	border: 1px solid #d3c2a5;
	background: rgba(255,255,255,.3);
}
.vm-cabinet-access-form label { display: block; margin-bottom: 8px; font-size: 12px; color: #51483f; }
.vm-cabinet-access-form > div { display: flex; gap: 8px; }
.vm-cabinet-access-form input {
	flex: 1;
	min-width: 0;
	padding: 11px 12px;
	border: 1px solid #bbaa8e;
	background: #fffaf1;
}
.vm-cabinet-access-form button,
.vm-wait-request button {
	padding: 11px 16px;
	border: 1px solid #454d2f;
	background: #454d2f;
	color: #fff8e9;
	font-weight: 600;
	cursor: pointer;
}

/* Post-purchase archive line + Object Cards */
.woocommerce-order-received .woocommerce-thankyou-order-received {
	padding: 18px 20px;
	border: 1px solid #d5c5a9;
	background: #f8f0e1;
	color: #2d261f;
	font-family: var(--vm-serif, Georgia, serif);
	font-size: 23px;
	line-height: 1.25;
}
.vm-order-archive-subline {
	display: block;
	margin-top: 7px;
	color: #6f6256;
	font: 12px/1.55 var(--vm-sans, Arial, sans-serif);
}
.vm-object-cards {
	margin: 28px 0;
	padding: 22px;
	border: 1px solid #d6c7ac;
	background: #faf4e9;
}
.vm-object-card {
	padding-top: 14px;
	border-top: 1px solid #ded1bd;
}
.vm-object-card h3 { font-family: var(--vm-serif, Georgia, serif); font-size: 20px; font-weight: 500; }
.vm-object-card p { color: #63584e; font-size: 13px; line-height: 1.6; }

/* Availability watch */
.vm-wait-request {
	margin: 18px 0 8px;
	padding: 19px 20px;
	border: 1px solid #d2c2a8;
	background: #f8f1e5;
}
.vm-wait-request h3 {
	margin: 4px 0 7px;
	font-family: var(--vm-serif, Georgia, serif);
	font-size: 21px;
	font-weight: 500;
	color: #302820;
}
.vm-wait-request > p:not(.vm-eyebrow) { color: #6e6258; font-size: 12px; }
.vm-wait-request__choices { display: grid; gap: 7px; margin: 12px 0; }
.vm-wait-request__choices label,
.vm-wait-consent { color: #5e5349; font-size: 12px; line-height: 1.45; }
.vm-wait-request__row { display: flex; gap: 8px; margin: 7px 0 10px; }
.vm-wait-request__row input {
	flex: 1;
	min-width: 0;
	padding: 10px 11px;
	border: 1px solid #bbaa8e;
	background: #fffaf2;
}
.vm-wait-consent { display: flex; gap: 7px; align-items: flex-start; }
.vm-wait-consent input { margin-top: 3px; }
.vm-wait-message { min-height: 18px; margin: 9px 0 0 !important; font-size: 11px !important; color: #46532f !important; }
.vm-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; }

/* Responsive */
@media (max-width: 860px) {
	.vm-piece-guide__options { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.vm-piece-guide fieldset:nth-of-type(3) .vm-piece-guide__options { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.vm-piece-guide__result-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 560px) {
	.vm-guided-page-intro { padding-top: 48px; }
	.vm-piece-guide__form { padding: 20px 14px; }
	.vm-piece-guide__options,
	.vm-piece-guide fieldset:nth-of-type(3) .vm-piece-guide__options,
	.vm-piece-guide__result-grid { grid-template-columns: 1fr; }
	.vm-piece-guide__options label > span { min-height: 78px; }
	.vm-cabinet-access-form > div,
	.vm-wait-request__row { display: block; }
	.vm-cabinet-access-form button,
	.vm-wait-request button { width: 100%; margin-top: 8px; }
}


/* ========================================================================
   v1.28.0 — Let the Archive Guide You
   A richer guided-discovery experience without changing site imagery.
   ======================================================================== */

.vm-guided-page-intro--1280 {
	position: relative;
	overflow: hidden;
	padding: 84px 0 54px;
	border-bottom: 1px solid #d8cab4;
	background:
		radial-gradient(circle at 84% 16%, rgba(126, 101, 48, .12), transparent 26%),
		linear-gradient(135deg, rgba(255,255,255,.22), transparent 40%),
		#f4ebdc;
}
.vm-guided-page-intro--1280::before,
.vm-guided-page-intro--1280::after {
	content: "";
	position: absolute;
	border: 1px solid rgba(130, 102, 48, .12);
	border-radius: 50%;
	pointer-events: none;
}
.vm-guided-page-intro--1280::before {
	width: 320px; height: 320px;
	left: -180px; top: -120px;
}
.vm-guided-page-intro--1280::after {
	width: 210px; height: 210px;
	right: 6%; bottom: -140px;
}
.vm-guided-page-intro__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr);
	gap: clamp(44px, 7vw, 110px);
	align-items: end;
}
.vm-guided-page-intro__copy { position: relative; z-index: 1; }
.vm-guided-page-intro--1280 h1 {
	max-width: 720px;
	margin: 7px 0 18px;
	font-size: clamp(54px, 7vw, 86px);
	letter-spacing: -.025em;
}
.vm-guided-page-intro__lede {
	max-width: 760px !important;
	margin: 0 !important;
	color: #5e5349 !important;
	font-family: var(--vm-serif, Georgia, serif);
	font-size: clamp(17px, 2vw, 21px) !important;
	line-height: 1.65 !important;
}
.vm-guided-page-intro__promises {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 22px;
	margin-top: 28px;
	padding-top: 20px;
	border-top: 1px solid rgba(129, 101, 49, .23);
	color: #746655;
	font: 700 10px/1.4 var(--vm-sans, Arial, sans-serif);
	letter-spacing: .09em;
	text-transform: uppercase;
}
.vm-guided-page-intro__promises span {
	position: relative;
	padding-left: 15px;
}
.vm-guided-page-intro__promises span::before {
	content: "✦";
	position: absolute;
	left: 0;
	color: #9b7d3e;
	font-size: 8px;
}
.vm-guided-page-intro__note {
	position: relative;
	z-index: 1;
	padding: 24px 26px 25px;
	border: 1px solid rgba(137, 108, 55, .30);
	background: rgba(250,245,235,.62);
	box-shadow: 0 20px 50px rgba(61,47,30,.06);
}
.vm-guided-page-intro__note::before {
	content: "";
	display: block;
	width: 52px;
	height: 1px;
	margin-bottom: 17px;
	background: #9b7a37;
}
.vm-guided-note__number {
	margin: 0 0 13px !important;
	color: #85692f !important;
	font: 700 9px/1.2 var(--vm-sans, Arial, sans-serif) !important;
	letter-spacing: .16em;
	text-transform: uppercase;
}
.vm-guided-page-intro__note p:not(.vm-guided-note__number) {
	margin: 0 0 12px !important;
	color: #5f554c !important;
	font-size: 14px !important;
	line-height: 1.7 !important;
}
.vm-guided-page-intro__note p:last-child { margin-bottom: 0 !important; }
.vm-guided-page-intro__note em {
	color: #3c432c;
	font-family: var(--vm-serif, Georgia, serif);
	font-size: 18px;
}

.vm-piece-guide--1280 {
	position: relative;
	padding: 56px 0 88px;
	background:
		linear-gradient(rgba(104,82,44,.025) 1px, transparent 1px),
		linear-gradient(90deg, rgba(104,82,44,.025) 1px, transparent 1px),
		#f5eddf;
	background-size: 32px 32px;
}
.vm-piece-guide__index {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 13px;
	margin: 0 auto 22px;
	color: #aaa092;
	font: 700 9px/1 var(--vm-sans, Arial, sans-serif);
	letter-spacing: .12em;
}
.vm-piece-guide__index i {
	display: block;
	width: 54px;
	height: 1px;
	background: #d2c4ae;
}
.vm-piece-guide__index span {
	display: grid;
	place-items: center;
	width: 31px;
	height: 31px;
	border: 1px solid #cbbba2;
	border-radius: 50%;
	transition: .22s ease;
}
.vm-piece-guide__index span.is-active {
	border-color: #9c7e3d;
	color: #80672f;
}
.vm-piece-guide__index span.is-complete {
	border-color: #465032;
	background: #465032;
	color: #ead9b1;
}
.vm-piece-guide--1280 .vm-piece-guide__form {
	max-width: 1120px;
	padding: clamp(30px, 5vw, 58px);
	border: 1px solid #d3c2a6;
	background:
		linear-gradient(135deg, rgba(255,255,255,.35), transparent 38%),
		#faf5ec;
	box-shadow: 0 24px 70px rgba(56,43,27,.07);
}
.vm-piece-guide--1280 fieldset { margin-bottom: 0; }
.vm-piece-guide__question-head { margin-bottom: 19px; }
.vm-piece-guide__question-head > p {
	margin: 0 0 7px;
	color: #867766;
	font: 700 9px/1.4 var(--vm-sans, Arial, sans-serif);
	letter-spacing: .13em;
	text-transform: uppercase;
}
.vm-piece-guide--1280 legend {
	margin: 0;
	gap: 14px;
	font-size: clamp(24px, 3vw, 31px);
}
.vm-piece-guide--1280 legend > span {
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
}
.vm-piece-guide__divider {
	display: flex;
	align-items: center;
	gap: 13px;
	margin: 34px 0;
	color: #a4874b;
}
.vm-piece-guide__divider::before,
.vm-piece-guide__divider::after {
	content: "";
	flex: 1;
	height: 1px;
	background: linear-gradient(90deg, transparent, #d8c7ab, transparent);
}
.vm-piece-guide__divider span { font-size: 9px; }

.vm-piece-guide--1280 .vm-piece-guide__options {
	gap: 12px;
}
.vm-piece-guide--1280 .vm-piece-guide__options label > span {
	position: relative;
	justify-content: flex-start;
	min-height: 126px;
	padding: 48px 17px 16px;
	border-color: #d4c5af;
	background: rgba(247,240,228,.72);
	font-size: 18px;
	line-height: 1.25;
	box-shadow: 0 0 0 rgba(0,0,0,0);
	transform: translateY(0);
}
.vm-piece-guide--1280 .vm-piece-guide__options label > span::before {
	content: attr(data-symbol);
	position: absolute;
	top: 15px;
	left: 17px;
	color: #96783a;
	font-size: 18px;
	line-height: 1;
}
.vm-piece-guide--1280 .vm-piece-guide__options label > span::after {
	content: "Choose";
	position: absolute;
	top: 15px;
	right: 15px;
	color: #9a8c7d;
	font: 700 8px/1 var(--vm-sans, Arial, sans-serif);
	letter-spacing: .10em;
	text-transform: uppercase;
	opacity: 0;
	transition: .18s ease;
}
.vm-piece-guide--1280 .vm-piece-guide__options label:hover > span {
	border-color: #a89162;
	box-shadow: 0 10px 25px rgba(67,52,32,.07);
	transform: translateY(-2px);
}
.vm-piece-guide--1280 .vm-piece-guide__options label:hover > span::after { opacity: 1; }
.vm-piece-guide--1280 .vm-piece-guide__options label small {
	margin-top: 8px;
	font-size: 11px;
	line-height: 1.45;
}
.vm-piece-guide--1280 .vm-piece-guide__options input:checked + span {
	border-color: #3f492f;
	background:
		linear-gradient(135deg, rgba(213,187,111,.08), transparent),
		#3f492f;
	color: #f5ead6;
	box-shadow: 0 13px 30px rgba(45,52,31,.12);
	transform: translateY(-2px);
}
.vm-piece-guide--1280 .vm-piece-guide__options input:checked + span::before {
	color: #d5b96f;
}
.vm-piece-guide--1280 .vm-piece-guide__options input:checked + span::after {
	content: "Chosen";
	color: #d5b96f;
	opacity: 1;
}
.vm-piece-guide--1280 .vm-piece-guide__options--four {
	grid-template-columns: repeat(4,minmax(0,1fr)) !important;
}
.vm-piece-guide__reveal {
	margin-top: 38px;
	padding-top: 26px;
	border-top: 1px solid #d7c8b1;
	text-align: center;
}
.vm-piece-guide__reveal p {
	margin: 0 0 15px;
	color: #827463;
	font-size: 11px;
}
.vm-piece-guide--1280 .vm-piece-guide__submit {
	min-width: 300px;
	padding-inline: 32px;
	box-shadow: 0 12px 28px rgba(44,37,28,.12);
}

.vm-piece-guide__results.is-revealed {
	margin-top: 56px;
	animation: vmArchiveReveal .55s ease both;
}
@keyframes vmArchiveReveal {
	from { opacity: 0; transform: translateY(16px); }
	to { opacity: 1; transform: translateY(0); }
}
.vm-piece-guide__reveal-results {
	padding: clamp(26px, 4vw, 48px);
	border: 1px solid #d2c0a1;
	background:
		radial-gradient(circle at 90% 8%, rgba(133,103,44,.10), transparent 24%),
		#faf5eb;
	box-shadow: 0 24px 70px rgba(58,45,28,.08);
}
.vm-piece-guide__result-head {
	max-width: 780px;
	margin: 0 0 30px;
}
.vm-piece-guide__result-head h2 {
	margin: 5px 0 11px;
	font-size: clamp(34px, 4.5vw, 54px);
	line-height: 1.02;
}
.vm-piece-guide__result-head > p:last-of-type {
	font-family: var(--vm-serif, Georgia, serif);
	font-size: 16px;
}
.vm-piece-guide__match-line {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 17px;
}
.vm-piece-guide__match-line span {
	padding: 7px 10px;
	border: 1px solid #d3c3aa;
	background: rgba(255,255,255,.28);
	color: #705d39;
	font: 700 9px/1 var(--vm-sans, Arial, sans-serif);
	letter-spacing: .08em;
	text-transform: uppercase;
}
.vm-piece-guide--1280 .vm-piece-guide__result-grid {
	gap: 20px;
}
.vm-piece-guide--1280 .vm-piece-guide__product {
	overflow: hidden;
	padding: 0;
	border: 1px solid #d8c9b2;
	background: #f7f0e4;
	animation: vmArchiveCard .45s ease both;
	animation-delay: calc(var(--vm-reveal-order) * 80ms);
}
@keyframes vmArchiveCard {
	from { opacity: 0; transform: translateY(12px); }
	to { opacity: 1; transform: translateY(0); }
}
.vm-piece-guide__product-image {
	position: relative;
	display: block;
	overflow: hidden;
}
.vm-piece-guide--1280 .vm-piece-guide__product img {
	aspect-ratio: 4 / 3;
	transition: transform .35s ease;
}
.vm-piece-guide--1280 .vm-piece-guide__product:hover img {
	transform: scale(1.025);
}
.vm-piece-guide__rank {
	position: absolute;
	z-index: 2;
	top: 12px;
	left: 12px;
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border: 1px solid rgba(231,215,181,.55);
	border-radius: 50%;
	background: rgba(35,31,25,.82);
	color: #ddc98f;
	font: 700 9px/1 var(--vm-sans, Arial, sans-serif);
	letter-spacing: .08em;
}
.vm-piece-guide__product-body { padding: 20px 20px 21px; }
.vm-piece-guide--1280 .vm-piece-guide__product h3 {
	margin: 0 0 5px;
	font-size: 23px;
}
.vm-piece-guide--1280 .vm-piece-guide__price {
	margin-bottom: 16px;
	font-size: 13px;
}
.vm-piece-guide__why {
	padding-top: 14px;
	border-top: 1px solid #dbceb9;
}
.vm-piece-guide__why > span {
	display: block;
	margin-bottom: 6px;
	color: #8a6d34;
	font: 700 9px/1 var(--vm-sans, Arial, sans-serif);
	letter-spacing: .11em;
	text-transform: uppercase;
}
.vm-piece-guide__why p {
	margin: 0 !important;
	color: #62574c !important;
	font-size: 12px !important;
	line-height: 1.55 !important;
}
.vm-piece-guide__actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-top: 18px;
}

.vm-piece-guide__actions .vm-piece-guide__view,
.vm-piece-guide__actions .vm-wishlist-toggle {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	height: 48px;
	margin: 0;
	padding: 0 16px;
	box-sizing: border-box;
	text-align: center;
	font-size: 11px;
	line-height: 1;
	letter-spacing: .10em;
	text-transform: uppercase;
	white-space: nowrap;
}

.vm-piece-guide__actions .vm-piece-guide__view {
	border: 1px solid #4d513a;
	background: #4d513a;
	color: #fffaf0;
	text-decoration: none;
}

.vm-piece-guide__actions .vm-piece-guide__view:hover,
.vm-piece-guide__actions .vm-piece-guide__view:focus-visible {
	border-color: #5a6045;
	background: #5a6045;
	color: #fffaf0;
}

.vm-piece-guide__actions .vm-wishlist-toggle {
	border: 1px solid #8d806d;
	background: transparent;
	color: #3b332b;
	cursor: pointer;
}

.vm-piece-guide__actions .vm-wishlist-toggle:hover,
.vm-piece-guide__actions .vm-wishlist-toggle:focus-visible {
	border-color: #4d513a;
	background: #f8f3ea;
	color: #4d513a;
}

.vm-piece-guide__actions .vm-wishlist-toggle.is-active {
	border-color: #4d513a;
	background: #4d513a;
	color: #fffaf0;
}

.vm-piece-guide__after {
	display: grid;
	grid-template-columns: minmax(0,1fr) minmax(300px,.8fr);
	gap: 50px;
	margin-top: 42px;
	padding: 30px 0 4px;
	border-top: 1px solid #d3c4ac;
}
.vm-piece-guide__after h3 {
	margin: 5px 0 8px;
	font-family: var(--vm-serif, Georgia, serif);
	font-size: 29px;
	font-weight: 400;
}
.vm-piece-guide__after > div > p:last-child {
	max-width: 560px;
	margin-bottom: 0;
	color: #675c51;
	line-height: 1.65;
}
.vm-piece-guide__after-links {
	display: grid;
	align-content: center;
}
.vm-piece-guide__after-links a {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding: 12px 0;
	border-bottom: 1px solid #d4c5af;
	color: #43382c;
	font-family: var(--vm-serif, Georgia, serif);
	text-decoration: none;
}
.vm-piece-guide__after-links a:first-child { border-top: 1px solid #d4c5af; }
.vm-piece-guide__after-links span { color: #917237; }
.vm-piece-guide__reset {
	display: block;
	margin: 28px auto 0;
	font-size: 11px;
	letter-spacing: .04em;
}

@media (max-width: 900px) {
	.vm-guided-page-intro__layout { grid-template-columns: 1fr; gap: 34px; }
	.vm-guided-page-intro__note { max-width: 600px; }
	.vm-piece-guide__after { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 760px) {
	.vm-guided-page-intro--1280 { padding: 58px 0 38px; }
	.vm-guided-page-intro--1280 h1 { font-size: clamp(48px, 14vw, 68px); }
	.vm-guided-page-intro__promises { display: grid; gap: 10px; }
	.vm-piece-guide--1280 { padding: 38px 0 58px; }
	.vm-piece-guide--1280 .vm-piece-guide__form { padding: 24px 16px; }
	.vm-piece-guide--1280 .vm-piece-guide__options,
	.vm-piece-guide--1280 .vm-piece-guide__options--four { grid-template-columns: 1fr 1fr !important; }
	.vm-piece-guide--1280 .vm-piece-guide__options label > span { min-height: 116px; }
	.vm-piece-guide__actions { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
	.vm-piece-guide__index i { width: 28px; }
	.vm-piece-guide--1280 .vm-piece-guide__options,
	.vm-piece-guide--1280 .vm-piece-guide__options--four { grid-template-columns: 1fr !important; }
	.vm-piece-guide--1280 .vm-piece-guide__options label > span { min-height: 92px; }
	.vm-piece-guide--1280 .vm-piece-guide__submit { min-width: 0; width: 100%; }
	.vm-piece-guide__reveal-results { padding: 20px 15px; }
	.vm-piece-guide__after { margin-top: 30px; }
}


/* ========================================================================
   v1.28.1 — Archive Guide Wizard
   Replaces the long questionnaire with a compact guided folio.
   ======================================================================== */

.vm-piece-guide--1281 {
	padding: 48px 0 92px;
	background:
		radial-gradient(circle at 8% 15%, rgba(122,95,44,.08), transparent 22%),
		radial-gradient(circle at 92% 78%, rgba(62,75,43,.07), transparent 24%),
		linear-gradient(rgba(104,82,44,.025) 1px, transparent 1px),
		linear-gradient(90deg, rgba(104,82,44,.025) 1px, transparent 1px),
		#f3eadc;
	background-size: auto, auto, 34px 34px, 34px 34px;
}

.vm-archive-guide {
	display: grid;
	grid-template-columns: minmax(280px,.72fr) minmax(0,1.55fr);
	max-width: 1160px;
	min-height: 610px;
	margin: 0 auto;
	border: 1px solid #cdbb9a;
	background: #f9f2e6;
	box-shadow: 0 28px 80px rgba(45,34,22,.11);
}

.vm-archive-guide__ledger {
	position: relative;
	overflow: hidden;
	padding: 42px 36px 36px;
	background:
		radial-gradient(circle at 25% 10%, rgba(214,186,108,.12), transparent 27%),
		linear-gradient(155deg, #3f4a31 0%, #303a29 58%, #273024 100%);
	color: #f0e5ce;
}

.vm-archive-guide__ledger::after {
	content: "V M";
	position: absolute;
	right: -24px;
	bottom: -18px;
	color: rgba(224,199,126,.055);
	font-family: Georgia, serif;
	font-size: 122px;
	letter-spacing: -.08em;
	pointer-events: none;
}

.vm-archive-guide__seal {
	display: grid;
	place-items: center;
	width: 74px;
	height: 74px;
	margin-bottom: 30px;
	border: 1px solid rgba(224,196,117,.72);
	border-radius: 50%;
	box-shadow: inset 0 0 0 5px rgba(224,196,117,.08);
	color: #dfc577;
	font-family: Georgia, serif;
	font-size: 24px;
}
.vm-archive-guide__seal span { transform: translateY(-1px); }

.vm-archive-guide__ledger .vm-eyebrow {
	margin: 0 0 8px;
	color: #d3b66b;
}
.vm-archive-guide__ledger h2 {
	max-width: 310px;
	margin: 0 0 14px;
	color: #f3ead8;
	font-family: var(--vm-serif, Georgia, serif);
	font-size: clamp(30px,3.2vw,42px);
	font-weight: 400;
	line-height: 1.04;
}
.vm-archive-guide__intro {
	max-width: 340px;
	margin: 0;
	color: rgba(241,231,211,.72);
	font-size: 12px;
	line-height: 1.7;
}

.vm-archive-guide__steps {
	position: relative;
	z-index: 1;
	margin: 38px 0 30px;
	padding: 0;
	list-style: none;
}
.vm-archive-guide__steps::before {
	content: "";
	position: absolute;
	top: 22px;
	bottom: 22px;
	left: 17px;
	width: 1px;
	background: rgba(220,193,116,.23);
}
.vm-archive-guide__steps li {
	position: relative;
	display: grid;
	grid-template-columns: 36px 1fr;
	gap: 14px;
	align-items: center;
	margin: 0 0 22px;
	opacity: .48;
	transition: .22s ease;
}
.vm-archive-guide__steps li:last-child { margin-bottom: 0; }
.vm-archive-guide__steps li > span {
	position: relative;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border: 1px solid rgba(224,197,119,.42);
	border-radius: 50%;
	background: #35402d;
	color: #d9bd70;
	font: 700 9px/1 var(--vm-sans, Arial, sans-serif);
	letter-spacing: .08em;
}
.vm-archive-guide__steps strong {
	display: block;
	color: #f1e6cf;
	font-family: var(--vm-serif, Georgia, serif);
	font-size: 15px;
	font-weight: 400;
}
.vm-archive-guide__steps small {
	display: block;
	margin-top: 3px;
	color: rgba(239,227,203,.62);
	font-size: 10px;
}
.vm-archive-guide__steps li.is-active,
.vm-archive-guide__steps li.is-complete { opacity: 1; }
.vm-archive-guide__steps li.is-complete > span {
	border-color: #d7b965;
	background: #d7b965;
	color: #263022;
}

.vm-archive-guide__aside-note {
	position: relative;
	z-index: 1;
	margin-top: 34px;
	padding-top: 20px;
	border-top: 1px solid rgba(224,197,119,.20);
}
.vm-archive-guide__aside-note > span {
	color: #d6ba69;
	font-size: 9px;
}
.vm-archive-guide__aside-note p {
	max-width: 300px;
	margin: 9px 0 0;
	color: rgba(241,230,207,.66);
	font-family: var(--vm-serif, Georgia, serif);
	font-size: 13px;
	font-style: italic;
	line-height: 1.55;
}

.vm-archive-guide__stage {
	position: relative;
	max-width: none !important;
	margin: 0 !important;
	padding: clamp(36px,5vw,60px) !important;
	border: 0 !important;
	background:
		radial-gradient(circle at 92% 8%, rgba(139,106,44,.08), transparent 25%),
		#faf5ec !important;
	box-shadow: none !important;
}
.vm-archive-guide__stage::before {
	content: "";
	position: absolute;
	top: 20px;
	right: 20px;
	bottom: 20px;
	left: 20px;
	border: 1px solid rgba(139,108,55,.10);
	pointer-events: none;
}

.vm-archive-guide__stage-top {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 42px;
}
.vm-archive-guide__stage-top > p {
	margin: 0;
	color: #8b7345;
	font: 700 9px/1 var(--vm-sans, Arial, sans-serif);
	letter-spacing: .14em;
	text-transform: uppercase;
}
.vm-archive-guide__progress {
	overflow: hidden;
	width: 160px;
	height: 3px;
	background: #e3d7c4;
}
.vm-archive-guide__progress span {
	display: block;
	width: 33.333%;
	height: 100%;
	background: #75612f;
	transition: width .35s ease;
}

.vm-guide-step {
	position: relative;
	z-index: 2;
	min-height: 430px;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	animation: vmGuideStepIn .32s ease both;
}
.vm-guide-step[hidden] { display: none !important; }
@keyframes vmGuideStepIn {
	from { opacity: 0; transform: translateX(14px); }
	to { opacity: 1; transform: translateX(0); }
}

.vm-piece-guide--1281 .vm-piece-guide__question-head {
	position: relative;
	max-width: 720px;
	margin-bottom: 26px;
	padding-right: 100px;
}
.vm-piece-guide--1281 .vm-piece-guide__question-head > p {
	margin: 0 0 9px;
	color: #85735d;
	font-size: 9px;
	letter-spacing: .14em;
}
.vm-piece-guide--1281 legend {
	max-width: 620px;
	margin: 0;
	padding: 0;
	color: #2d261f;
	font-family: var(--vm-serif, Georgia, serif);
	font-size: clamp(34px,4.4vw,54px);
	font-weight: 400;
	line-height: 1.02;
}
.vm-guide-step__roman {
	position: absolute;
	top: -35px;
	right: 0;
	color: rgba(114,91,45,.07);
	font-family: Georgia, serif;
	font-size: 140px;
	line-height: 1;
	pointer-events: none;
}

.vm-piece-guide--1281 .vm-piece-guide__options--wizard {
	display: grid;
	grid-template-columns: repeat(3,minmax(0,1fr));
	gap: 12px;
}
.vm-piece-guide--1281 .vm-piece-guide__options--place {
	grid-template-columns: repeat(2,minmax(0,1fr));
}
.vm-piece-guide--1281 .vm-piece-guide__options label > span {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 150px;
	padding: 46px 18px 18px;
	border: 1px solid #d4c3a8;
	background: rgba(248,241,230,.82);
	color: #3c342c;
	box-shadow: none;
	transform: translateY(0);
	transition: border-color .2s ease, background .2s ease, transform .2s ease, box-shadow .2s ease;
}
.vm-piece-guide--1281 .vm-piece-guide__options label > span::before {
	content: attr(data-symbol);
	position: absolute;
	top: 18px;
	left: 18px;
	color: #967638;
	font-size: 20px;
}
.vm-piece-guide--1281 .vm-piece-guide__options label > span::after {
	content: "";
	position: absolute;
	top: 15px;
	right: 15px;
	width: 8px;
	height: 8px;
	border: 1px solid #bba57b;
	border-radius: 50%;
}
.vm-piece-guide--1281 .vm-piece-guide__options b {
	display: block;
	font-family: var(--vm-serif, Georgia, serif);
	font-size: 20px;
	font-weight: 400;
	line-height: 1.2;
}
.vm-piece-guide--1281 .vm-piece-guide__options small {
	display: block;
	margin-top: 8px;
	color: #7c7063;
	font-size: 10px;
	line-height: 1.45;
}
.vm-piece-guide--1281 .vm-piece-guide__options label:hover > span {
	border-color: #9f8350;
	background: #fbf6ed;
	box-shadow: 0 12px 28px rgba(55,42,27,.07);
	transform: translateY(-3px);
}
.vm-piece-guide--1281 .vm-piece-guide__options input:checked + span {
	border-color: #445033;
	background:
		linear-gradient(145deg, rgba(212,184,103,.08), transparent 55%),
		#414c33;
	color: #f3e9d7;
	box-shadow: 0 14px 30px rgba(43,51,32,.13);
	transform: translateY(-3px);
}
.vm-piece-guide--1281 .vm-piece-guide__options input:checked + span::before {
	color: #dfc779;
}
.vm-piece-guide--1281 .vm-piece-guide__options input:checked + span::after {
	border-color: #dfc779;
	background: #dfc779;
	box-shadow: 0 0 0 3px rgba(223,199,121,.14);
}
.vm-piece-guide--1281 .vm-piece-guide__options input:checked + span small {
	color: rgba(242,231,211,.72);
}

.vm-guide-step__nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: 30px;
	padding-top: 22px;
	border-top: 1px solid #ddd0bc;
}
.vm-guide-step__nav--end { justify-content: flex-end; }
.vm-guide-step__nav .vm-button {
	min-width: 220px;
	margin: 0;
}
.vm-guide-step__nav .vm-button:disabled {
	opacity: .34;
	cursor: not-allowed;
}
.vm-guide-back {
	padding: 10px 0;
	border: 0;
	background: none;
	color: #76664e;
	font-family: var(--vm-serif, Georgia, serif);
	font-size: 13px;
	cursor: pointer;
}
.vm-guide-back:hover { color: #2f3827; }

.vm-archive-guide__microcopy {
	position: relative;
	z-index: 2;
	margin-top: 18px;
	color: #8a7c6c;
	font-size: 10px;
	text-align: right;
}

.vm-piece-guide--1281 .vm-piece-guide__results.is-revealed {
	max-width: 1160px;
	margin: 52px auto 0;
}

@media (max-width: 920px) {
	.vm-archive-guide { grid-template-columns: 1fr; }
	.vm-archive-guide__ledger { padding: 30px 28px; }
	.vm-archive-guide__seal { width: 56px; height: 56px; margin-bottom: 20px; }
	.vm-archive-guide__ledger h2 { max-width: 520px; }
	.vm-archive-guide__steps {
		display: grid;
		grid-template-columns: repeat(3,minmax(0,1fr));
		gap: 12px;
		margin: 26px 0 0;
	}
	.vm-archive-guide__steps::before { display: none; }
	.vm-archive-guide__steps li { margin: 0; }
	.vm-archive-guide__aside-note { display: none; }
}

@media (max-width: 700px) {
	.vm-piece-guide--1281 { padding: 28px 0 60px; }
	.vm-archive-guide__stage { padding: 34px 18px !important; }
	.vm-archive-guide__stage::before { inset: 10px; }
	.vm-archive-guide__stage-top { margin-bottom: 30px; }
	.vm-archive-guide__progress { width: 100px; }
	.vm-guide-step { min-height: 0; }
	.vm-piece-guide--1281 .vm-piece-guide__question-head { padding-right: 54px; }
	.vm-guide-step__roman { top: -18px; font-size: 90px; }
	.vm-piece-guide--1281 .vm-piece-guide__options--wizard,
	.vm-piece-guide--1281 .vm-piece-guide__options--place {
		grid-template-columns: 1fr 1fr;
	}
	.vm-piece-guide--1281 .vm-piece-guide__options label > span { min-height: 128px; }
}

@media (max-width: 500px) {
	.vm-archive-guide__steps {
		grid-template-columns: 1fr;
		gap: 8px;
	}
	.vm-archive-guide__steps li {
		grid-template-columns: 32px 1fr;
	}
	.vm-archive-guide__steps li > span { width: 32px; height: 32px; }
	.vm-piece-guide--1281 .vm-piece-guide__options--wizard,
	.vm-piece-guide--1281 .vm-piece-guide__options--place {
		grid-template-columns: 1fr;
	}
	.vm-piece-guide--1281 .vm-piece-guide__options label > span { min-height: 108px; }
	.vm-guide-step__nav { align-items: stretch; }
	.vm-guide-step__nav .vm-button { min-width: 0; flex: 1; }
}


/* v1.28.2 — feeling-led Stone Archive */
.vm-piece-guide--1282 .vm-archive-guide__ledger {
	background:
		radial-gradient(circle at 20% 8%, rgba(224,197,119,.13), transparent 25%),
		linear-gradient(155deg, #3d4930 0%, #303a29 58%, #252d22 100%);
}
.vm-piece-guide--1282 .vm-piece-guide__options--wizard {
	grid-template-columns: repeat(3,minmax(0,1fr));
}
.vm-piece-guide__why--metaphysical {
	border-top-color: #cdbb99;
	background: rgba(242,233,215,.55);
	margin: 15px -4px 0;
	padding: 14px 4px 0;
}
.vm-piece-guide__founder-note {
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid #dfd2bd;
}
.vm-piece-guide__founder-note > span {
	display: block;
	margin-bottom: 6px;
	color: #52603c;
	font: 700 9px/1 var(--vm-sans, Arial, sans-serif);
	letter-spacing: .11em;
	text-transform: uppercase;
}
.vm-piece-guide__founder-note p {
	margin: 0 !important;
	color: #65594d !important;
	font-size: 12px !important;
	line-height: 1.55 !important;
}
.vm-stone-guide-disclaimer {
	margin-top: 26px;
	padding: 16px 18px;
	border: 1px solid #d7cab6;
	background: #f4ecdf;
	color: #6d6155;
}
.vm-stone-guide-disclaimer strong {
	display: block;
	margin-bottom: 5px;
	color: #4d443b;
	font-family: var(--vm-serif, Georgia, serif);
	font-size: 14px;
	font-weight: 500;
}
.vm-stone-guide-disclaimer p {
	margin: 0 !important;
	font-size: 10px !important;
	line-height: 1.6 !important;
}
@media (max-width:700px) {
	.vm-piece-guide--1282 .vm-piece-guide__options--wizard {
		grid-template-columns: 1fr 1fr;
	}
}
@media (max-width:500px) {
	.vm-piece-guide--1282 .vm-piece-guide__options--wizard {
		grid-template-columns: 1fr;
	}
}


/* v1.29.1.7 — Stone Guide note spacing.
 * Explicit spacing is needed because the storefront/theme can reset paragraph
 * margins. Manual returns and blank lines in the WooCommerce Stone Guide Note
 * should remain visibly separated in recommendation cards.
 */
.vm-stone-guide-note > p {
	margin: 0 0 14px !important;
}
.vm-stone-guide-note > p + p {
	margin-top: 10px !important;
}
.vm-stone-guide-note > p:last-child {
	margin-bottom: 0 !important;
}
.vm-stone-guide-note br {
	display: block;
	content: "";
	margin-top: 9px;
}
.vm-stone-guide-note ul,
.vm-stone-guide-note ol {
	margin: 10px 0 14px 1.25em !important;
	padding: 0 !important;
}
.vm-stone-guide-note li + li {
	margin-top: 7px;
}
