:root {
	--color-green-dark: #173f36;
	--color-green: #2f5a50;
	--color-sage: #e8eee4;
	--color-sage-soft: #f0f3ec;
	--color-cream: #f8f4ec;
	--color-off-white: #fffdf9;
	--color-gold: #b9874f;
	--color-text: #173f36;
	--color-muted: #5f6d67;
	--color-border: #d9d8ca;
}

html,
body {
	overflow-x: clip;
}

::selection {
	background: var(--color-sage);
	color: var(--color-green-dark);
}

.site-brand .site-brand__copy strong,
.footer-brand__name strong {
	font-weight: 800;
	letter-spacing: .045em;
}

.site-brand .site-brand__copy strong {
	font-size: 1.28rem;
}

.cart-link span {
	background: var(--color-sage);
}

/* The fixed header uses the same deep green as the editorial quote sections. */
.site-header,
.site-header.is-scrolled {
	border-bottom-color: rgba(255, 255, 255, .14);
	background: var(--color-green-dark);
	box-shadow: 0 8px 26px rgba(10, 39, 33, .14);
	backdrop-filter: none;
}

.site-brand,
.site-brand .site-brand__copy strong,
.site-brand .site-brand__copy small,
.desktop-nav a,
.cart-link,
.menu-toggle {
	color: var(--color-off-white);
}

.site-brand .site-brand__mark {
	width: 44px;
	height: 44px;
	object-fit: contain;
	color: var(--color-gold);
}

.footer-brand__mark {
	width: 46px;
	height: 46px;
	flex: 0 0 auto;
	object-fit: contain;
}

.site-brand .site-brand__mark svg,
.footer-brand__name .dm-icon svg {
	stroke-width: 2.8;
}

.desktop-nav a::after {
	background: var(--color-gold);
}

.cart-link span {
	background: rgba(255, 255, 255, .16);
	color: var(--color-off-white);
}

.header-cta {
	border-color: var(--color-off-white);
	background: var(--color-off-white);
	color: var(--color-green-dark);
}

.header-cta:hover {
	border-color: var(--color-gold);
	background: var(--color-gold);
	color: var(--color-green-dark);
}

.dm-hero.dm-hero--redesign {
	background: linear-gradient(110deg, var(--color-off-white) 0 52%, var(--color-cream) 52% 100%);
}

.dm-products-section--showcase {
	background: linear-gradient(120deg, var(--color-sage-soft), var(--color-cream));
}

.dm-about-teaser--editorial {
	background: var(--color-off-white);
}

.dm-about-teaser--editorial::after {
	display: none;
}

.dm-final-cta .button:hover {
	border-color: var(--color-sage);
	background: var(--color-sage);
	color: var(--color-green-dark);
}

/* The client-requested headline inversion keeps the same hierarchy with swapped accents. */
.dm-hero--redesign .dm-display {
	color: var(--color-gold);
}

.dm-hero--redesign .dm-display em {
	color: var(--color-green-dark);
}

/* Homepage approach: one balanced editorial composition. */
.dm-approach.dm-approach--cards {
	padding: clamp(4.5rem, 7vw, 7rem) 0;
	overflow: clip;
}

.dm-approach > .wp-block-group__inner-container {
	width: var(--container);
	max-width: calc(100% - 3rem);
	margin-inline: auto;
}

.dm-approach-signature {
	width: 100%;
	max-width: none !important;
	margin: 0 0 clamp(3.5rem, 6vw, 6rem);
	padding: clamp(2rem, 4vw, 3.75rem);
	background: var(--color-green-dark);
	color: var(--color-off-white);
}

.dm-approach-signature > .wp-block-group__inner-container {
	width: 100%;
	max-width: none;
}

.dm-approach-signature-grid {
	display: grid !important;
	grid-template-columns: minmax(250px, .82fr) minmax(0, 1.25fr);
	align-items: start;
	gap: clamp(2rem, 6vw, 6rem);
}

.dm-approach-signature .eyebrow {
	color: var(--color-gold);
}

.dm-approach-signature-title {
	max-width: 10ch;
	margin: 0;
	color: #fffdf9;
	font-size: clamp(2.65rem, 4.3vw, 4.8rem);
	line-height: .98;
}

.dm-approach-signature-grid > .wp-block-column:last-child {
	max-width: 56ch;
	justify-self: end;
}

.dm-approach-signature p:not(.eyebrow) {
	color: rgba(255, 253, 249, .82);
	line-height: 1.72;
}

.dm-approach-signature .dm-lead {
	font-size: clamp(1rem, 1.35vw, 1.15rem);
}

.dm-approach-intro-grid {
	display: grid !important;
	grid-template-columns: minmax(0, 1.22fr) minmax(280px, 1fr);
	align-items: center;
	gap: clamp(2.5rem, 6vw, 6rem);
	margin-bottom: clamp(3.25rem, 5vw, 5.25rem);
}

.dm-approach-intro-grid .dm-section-title {
	max-width: 20ch;
	margin: .18em 0 0;
	font-size: clamp(3rem, 4.3vw, 4.65rem);
	line-height: .98;
	text-wrap: pretty;
}

.dm-approach-intro-grid .dm-section-title em {
	display: inline;
}

.dm-approach-intro-grid > .wp-block-column:last-child {
	max-width: 45ch;
	justify-self: end;
	color: var(--color-muted);
	font-size: clamp(.96rem, 1.25vw, 1.08rem);
	line-height: 1.72;
}

.dm-approach-intro-grid > .wp-block-column:last-child p + p {
	margin-top: 1.25rem;
}

.dm-approach--cards .dm-approach-list {
	width: 100%;
	max-width: none !important;
	margin: 0;
}

.dm-approach-list > .wp-block-group__inner-container {
	display: grid;
	width: 100%;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: stretch;
}

.dm-approach-item,
.dm-approach-item:first-child {
	min-width: 0;
	margin: 0 !important;
	padding: .25rem clamp(1.3rem, 2.2vw, 2.25rem) .4rem;
	border: 0;
}

.dm-approach-item + .dm-approach-item {
	border-left: 1px solid var(--color-border);
}

.dm-approach-item > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	min-width: 0;
	text-align: center;
}

.dm-approach-logo {
	display: inline-grid;
	place-items: center;
	width: 42px;
	height: 42px;
	margin: 0 auto .85rem;
	color: var(--color-gold);
}

.dm-approach-logo svg {
	display: block;
	width: 100%;
	height: 100%;
	stroke-width: 2.8;
}

.dm-approach-icon {
	display: none !important;
	width: 42px;
	height: 42px;
	margin: 0 auto .85rem;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}

.dm-approach-icon--choices {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23b9874f' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 42V20M24 30C15 29 10 24 9 15c9 1 14 6 15 15Zm0 7c9-1 14-6 15-15-9 1-14 6-15 15Zm0-18c-5-2-8-7-6-13 6 2 9 7 6 13Z'/%3E%3Cpath d='M16 42h16'/%3E%3C/svg%3E");
}

.dm-approach-icon--communication {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23b9874f' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 9h25a6 6 0 0 1 6 6v8a6 6 0 0 1-6 6H17l-8 7 2-7a6 6 0 0 1-6-6V9Z'/%3E%3Cpath d='M22 20h21v8a6 6 0 0 1-6 6h-3l2 7-8-7h-4'/%3E%3C/svg%3E");
}

.dm-approach-icon--relationships {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23b9874f' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 40S7 31 7 18c0-6 4-10 10-10 3 0 6 2 7 5 1-3 4-5 8-5 5 0 9 4 9 10 0 13-17 22-17 22Z'/%3E%3Cpath d='M18 21c2 4 10 4 12 0'/%3E%3C/svg%3E");
}

.dm-approach-icon--resilience {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23b9874f' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='24' cy='11' r='5'/%3E%3Cpath d='M24 18v15M14 24c5-5 15-5 20 0M9 40c4-7 10-10 15-5 5-5 11-2 15 5M17 29l-7 11m21-11 7 11'/%3E%3C/svg%3E");
}

.dm-approach-number {
	display: none !important;
	align-self: center;
	margin-bottom: .5rem;
	padding-top: 0;
	color: var(--color-gold);
	font-family: var(--font-serif);
	font-size: .9rem;
	font-style: italic;
	text-decoration: underline;
	text-decoration-color: var(--color-gold);
	text-underline-offset: .25em;
}

.dm-approach-item h3 {
	width: 100%;
	min-width: 0;
	margin: 0;
	font-size: clamp(1.42rem, 1.7vw, 1.75rem);
	line-height: 1.08;
	text-align: center;
	text-wrap: balance;
}

.dm-approach-item p {
	width: 100%;
	max-width: 30ch;
	margin: .7rem auto 0;
	color: var(--color-muted);
	font-size: .86rem;
	line-height: 1.65;
	text-align: center;
}

/* The quote opens with a quiet gold rule instead of quotation marks. */
.dm-quote-section--green .dm-quote-mark {
	display: block;
	width: 76px;
	height: 1px;
	margin: 0 auto 2rem;
	background: var(--color-gold);
	box-shadow: 22px 0 0 rgba(199, 139, 74, .45), -22px 0 0 rgba(199, 139, 74, .45);
	color: transparent;
	font-size: 0;
	line-height: 0;
}

/* Keep the quote as a calm editorial pause instead of a second dark band. */
.dm-quote-section--green {
	background: var(--color-off-white);
}

.dm-quote-section--green .dm-quote {
	color: var(--color-green-dark);
}

/* Full-width gift promotion, separate from the product cards. */
.dm-gift-band {
	padding: clamp(2rem, 3.5vw, 3rem) 0;
	background: var(--color-green-dark);
	color: var(--color-off-white);
}

.dm-gift-band > .wp-block-group__inner-container {
	display: grid;
	width: var(--container);
	max-width: calc(100% - 3rem);
	margin-inline: auto;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: clamp(1.25rem, 3.5vw, 3.5rem);
}

.dm-gift-band__badge {
	display: grid;
	place-items: center;
	width: clamp(92px, 8vw, 112px);
	aspect-ratio: 1;
	border: 1px solid rgba(255, 253, 249, .55);
	border-radius: 50%;
	background: rgba(255, 253, 249, .08);
	color: var(--color-gold);
}

.dm-gift-band__badge span {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.dm-gift-band__badge::before {
	content: "";
	display: block;
	width: clamp(42px, 4.2vw, 54px);
	aspect-ratio: 1;
	background: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23C78B4A' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 27h46v10H9zM14 37h36v20H14zM32 27v30M12 20h40v7H12z'/%3E%3Cpath d='M32 20c-8 0-14-2.6-14-7 0-3 2.1-5 5.2-5 5.4 0 8.8 8.4 8.8 12Zm0 0c8 0 14-2.6 14-7 0-3-2.1-5-5.2-5C35.4 8 32 16.4 32 20Z'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
}

.dm-gift-band__copy h2 {
	max-width: 21ch;
	margin: 0 0 .5rem;
	font-size: clamp(2rem, 3vw, 3rem);
	line-height: 1.02;
	text-wrap: balance;
}

.dm-gift-band__copy p:last-child {
	margin: 0;
	color: rgba(255, 253, 249, .82);
}

.dm-gift-band .wp-block-buttons,
.dm-gift-band .wp-block-button {
	margin: 0;
}

.dm-gift-band .wp-block-button.is-style-outline .wp-block-button__link,
.dm-gift-band .wp-block-button__link {
	min-width: 154px;
	border-color: var(--color-off-white) !important;
	background: var(--color-off-white) !important;
	color: var(--color-green-dark) !important;
}

.dm-gift-band .wp-block-button.is-style-outline .wp-block-button__link:hover,
.dm-gift-band .wp-block-button__link:hover {
	border-color: var(--color-gold) !important;
	background: var(--color-gold) !important;
	color: var(--color-green-dark) !important;
}

/* Consultations landing page. */
.dm-consultation-hero {
	background: linear-gradient(120deg, var(--color-cream), var(--color-sage-soft));
}

.dm-consultation-hero-grid {
	align-items: center;
}

.dm-consultation-hero-image img {
	height: min(72vh, 700px);
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: center 18%;
}

.dm-services-section {
	background: var(--color-off-white);
}

.dm-services-section > .wp-block-group__inner-container > .dm-section-title {
	max-width: 14ch;
	margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}

.dm-services-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1rem, 2.5vw, 2rem);
}

.dm-services-grid > .wp-block-column {
	display: flex;
}

.dm-service-card {
	--dm-service-card-pad: clamp(1.75rem, 3vw, 3rem);
	width: 100%;
	padding: var(--dm-service-card-pad);
	border: 1px solid var(--color-border);
	background: var(--color-cream);
	overflow: hidden;
}

.dm-service-card > .wp-block-group__inner-container {
	display: flex;
	width: 100%;
	height: 100%;
	flex-direction: column;
}

.dm-service-card__image {
	align-self: stretch;
	width: auto;
	height: clamp(220px, 25vw, 340px);
	margin: calc(0px - var(--dm-service-card-pad)) calc(0px - var(--dm-service-card-pad)) clamp(1.7rem, 3vw, 2.6rem);
	overflow: hidden;
	background: var(--color-sage);
}

.dm-service-card__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 24%;
	transition: transform .65s cubic-bezier(.2, .72, .22, 1);
}

.dm-service-card__image--couples img {
	object-position: center 32%;
}

.dm-service-card:hover .dm-service-card__image img {
	transform: scale(1.025);
}

.dm-qualification {
	max-width: 48ch;
	color: var(--color-green-dark);
	font-weight: 700;
}

.dm-service-icon {
	display: none;
	place-items: center;
	width: 58px;
	height: 58px;
	margin-bottom: 1.35rem;
	border: 1px solid currentColor;
	color: var(--color-gold);
}

.dm-service-icon svg {
	width: 38px;
	height: 38px;
}

.dm-service-card--green {
	border-color: var(--color-green-dark);
	background: var(--color-green-dark);
	color: var(--color-off-white);
}

.dm-service-card--green .eyebrow,
.dm-service-card--green .dm-service-title {
	color: var(--color-off-white);
}

.dm-service-card--green p:not(.eyebrow) {
	color: #d7e2de;
}

.dm-service-card--green .wp-block-button__link {
	border-color: var(--color-off-white);
	background: var(--color-off-white);
	color: var(--color-green-dark);
}

.dm-service-title {
	margin: .2rem 0 1.2rem;
	font-size: clamp(2.2rem, 3.5vw, 3.6rem);
	line-height: .98;
}

.dm-service-facts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	justify-items: start;
	gap: 0;
	margin: auto 0 1.5rem;
	padding-top: 1.6rem;
	text-align: left;
}

.dm-service-facts div {
	width: 100%;
	padding: .85rem 1.25rem 0;
	border-left: 1px solid currentColor;
	text-align: left;
}

.dm-service-facts div:first-child {
	grid-column: 1 / -1;
	min-height: 112px;
	padding: 1rem 0 1.2rem;
	border-top: 1px solid rgba(35, 79, 70, .24);
	border-bottom: 1px solid rgba(35, 79, 70, .24);
	border-left: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.dm-service-facts div:nth-child(2) {
	padding-left: 0;
	border-left: 0;
}

.dm-service-card--green .dm-service-facts div:first-child {
	border-top-color: rgba(255, 253, 249, .32);
	border-bottom-color: rgba(255, 253, 249, .32);
}

.dm-service-card--green .dm-service-facts div:nth-child(3) {
	border-left-color: rgba(255, 253, 249, .32);
}

.dm-service-facts dt {
	margin-bottom: .35rem;
	font-size: .62rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	opacity: .72;
}

.dm-service-facts dd {
	margin: 0;
	font-family: var(--font-serif);
	font-size: 1.35rem;
}

.dm-service-facts div:first-child dd {
	font-size: clamp(1.65rem, 2.5vw, 2rem);
}

.dm-service-card .wp-block-buttons {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	margin-top: 0;
	text-align: left;
}

.dm-service-card .wp-block-button,
.dm-service-card .wp-block-button__link {
	width: auto;
}

.dm-service-card .wp-block-button__link {
	justify-content: flex-start;
	text-align: left;
}

.dm-booking-section .dm-choice span {
	align-items: flex-start;
	text-align: left;
}

.dm-booking-section .dm-booking-summary {
	justify-content: flex-start;
	text-align: left;
}

.dm-products-section .dm-product-bottom > strong,
.woocommerce p.price,
.woocommerce span.price {
	justify-self: start;
	text-align: left;
}

.dm-consultation-faq {
	background: var(--color-cream);
}

.dm-signature-section {
	background: var(--color-green-dark);
	color: var(--color-off-white);
}

.dm-signature-section .eyebrow,
.dm-signature-section .dm-section-title {
	color: var(--color-off-white);
}

.dm-signature-section .dm-lead,
.dm-signature-section p {
	color: #d7e2de;
}

.dm-signature-grid {
	align-items: start;
}

/* Compact footer. */
.site-footer {
	padding: clamp(2.35rem, 3.6vw, 3.4rem) 0 1rem;
}

.site-footer__top,
.site-footer__bottom {
	width: var(--container);
	max-width: calc(100% - 3rem);
	margin-inline: auto;
	box-sizing: border-box;
	transform: none;
}

.site-footer__top {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: start;
	justify-content: space-between;
	gap: clamp(2.5rem, 8vw, 8rem);
}

.site-footer__top .footer-brand {
	grid-column: auto;
	max-width: 560px;
}

.footer-socials a[aria-label="Facebook"] {
	border-color: #1877f2;
	background: #1877f2;
	color: #fff;
}

.footer-socials a[aria-label="Instagram"] {
	border-color: transparent;
	background: radial-gradient(circle at 32% 100%, #ffd600 0 18%, #ff7a00 34%, #ff0169 58%, #d300c5 76%, #7638fa 100%);
	color: #fff;
}

.footer-socials a[aria-label="Viber"] {
	border-color: #7360f2;
	background: #7360f2;
	color: #fff;
}

/* The breadcrumb strip was removed; page colour now starts directly below the header. */
.page-main,
.archive-main,
.single-main,
.woocommerce-main {
	padding-top: var(--dm-header);
}

.dm-breadcrumbs {
	display: none !important;
}

.dm-page-hero .dm-qualification,
.dm-about-teaser .dm-qualification {
	margin: .9rem 0 1.45rem;
	font-size: clamp(1rem, 1.25vw, 1.18rem);
	line-height: 1.55;
}

.dm-contact-details {
	display: grid;
	gap: .8rem;
	margin: 1.5rem 0 2rem;
}

.dm-contact-detail {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr);
	align-items: center;
	gap: .85rem;
	min-height: 56px;
	padding: .65rem .8rem;
	border: 1px solid rgba(35, 79, 70, .18);
	border-radius: 10px;
	background: rgba(255, 253, 249, .68);
	color: var(--color-green-dark);
	text-decoration: none;
}

.dm-contact-detail > span {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--color-green-dark);
	color: var(--color-off-white);
}

.dm-contact-detail svg {
	width: 21px;
	height: 21px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.dm-contact-detail strong {
	font-size: .93rem;
	line-height: 1.5;
}

a.dm-contact-detail:hover {
	border-color: var(--color-gold);
	color: var(--color-green-dark);
}

.dm-contact-map-section {
	background: var(--color-off-white);
}

.dm-contact-map-section .dm-section-title {
	margin-bottom: .2rem;
}

.dm-contact-map {
	margin-top: 2rem;
	border: 1px solid rgba(35, 79, 70, .14);
	overflow: hidden;
}

.dm-contact-map iframe {
	display: block;
	width: 100%;
	height: clamp(340px, 50vw, 560px);
	border: 0;
}

.dm-faq-page-hero {
	background: linear-gradient(120deg, var(--color-cream), var(--color-sage-soft));
}

.dm-faq-page-hero > .wp-block-group__inner-container,
.dm-faq-page-section > .wp-block-group__inner-container {
	max-width: min(900px, var(--container));
}

.footer-brand p {
	max-width: 42ch;
	margin-top: 1rem;
}

.footer-contact {
	display: grid;
	width: min(100%, 360px);
	justify-self: end;
	justify-items: start;
	align-content: start;
	gap: .65rem;
}

.footer-contact h2 {
	margin-bottom: .2rem;
}

.footer-email,
.footer-phone {
	color: #dbe6e2;
}

.footer-contact__actions {
	display: flex;
	flex-wrap: wrap;
	gap: .65rem;
	margin-top: .25rem;
}

.footer-contact-pill {
	display: inline-flex;
	align-items: center;
	gap: .7rem;
	min-height: 48px;
	padding: .6rem 1rem;
	border: 1px solid rgba(255,255,255,.28);
	border-radius: 999px;
	color: #fff;
	text-decoration: none;
}

.footer-contact-pill:hover {
	border-color: var(--color-gold);
	color: #fff;
}

.footer-contact-pill .dm-icon {
	width: 1.3rem;
	height: 1.3rem;
	flex: 0 0 auto;
}

.footer-viber .dm-icon {
	width: 1.55rem;
	height: 1.55rem;
}

.footer-socials .footer-social-viber .dm-icon {
	width: 1.3rem;
	height: 1.3rem;
}

.footer-phone strong {
	font-size: .82rem;
	letter-spacing: .045em;
	text-transform: none;
}

.dm-viber-contact {
	display: none !important;
}

.footer-contact-pill span {
	display: grid;
	gap: .1rem;
	text-align: left;
}

.footer-contact-pill strong {
	font-size: .72rem;
	letter-spacing: .07em;
	text-transform: uppercase;
}

.footer-contact-pill small {
	color: #cbdad5;
}

.footer-contact-pill.footer-phone strong {
	font-size: .82rem;
	letter-spacing: .045em;
	text-transform: none;
}

.site-brand .site-brand__copy small {
	font-size: .66rem;
	font-weight: 800;
	letter-spacing: .12em;
	line-height: 1.2;
	opacity: 1;
}

.site-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 2rem;
	margin-top: 1.75rem;
	padding-top: 1rem;
}

.site-footer__bottom nav {
	display: flex;
	flex-wrap: wrap;
	gap: .7rem 1.25rem;
}

.site-footer__bottom a {
	color: #cbdad5;
}

/* Directional reveals used consistently across text, imagery, cards and actions. */
html.dm-motion-ready,
html.dm-motion-ready body {
	overflow-x: clip;
}

.will-reveal,
.reveal-left,
.reveal-right,
.reveal-up,
.reveal-fade-up {
	opacity: 0;
	transition:
		opacity .72s ease var(--reveal-delay, 0ms),
		transform .72s cubic-bezier(.2, .72, .22, 1) var(--reveal-delay, 0ms);
	transition-delay: var(--reveal-delay, 0ms);
	will-change: opacity, transform;
	backface-visibility: hidden;
}

.will-reveal--up,
.reveal-up { transform: translate3d(0, 20px, 0); }
.will-reveal--left,
.reveal-left { transform: translate3d(-48px, 0, 0); }
.will-reveal--right,
.reveal-right { transform: translate3d(48px, 0, 0); }
.will-reveal--fade-up,
.reveal-fade-up { transform: translate3d(0, 12px, 0); }
.will-reveal--fade { transform: none; }
.will-reveal.is-visible,
.reveal-left.is-visible,
.reveal-right.is-visible,
.reveal-up.is-visible,
.reveal-fade-up.is-visible {
	opacity: 1;
	transform: translate3d(0, 0, 0);
	will-change: auto;
}

/* A stronger, staggered opening movement for the hero. */
.dm-hero .will-reveal {
	transition-duration: 860ms;
}

.dm-hero .will-reveal--left,
.dm-hero .reveal-left {
	transform: translate3d(-84px, 0, 0);
}

.dm-hero .will-reveal--right,
.dm-hero .reveal-right {
	transform: translate3d(84px, 0, 0);
}

.dm-hero .will-reveal.is-visible,
.dm-hero .reveal-left.is-visible,
.dm-hero .reveal-right.is-visible {
	transform: translate3d(0, 0, 0);
}

/* Compact off-canvas navigation: always visible over the current scroll position. */
@media (max-width: 1180px) {
	.mobile-menu {
		display: flex;
		justify-content: flex-end;
		padding: 0 !important;
		background: rgba(9, 32, 28, .46) !important;
		overflow: hidden;
		overscroll-behavior: contain;
		isolation: isolate;
	}

	.mobile-menu[hidden] {
		display: none !important;
	}

	.mobile-menu::before {
		content: "";
		position: absolute;
		z-index: 1;
		inset: 0 auto 0 0;
		width: 28vw;
		max-width: 190px;
		background-image:
			linear-gradient(rgba(9, 32, 28, .24), rgba(9, 32, 28, .5)),
			var(--dm-menu-image, none);
		background-position: center, 48% 18%;
		background-repeat: no-repeat;
		background-size: cover;
		pointer-events: none;
	}

	.mobile-menu__panel {
		position: relative;
		z-index: 2;
		display: flex;
		flex-direction: column;
		width: min(78vw, 400px);
		height: 100%;
		margin-left: auto;
		padding: 0 1.4rem max(1.5rem, env(safe-area-inset-bottom));
		background: var(--color-off-white);
		box-shadow: -18px 0 42px rgba(13, 45, 39, .16);
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.mobile-menu:not([hidden]) .mobile-menu__panel {
		animation: dm-drawer-in .44s cubic-bezier(.2, .72, .22, 1) both;
	}

	.mobile-menu__search {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 42px;
		align-items: center;
		min-height: 64px;
		border-bottom: 1px solid var(--color-border);
	}

	.mobile-menu__search input {
		width: 100%;
		min-width: 0;
		min-height: 44px;
		padding: .65rem .15rem;
		border: 0;
		outline: 0;
		background: transparent;
		color: var(--color-green-dark);
		font-size: .88rem;
	}

	.mobile-menu__search input::placeholder {
		color: var(--color-muted);
		opacity: .82;
	}

	.mobile-menu__search input:focus-visible {
		box-shadow: inset 0 -2px 0 var(--color-gold);
	}

	.mobile-menu__search button {
		display: grid;
		place-items: center;
		width: 42px;
		height: 42px;
		padding: 0;
		border: 0;
		background: transparent;
		color: var(--color-green-dark);
		cursor: pointer;
	}

	.mobile-menu__search svg {
		width: 20px;
		height: 20px;
		fill: none;
		stroke: currentColor;
		stroke-width: 1.7;
		stroke-linecap: round;
	}

	.mobile-menu nav {
		margin-top: .45rem;
	}

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

	.mobile-menu nav li {
		margin: 0;
		border-bottom: 1px solid var(--color-border);
	}

	.mobile-menu nav a {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 1rem;
		min-height: 54px;
		padding: .8rem .15rem !important;
		color: var(--color-green-dark);
		font-family: var(--font-sans);
		font-size: .76rem !important;
		font-weight: 700;
		line-height: 1.25 !important;
		letter-spacing: .08em;
		text-decoration: none;
		text-transform: uppercase;
	}

	.mobile-menu nav a::after {
		content: "›";
		flex: 0 0 auto;
		color: var(--color-gold);
		font-family: Georgia, serif;
		font-size: 1.35rem;
		font-weight: 400;
		line-height: 1;
		transition: transform .25s ease;
	}

	.mobile-menu nav a:hover::after,
	.mobile-menu nav a:focus-visible::after {
		transform: translateX(4px);
	}

	.mobile-menu__footer {
		margin-top: auto;
		padding: 1.6rem .15rem .25rem;
		color: var(--color-muted);
		font-size: .72rem;
	}

	.mobile-menu__footer a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: 44px;
		padding: .65rem 1rem;
		border-radius: 999px;
		background: var(--color-green-dark);
		color: #fff;
		font-family: var(--font-sans);
		font-size: .8rem;
		font-weight: 700;
		letter-spacing: .06em;
		text-decoration: none;
	}

	.mobile-menu__footer p {
		margin: 1rem 0 0;
		line-height: 1.55;
	}
}

@keyframes dm-drawer-in {
	from { opacity: .75; transform: translate3d(100%, 0, 0); }
	to { opacity: 1; transform: translate3d(0, 0, 0); }
}

/* The off-canvas navigation gets the same alternating visual rhythm each time it opens. */
@media (max-width: 1180px) and (prefers-reduced-motion: no-preference) {
	.mobile-menu:not([hidden]) nav li,
	.mobile-menu:not([hidden]) .mobile-menu__footer {
		opacity: 0;
		animation: dm-menu-from-left .58s cubic-bezier(.2, .72, .22, 1) forwards;
	}

	.mobile-menu:not([hidden]) nav li:nth-child(even) {
		animation-name: dm-menu-from-right;
	}

	.mobile-menu:not([hidden]) nav li:nth-child(1) { animation-delay: .05s; }
	.mobile-menu:not([hidden]) nav li:nth-child(2) { animation-delay: .10s; }
	.mobile-menu:not([hidden]) nav li:nth-child(3) { animation-delay: .15s; }
	.mobile-menu:not([hidden]) nav li:nth-child(4) { animation-delay: .20s; }
	.mobile-menu:not([hidden]) nav li:nth-child(5) { animation-delay: .25s; }
	.mobile-menu:not([hidden]) nav li:nth-child(6) { animation-delay: .30s; }
	.mobile-menu:not([hidden]) nav li:nth-child(n + 7) { animation-delay: .35s; }
	.mobile-menu:not([hidden]) .mobile-menu__footer { animation-delay: .4s; }
}

@keyframes dm-menu-from-left {
	from { opacity: 0; transform: translate3d(-34px, 0, 0); }
	to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes dm-menu-from-right {
	from { opacity: 0; transform: translate3d(34px, 0, 0); }
	to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@media (max-width: 1180px) {
	.dm-approach-list > .wp-block-group__inner-container {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dm-approach-item:nth-child(odd) {
		border-left: 0;
	}

	.dm-approach-item:nth-child(even) {
		border-left: 1px solid var(--color-border);
	}

	.dm-approach-item:nth-child(n + 3) {
		padding-top: 2rem;
		border-top: 1px solid var(--color-border);
	}
}

@media (max-width: 782px) {
	:root {
		--dm-header: 92px;
	}

	.site-header {
		height: var(--dm-header);
	}

	.site-header__inner {
		width: calc(100vw - 1.5rem);
		gap: .65rem;
	}

	.site-brand {
		grid-template-columns: auto minmax(0, 1fr);
		gap: .72rem;
		min-width: 0;
	}

	.site-brand .site-brand__mark {
		width: 42px;
		height: 48px;
	}

	.site-brand .site-brand__copy {
		gap: .3rem;
		min-width: 0;
	}

	.site-brand .site-brand__copy strong {
		font-size: 1.34rem;
		line-height: 1;
	}

	.dm-about-teaser--editorial .dm-about-grid--collage > .wp-block-column:first-child {
		order: 2 !important;
	}

	.dm-about-teaser--editorial .dm-about-grid--collage > .wp-block-column:last-child {
		order: 1 !important;
	}

	.dm-about-teaser--editorial .dm-about-grid--collage {
		gap: 2.75rem;
	}

	.dm-services-section > .wp-block-group__inner-container,
	.dm-services-section > .wp-block-group__inner-container > .eyebrow,
	.dm-services-section > .wp-block-group__inner-container > .dm-section-title,
	.dm-service-card,
	.dm-service-card > .wp-block-group__inner-container,
	.dm-service-card p,
	.dm-service-card h2,
	.dm-service-facts,
	.dm-service-facts div {
		text-align: left !important;
	}

	.dm-services-section > .wp-block-group__inner-container {
		width: calc(100% - 2.5rem);
		margin-inline: auto;
	}

	.dm-services-section > .wp-block-group__inner-container > .eyebrow,
	.dm-services-section > .wp-block-group__inner-container > .dm-section-title {
		max-width: none;
		margin-left: 0;
		margin-right: 0;
	}

	.dm-service-card > .wp-block-group__inner-container,
	.dm-service-card .wp-block-buttons {
		align-items: flex-start;
		justify-content: flex-start;
	}

	.dm-service-card .wp-block-buttons {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.dm-service-card .wp-block-button,
	.dm-service-card .wp-block-button__link {
		width: auto !important;
	}

	.dm-service-facts {
		width: 100%;
		justify-items: start;
	}

	.dm-service-card__image {
		height: clamp(210px, 66vw, 330px);
	}

	.dm-hero--redesign .dm-hero-grid > .wp-block-column:first-child {
		background: var(--color-off-white);
	}

	.dm-gift-band > .wp-block-group__inner-container {
		grid-template-columns: 1fr;
		justify-items: center;
		text-align: center;
	}

	.dm-gift-band__badge {
		width: 88px;
	}

	.dm-gift-band__copy h2 {
		margin-inline: auto;
	}

	.dm-gift-band .wp-block-button,
	.dm-gift-band .wp-block-button__link {
		width: 100%;
	}

	.dm-services-grid {
		grid-template-columns: 1fr;
	}

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

	.dm-service-facts div:first-child {
		grid-column: 1 / -1;
		min-height: 104px;
		padding: .85rem 0 1rem;
		border-top: 1px solid rgba(35, 79, 70, .24);
		border-bottom: 1px solid rgba(35, 79, 70, .24);
		border-left: 0;
	}

	.dm-service-facts div:nth-child(2),
	.dm-service-facts div:nth-child(3) {
		padding: .85rem .8rem 0;
		border-top: 0;
		border-bottom: 0;
	}

	.dm-service-facts div:nth-child(2) {
		padding-left: 0;
		border-left: 0;
	}

	.dm-service-facts div:nth-child(3) {
		border-left: 1px solid currentColor;
	}

	.dm-service-card--green .dm-service-facts div:first-child {
		border-top-color: rgba(255, 253, 249, .32);
		border-bottom-color: rgba(255, 253, 249, .32);
	}

	.dm-service-card--green .dm-service-facts div:nth-child(3) {
		border-left-color: rgba(255, 253, 249, .32);
	}

	.dm-consultation-hero-image img {
		height: auto;
		aspect-ratio: 4 / 5;
	}

	.site-footer__top {
		grid-template-columns: 1fr;
		gap: 1.4rem;
	}

	.footer-contact {
		width: 100%;
		justify-self: stretch;
		padding-top: 1.35rem;
		border-top: 1px solid rgba(255,255,255,.15);
	}

	.footer-contact__actions {
		align-items: flex-start;
	}

	.site-brand .site-brand__copy small {
		font-size: .66rem;
		font-weight: 800;
		letter-spacing: .105em;
		line-height: 1.2;
	}

	.site-footer__bottom {
		align-items: flex-start;
		flex-direction: column;
	}

	.will-reveal--up,
	.reveal-up { transform: translate3d(0, 15px, 0); }
	.will-reveal--left,
	.reveal-left { transform: translate3d(-15px, 0, 0); }
	.will-reveal--right,
	.reveal-right { transform: translate3d(15px, 0, 0); }
	.dm-hero .will-reveal--left,
	.dm-hero .reveal-left { transform: translate3d(-26px, 0, 0); }
	.dm-hero .will-reveal--right,
	.dm-hero .reveal-right { transform: translate3d(26px, 0, 0); }
	.dm-hero .will-reveal.is-visible,
	.dm-hero .reveal-left.is-visible,
	.dm-hero .reveal-right.is-visible { transform: translate3d(0, 0, 0); }
	.will-reveal--fade-up,
	.reveal-fade-up { transform: translate3d(0, 10px, 0); }
}

@media (max-width: 360px) {
	:root {
		--dm-header: 86px;
	}

	.site-header__inner {
		width: calc(100vw - 1.1rem);
		gap: .35rem;
	}

	.site-brand {
		gap: .5rem;
	}

	.site-brand .site-brand__mark {
		width: 37px;
		height: 43px;
	}

	.site-brand .site-brand__copy strong {
		font-size: 1.16rem;
		letter-spacing: .035em;
	}

	.site-brand .site-brand__copy small {
		font-size: .58rem;
		letter-spacing: .075em;
	}
}

@media (max-width: 700px) {
	.dm-approach-signature-grid {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	.dm-approach-signature-grid > .wp-block-column:last-child {
		max-width: 100%;
		justify-self: stretch;
	}

	.dm-approach-intro-grid {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	.dm-approach-intro-grid > .wp-block-column:last-child {
		max-width: 100%;
		justify-self: stretch;
	}

	.dm-approach-intro-grid .dm-section-title {
		max-width: 19ch;
		font-size: clamp(2.65rem, 10.5vw, 3.55rem);
	}
}

@media (max-width: 620px) {
	.dm-approach > .wp-block-group__inner-container,
	.dm-gift-band > .wp-block-group__inner-container,
	.site-footer__top,
	.site-footer__bottom {
		max-width: calc(100% - 2rem);
	}

	.dm-approach-list > .wp-block-group__inner-container {
		grid-template-columns: 1fr;
	}

	.dm-approach-item,
	.dm-approach-item:first-child,
	.dm-approach-item:nth-child(even),
	.dm-approach-item:nth-child(n + 3) {
		padding: 1.45rem 0;
		border-top: 0;
		border-left: 0;
		border-bottom: 1px solid var(--color-border);
	}

	.dm-approach-item:first-child {
		padding-top: 0;
	}

	.dm-approach-item:last-child {
		padding-bottom: 0;
		border-bottom: 0;
	}

	.dm-approach-icon {
		width: 38px;
		height: 38px;
		margin-bottom: .65rem;
	}

	.dm-approach-logo {
		width: 38px;
		height: 38px;
		margin-bottom: .65rem;
	}

	.site-footer__bottom nav {
		gap: .55rem 1rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.will-reveal,
	.will-reveal--up,
	.will-reveal--left,
	.will-reveal--right,
	.will-reveal--fade,
	.will-reveal--fade-up,
	.reveal-left,
	.reveal-right,
	.reveal-up,
	.reveal-fade-up {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* 1.6.0: full-image homepage hero with a readable glass panel. */
.dm-hero.dm-hero--redesign {
	position: relative;
	isolation: isolate;
	background: var(--color-cream);
}

.dm-hero--redesign > .wp-block-group__inner-container {
	width: 100%;
	max-width: none;
}

.dm-hero--redesign .dm-hero-grid {
	position: relative;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr);
	align-items: end;
	min-height: clamp(620px, calc(100svh - var(--dm-header)), 790px);
	gap: 0;
	padding: clamp(2rem, 5vw, 5rem) clamp(1.25rem, 5vw, 6rem);
	overflow: hidden;
}

.dm-hero--redesign .dm-hero-grid > .wp-block-column:last-child {
	position: absolute;
	inset: 0;
	z-index: 0;
	min-width: 0;
}

.dm-hero--redesign .dm-hero-grid > .wp-block-column:last-child::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(13, 49, 41, .16) 0%, rgba(13, 49, 41, .02) 58%, rgba(13, 49, 41, .1) 100%);
	pointer-events: none;
}

.dm-hero--redesign .dm-hero-image,
.dm-hero--redesign .dm-hero-image picture {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
}

.dm-hero--redesign .dm-hero-image img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 100%;
	aspect-ratio: auto;
	object-fit: cover;
	object-position: 68% center;
	filter: saturate(.84) contrast(.96) brightness(.96);
}

.dm-hero--redesign .dm-hero-grid > .wp-block-column:first-child {
	position: relative;
	z-index: 2;
	align-self: end;
	width: min(600px, calc(100% - 2.5rem));
	max-width: 100%;
	margin: 0 auto .75rem;
	padding: clamp(1.45rem, 2.6vw, 2rem) clamp(1.5rem, 3vw, 2.3rem);
	background: rgba(18, 55, 47, .5) !important;
	border: 1px solid rgba(255, 255, 255, .28);
	border-radius: 18px;
	box-shadow: 0 24px 70px rgba(12, 43, 36, .22);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
}

.dm-hero--redesign .dm-display {
	max-width: none;
	font-size: clamp(2.15rem, 3.35vw, 3.2rem);
	line-height: 1;
	text-align: center;
	color: #fff;
}

.dm-hero--redesign .dm-hero-title-line {
	display: flex;
	align-items: center;
	gap: clamp(.55rem, 1vw, .85rem);
	width: 100%;
}

.dm-hero--redesign .dm-hero-title-line + .dm-hero-title-line {
	margin-top: .18em;
}

.dm-hero--redesign .dm-hero-title-line::before {
	content: "";
	flex: 0 0 clamp(24px, 2.2vw, 32px);
	width: clamp(24px, 2.2vw, 32px);
	height: clamp(24px, 2.2vw, 32px);
	background: url('../images/dm-hero-pin.png') center / contain no-repeat;
	filter: drop-shadow(0 3px 7px rgba(0, 0, 0, .68)) drop-shadow(0 0 2px rgba(255, 255, 255, .24));
	transform: rotate(-45deg);
	transform-origin: center;
}

.dm-hero--redesign .dm-display em,
.dm-hero--redesign .dm-lead {
	color: #fff;
}

.dm-hero--redesign .dm-lead {
	max-width: 32rem;
	margin-inline: auto;
	font-size: 1rem;
	line-height: 1.5;
	text-align: center;
}

.dm-hero--redesign .dm-hero-grid > .wp-block-column:first-child .eyebrow {
	display: none !important;
}

.dm-hero--redesign .dm-hero-grid > .wp-block-column:first-child .eyebrow,
.dm-hero--redesign .dm-display,
.dm-hero--redesign .dm-lead {
	text-shadow: 0 1px 8px rgba(8, 28, 23, .5);
}

.dm-hero--redesign .dm-hero-actions {
	display: none !important;
}

.dm-hero--redesign .dm-botanical--hero {
	display: none;
}

.dm-hero--redesign .dm-hero-badge {
	z-index: 2;
}

@media (max-width: 782px) {
	.dm-hero.dm-hero--redesign {
		background: var(--color-green-dark);
	}

	.dm-hero--redesign .dm-hero-grid {
		align-items: end;
		min-height: calc(100svh - var(--dm-header));
		padding: 1rem;
	}

	.dm-hero--redesign .dm-hero-grid > .wp-block-column:first-child {
		align-self: end;
		width: min(100%, 430px);
		margin: 0 auto .6rem;
		padding: 1.15rem 1rem;
		background: rgba(18, 55, 47, .24) !important;
		border-color: rgba(255, 255, 255, .2);
		border-radius: 14px;
		box-shadow: 0 14px 38px rgba(10, 37, 31, .16);
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.dm-hero--redesign .dm-display {
		max-width: none;
		font-size: clamp(1.55rem, 6.6vw, 2.05rem);
		line-height: 1.06;
		text-align: left;
		color: #fff;
	}

	.dm-hero--redesign .dm-hero-title-line {
		gap: .45rem;
	}

	.dm-hero--redesign .dm-hero-title-line::before {
		flex-basis: 23px;
		width: 23px;
		height: 23px;
	}

	.dm-hero--redesign .dm-display em,
	.dm-hero--redesign .dm-lead {
		color: #fff;
	}

	.dm-hero--redesign .dm-lead {
		max-width: 31rem;
		margin-inline: auto;
		font-size: .98rem;
		line-height: 1.45;
		text-align: center;
	}

	.dm-hero--redesign .dm-hero-grid > .wp-block-column:first-child .eyebrow,
	.dm-hero--redesign .dm-display,
	.dm-hero--redesign .dm-lead {
		text-shadow: 0 1px 8px rgba(8, 28, 23, .5);
	}

	.dm-hero--redesign .dm-hero-image img {
		object-position: 58% 18%;
	}

	.dm-hero--redesign .dm-hero-grid > .wp-block-column:last-child::after {
		background: linear-gradient(180deg, rgba(12, 43, 36, .04) 0%, rgba(12, 43, 36, .1) 58%, rgba(12, 43, 36, .24) 100%);
	}

	.dm-hero--redesign .dm-hero-badge {
		display: none;
	}
}

/* Final desktop positioning: keep the copy panel clear of the left edge. */
@media (min-width: 783px) {
	html body .dm-hero--redesign .dm-hero-grid > .wp-block-column:first-child {
		margin-left: clamp(6rem, 12vw, 18rem) !important;
		margin-right: 0 !important;
		transform: translateX(clamp(6rem, 12vw, 18rem)) !important;
	}
}

/* 1.6.5: full-width desktop portrait with light, readable copy overlay. */
@media (min-width: 783px) {
	html body .dm-hero--redesign .dm-hero-grid {
		padding-left: 0 !important;
		padding-right: 0 !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	.dm-hero.dm-hero--redesign {
		background: var(--color-green-dark);
	}

	.dm-hero--redesign .dm-hero-grid {
		grid-template-columns: minmax(0, 1fr);
		align-items: center;
		padding: clamp(3rem, 7vw, 7rem) 0 !important;
	}

	.dm-hero--redesign .dm-hero-grid > .wp-block-column:first-child {
		grid-column: 1;
		grid-row: 1;
		align-self: center;
		display: block;
		width: min(620px, 49vw);
		max-width: 100%;
		margin: 0 0 0 clamp(6rem, 12vw, 18rem) !important;
		padding: clamp(1.65rem, 3vw, 2.6rem);
		background: rgba(18, 55, 47, .26) !important;
		border: 1px solid rgba(255, 255, 255, .22);
		border-radius: 18px;
		box-shadow: 0 24px 68px rgba(7, 29, 24, .18);
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.dm-hero--redesign .dm-hero-grid > .wp-block-column:last-child {
		position: absolute;
		inset: 0;
		grid-column: 1;
		grid-row: 1;
	}

	.dm-hero--redesign .dm-hero-grid > .wp-block-column:last-child::after {
		background: linear-gradient(90deg, rgba(13, 49, 41, .14) 0%, rgba(13, 49, 41, .025) 58%, rgba(13, 49, 41, .06) 100%);
	}

	.dm-hero--redesign .dm-hero-image img {
		object-position: center 18%;
	}

	.dm-hero--redesign .dm-display {
		max-width: none;
		font-size: clamp(2.25rem, 3.55vw, 3.55rem);
		line-height: 1.02;
		text-align: left;
		color: #fff;
	}

	.dm-hero--redesign .dm-display em {
		color: #f4d18f;
	}

	.dm-hero--redesign .dm-lead {
		max-width: 32rem;
		margin-inline: 0;
		font-size: 1.05rem;
		line-height: 1.55;
		text-align: left;
		color: #fff;
	}

	.dm-hero--redesign .dm-hero-grid > .wp-block-column:first-child .eyebrow,
	.dm-hero--redesign .dm-display,
	.dm-hero--redesign .dm-lead {
		text-shadow: 0 1px 8px rgba(8, 28, 23, .5);
	}
}

/* Keep the portrait framing focused on the face on wide and narrow screens. */
@media (min-width: 783px) {
	html body .dm-hero--redesign .dm-hero-grid .dm-hero-image img {
		object-position: 50% 18% !important;
	}
}

@media (max-width: 782px) {
	html body .dm-hero--redesign .dm-hero-grid .dm-hero-image img {
		object-position: 58% 18% !important;
	}
}



/* Final mobile hero alignment: center copy and pin titles. */
html body .dm-hero--redesign .dm-display {
	padding-left: 0 !important;
	background-image: none !important;
}

html body .dm-hero--redesign .dm-hero-title-line {
	position: relative;
	gap: 0 !important;
}

html body .dm-hero--redesign .dm-hero-title-line { position: relative; gap: 0 !important; }
html body .dm-hero--redesign .dm-hero-title-line::before { position: absolute; left: -2rem; top: 50%; transform: translateY(-50%) rotate(-45deg) !important; }
@media (max-width: 782px) {
html body .dm-hero--redesign .dm-display { text-align: center !important; }
html body .dm-hero--redesign .dm-hero-title-line { justify-content: center !important; width: fit-content; max-width: 100%; margin-inline: auto; text-align: center; }
html body .dm-hero--redesign .dm-lead { text-align: center !important; }
}


/* Align consultation facts lines with the online label and soften the light-card divider. */
.dm-service-facts div:nth-child(3) {
	padding-right: 0 !important;
}

.dm-service-card:not(.dm-service-card--green) .dm-service-facts div:nth-child(3) {
	border-left-color: rgba(35, 79, 70, .24) !important;
}

/* Keep the Instagram asset clean: it already contains its own gradient circle. */
.footer-socials a[aria-label="Instagram"] {
  background: transparent !important;
  border-color: transparent !important;
  overflow: hidden;
}
.footer-socials a[aria-label="Instagram"] .footer-social-image--instagram {
  display: block;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: fill;
  transform: scale(1.25);
}

/* Final pricing divider alignment. */
.dm-service-facts > div:nth-child(3) {
  position: relative !important;
  border-left: 0 !important;
}
.dm-service-facts > div:nth-child(3)::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.85rem;
  bottom: 0;
  width: 1px;
  background: currentColor;
  opacity: 0.24;
  pointer-events: none;
}

/* Align duration rules with the visible end of the online option. */
.dm-service-facts div:first-child {
  width: calc(100% - 3rem) !important;
  max-width: calc(100% - 3rem) !important;
}
/* clipboard-test-marker *//* clipboard-test-marker */

/* Client-provided illustrations for the "Зрели избори" approach cards. */
.dm-approach-logo {
  display: none !important;
}
.dm-approach-icon {
  display: block !important;
  width: clamp(72px, 7vw, 104px);
  height: clamp(72px, 7vw, 104px);
  margin: 0 auto 1rem;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.dm-approach-icon--choices {
  background-image: url("https://dilyanamihaleva.com/wp-content/uploads/2026/10/zreli-izbori.png") !important;
}
.dm-approach-icon--communication {
  background-image: url("https://dilyanamihaleva.com/wp-content/uploads/2026/10/istinska-komunikaciq.png") !important;
}
.dm-approach-icon--relationships {
  background-image: url("https://dilyanamihaleva.com/wp-content/uploads/2026/10/smisleni-otnosheniq.png") !important;
}
.dm-approach-icon--resilience {
  background-image: url("https://dilyanamihaleva.com/wp-content/uploads/2026/10/vatreshna-ustoychivost.png") !important;
}
@media (max-width: 620px) {
  .dm-approach-icon {
    width: 78px;
    height: 78px;
    margin-bottom: .75rem;
  }
}


/* Map the four uploaded illustrations onto the existing approach logo slots. */
.dm-approach-logo {
  display: block !important;
  width: clamp(72px, 7vw, 104px);
  height: clamp(72px, 7vw, 104px);
  margin: 0 auto 1rem;
  color: transparent !important;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.dm-approach-logo svg {
  display: none !important;
}
.dm-approach-item:nth-child(1) .dm-approach-logo {
  background-image: url("https://dilyanamihaleva.com/wp-content/uploads/2026/10/zreli-izbori.png") !important;
}
.dm-approach-item:nth-child(2) .dm-approach-logo {
  background-image: url("https://dilyanamihaleva.com/wp-content/uploads/2026/10/istinska-komunikaciq.png") !important;
}
.dm-approach-item:nth-child(3) .dm-approach-logo {
  background-image: url("https://dilyanamihaleva.com/wp-content/uploads/2026/10/smisleni-otnosheniq.png") !important;
}
.dm-approach-item:nth-child(4) .dm-approach-logo {
  background-image: url("https://dilyanamihaleva.com/wp-content/uploads/2026/10/vatreshna-ustoychivost.png") !important;
}
@media (max-width: 620px) {
  .dm-approach-logo {
    width: 78px;
    height: 78px;
    margin-bottom: .75rem;
  }
}


/* Extend the duration rules to the exact end of the online price column. */
.dm-service-facts div:first-child {
  width: 100% !important;
  max-width: 100% !important;
}



/* Cached-page fallback: animate the homepage HERO even before PHP cache refresh */
@keyframes dm-cached-panel-in {
  from { opacity: 0; left: -56px; }
  to { opacity: 1; left: 0; }
}
@keyframes dm-cached-copy-left {
  from { opacity: 0; left: -34px; }
  to { opacity: 1; left: 0; }
}
@keyframes dm-cached-copy-right {
  from { opacity: 0; left: 34px; }
  to { opacity: 1; left: 0; }
}
@keyframes dm-cached-image-right {
  from { opacity: .2; transform: translate3d(56px,0,0); }
  to { opacity: 1; transform: none; }
}
html body .dm-hero--redesign .dm-hero-grid > .wp-block-column:first-child {
  animation: dm-cached-panel-in .95s cubic-bezier(.2,.72,.22,1) .08s both;
}
html body .dm-hero--redesign .dm-hero-grid > .wp-block-column:first-child h1,
html body .dm-hero--redesign .dm-hero-grid > .wp-block-column:first-child .dm-lead {
  position: relative;
  animation: dm-cached-copy-left .82s cubic-bezier(.2,.72,.22,1) .2s both;
}
html body .dm-hero--redesign .dm-hero-grid > .wp-block-column:first-child .dm-hero-actions {
  display: flex !important;
  position: relative;
  animation: dm-cached-copy-right .82s cubic-bezier(.2,.72,.22,1) .34s both;
}
html body .dm-hero--redesign .dm-hero-grid > .wp-block-column:last-child {
  animation: dm-cached-image-right .95s cubic-bezier(.2,.72,.22,1) .14s both;
}
@media (prefers-reduced-motion: reduce) {
  html body .dm-hero--redesign .dm-hero-grid > .wp-block-column:first-child,
  html body .dm-hero--redesign .dm-hero-grid > .wp-block-column:first-child h1,
  html body .dm-hero--redesign .dm-hero-grid > .wp-block-column:first-child .dm-lead,
  html body .dm-hero--redesign .dm-hero-grid > .wp-block-column:first-child .dm-hero-actions,
  html body .dm-hero--redesign .dm-hero-grid > .wp-block-column:last-child {
    animation: none !important;
  }
}
 

/* Ensure the cached homepage HERO visibly enters from the left. */
@keyframes dm-cached-panel-in {
  from { opacity: 0; transform: translate3d(-56px,0,0); }
  to { opacity: 1; transform: translate3d(0,0,0); }
  }
html body .dm-hero--redesign .dm-hero-grid > .wp-block-column:first-child {
  position: relative !important;
  animation: dm-cached-panel-in .95s cubic-bezier(.2,.72,.22,1) .08s  both !important;
}


/* Final cached HERO slide-in: use horizontal offset so desktop positioning cannot cancel it. */
@keyframes dm-hero-panel-slide-left {
  from { opacity: 0; left: -56px; }
  to { opacity: 1; left: 0; }
}
@keyframes dm-hero-copy-slide-left {
  from { opacity: 0; left: -34px; }
  to { opacity: 1; left: 0; }
}
html body .dm-hero--redesign .dm-hero-grid > .wp-block-column:first-child {
  animation: dm-hero-panel-slide-left 1.25s cubic-bezier(.2,.72,.22,1) .08s both !important;
}
html body .dm-hero--redesign .dm-hero-grid > .wp-block-column:first-child .dm-display,
html body .dm-hero--redesign .dm-hero-grid > .wp-block-column:first-child .dm-lead {
  position: relative;
  animation: dm-hero-copy-slide-left 1s cubic-bezier(.2,.72,.22,1) .26s both !important;
}
@media (prefers-reduced-motion: reduce) {
  html body .dm-hero--redesign .dm-hero-grid > .wp-block-column:first-child,
  html body .dm-hero--redesign .dm-hero-grid > .wp-block-column:first-child .dm-display,
  html body .dm-hero--redesign .dm-hero-grid > .wp-block-column:first-child .dm-lead { animation: none !important; }
}


/* Final requested refinements: brand spacing/type, remove home cards and consultation service cards, horizontal about imagery. */
html body .site-brand { column-gap: 1.4rem !important; }
html body .site-brand .site-brand__copy { gap: .42rem !important; }
html body .site-brand .site-brand__copy strong,
html body .footer-brand__name strong { font-family: "Avenir Next", "Segoe UI", Arial, sans-serif !important; font-weight: 700 !important; letter-spacing: .075em !important; }

/* Remove product cards from the homepage while keeping the dedicated product page. */
html body.home .dm-products-section--showcase,
html body.home .dm-products-section,
html body.home .dm-home-products { display: none !important; }

/* Consultation choices are visible; obsolete removal rule retired on 2026-10-03. */

/* Force a landscape crop for the About photos on desktop and mobile. */
html body img[alt*="в своя кабинет"],
html body img[alt*="в спокойната среда на кабинета"] {
  display: block !important;
  width: 100% !important;
  height: clamp(220px, 26vw, 460px) !important;
  max-height: none !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
  object-position: center 42% !important;
}
@media (max-width: 782px) {
  html body img[alt*="в своя кабинет"],
  html body img[alt*="в спокойната среда на кабинета"] {
    width: 100% !important;
    height: clamp(190px, 52vw, 280px) !important;
    max-height: none !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
    object-position: center 38% !important;
  }
}


/* Final landscape framing for the About page images. */
html body.postid-24 main img {
  display: block !important;
  width: 100% !important;
  height: clamp(220px, 26vw, 460px) !important;
  max-height: none !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
  object-position: center 42% !important;
}
html body.postid-24 main figure.wp-block-image {
  width: 100% !important;
  height: clamp(220px, 26vw, 460px) !important;
  max-height: none !important;
  aspect-ratio: 16 / 9 !important;
  overflow: hidden !important;
}
@media (max-width: 782px) {
  html body.postid-24 main img {
    height: clamp(190px, 52vw, 280px) !important;
    object-position: center 38% !important;
  }
  html body.postid-24 main figure.wp-block-image {
    height: clamp(190px, 52vw, 280px) !important;
  }
}

/* Keep the desktop hero entrance horizontal: layout offset is not vertical. */
@media (min-width: 783px) {
      html body .dm-hero--redesign .dm-hero-grid > .wp-block-column:first-child,
        html body .dm-hero--redesign .dm-hero-grid > .wp-block-column:last-child {
                transform: none !important;
        }
}

        }
}

/* Footer layout: logo left, tagline centered, socials right on desktop. */
@media (min-width: 783px) {
  html body .site-footer__top {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: clamp(2rem, 6vw, 8rem) !important;
    width: 100% !important;
  }
  html body .site-footer__top .footer-brand {
    display: contents !important;
  }
  html body .site-footer__top .footer-brand__name {
    grid-column: 1 !important;
    justify-self: start !important;
    margin: 0 !important;
  }
  html body .site-footer__top .footer-brand > p {
    grid-column: 2 !important;
    justify-self: center !important;
    margin: 0 !important;
    text-align: center !important;
    white-space: nowrap !important;
  }
  html body .site-footer__top .footer-socials {
    grid-column: 3 !important;
    justify-self: end !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: .65rem !important;
    margin: 0 !important;
  }
}

/* Keep the existing vertical footer on phones, centered. */
@media (max-width: 782px) {
  html body .site-footer__top {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }
  html body .site-footer__top .footer-brand {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    width: 100% !important;
  }
  html body .site-footer__top .footer-brand__name,
  html body .site-footer__top .footer-brand > p {
    align-self: center !important;
    text-align: center !important;
  }
  html body .site-footer__top .footer-socials {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-inline: auto !important;
  }
  html body .site-footer__bottom {
    text-align: center !important;
    align-items: center !important;
    justify-content: center !important;
  }
}


/* Final desktop override for the existing footer rules. */
@media (min-width: 783px) {
  html body footer.site-footer .site-footer__top .footer-brand {
    display: contents !important;
    flex-direction: initial !important;
    grid-column: auto !important;
    max-width: none !important;
  }
  html body footer.site-footer .site-footer__top .footer-brand__name {
    grid-column: 1 !important;
    justify-self: start !important;
  }
  html body footer.site-footer .site-footer__top .footer-brand > p {
    grid-column: 2 !important;
    justify-self: center !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    white-space: nowrap !important;
    text-align: center !important;
  }
  html body footer.site-footer .site-footer__top .footer-socials {
    grid-column: 3 !important;
    justify-self: end !important;
    margin: 0 !important;
  }
}


/* dm-mobile-menu-face-visible-20261003: keep Dilyana's full face visible beside the mobile drawer. */
@media (max-width: 782px) {
	.mobile-menu::before {
		width: 44vw;
		max-width: none;
		background-position: center, 53% 18%;
	}

	.mobile-menu__panel {
		width: 58vw;
		max-width: 330px;
		padding-right: clamp(.7rem, 3vw, 1rem);
		padding-left: clamp(.7rem, 3vw, 1rem);
	}

	.mobile-menu nav {
		margin-top: .25rem;
	}

	.mobile-menu nav a {
		gap: .45rem;
		min-height: 48px;
		padding: .62rem .05rem !important;
		font-size: clamp(.64rem, 2.7vw, .72rem) !important;
		line-height: 1.2 !important;
		letter-spacing: .055em;
	}

	.mobile-menu nav a::after {
		font-size: 1.15rem;
	}

	.mobile-menu__footer {
		padding: 1rem .05rem .2rem;
		font-size: .64rem;
		line-height: 1.4;
	}
}


/* 2026-10-15: centered, responsive order confirmation. */
body.woocommerce-order-received .woocommerce-main {
	width: min(calc(100% - 2rem), 1120px);
	margin-inline: auto;
}

body.woocommerce-order-received .woocommerce-order {
	width: min(100%, 880px);
	margin: clamp(2rem, 5vw, 4.5rem) auto;
}

body.woocommerce-order-received .woocommerce-thankyou-order-received {
	margin: 0 auto 1.5rem;
	padding: clamp(1.35rem, 4vw, 2rem);
	border: 1px solid rgba(23, 63, 54, .18);
	border-radius: 20px;
	background: var(--color-cream, #f8f4ec);
	box-shadow: 0 18px 45px rgba(23, 63, 54, .08);
	font-size: clamp(1.35rem, 3vw, 2rem);
	line-height: 1.3;
	text-align: center;
}

body.woocommerce-order-received ul.woocommerce-order-overview {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: .8rem;
	width: 100%;
	margin: 0 auto 2rem;
	padding: 1rem;
	border: 1px solid rgba(23, 63, 54, .14);
	border-radius: 18px;
	background: var(--color-off-white, #fffdf9);
	box-shadow: 0 14px 38px rgba(23, 63, 54, .06);
	box-sizing: border-box;
}

body.woocommerce-order-received ul.woocommerce-order-overview li {
	min-width: 0;
	margin: 0 !important;
	padding: .9rem .7rem !important;
	border: 0 !important;
	border-radius: 12px;
	background: rgba(232, 238, 228, .62);
	line-height: 1.35;
	text-align: center;
}

body.woocommerce-order-received ul.woocommerce-order-overview li strong {
	display: block;
	margin-top: .35rem;
	font-size: 1rem;
	line-height: 1.4;
	text-transform: none;
	overflow-wrap: anywhere;
}

body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details,
body.woocommerce-order-received .dm-order-stock-note {
	width: 100%;
	margin: 1.5rem auto 0;
	padding: clamp(1.25rem, 3vw, 2rem);
	border: 1px solid rgba(23, 63, 54, .14);
	border-radius: 20px;
	background: var(--color-off-white, #fffdf9);
	box-shadow: 0 16px 42px rgba(23, 63, 54, .07);
	box-sizing: border-box;
}

body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-customer-details > h2,
body.woocommerce-order-received .woocommerce-column__title {
	margin: 0 0 1.25rem;
	font-size: clamp(1.6rem, 3vw, 2.25rem);
	line-height: 1.2;
	text-align: center;
}

body.woocommerce-order-received table.woocommerce-table--order-details {
	width: 100%;
	margin: 0;
	table-layout: fixed;
}

body.woocommerce-order-received table.woocommerce-table--order-details th,
body.woocommerce-order-received table.woocommerce-table--order-details td {
	padding: .95rem .7rem;
	overflow-wrap: anywhere;
}

body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	width: 100%;
}

body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
}

body.woocommerce-order-received .woocommerce-customer-details address {
	width: 100%;
	margin: 0;
	padding: 1.25rem;
	border: 1px solid rgba(23, 63, 54, .12);
	border-radius: 15px;
	background: var(--color-cream, #f8f4ec);
	box-sizing: border-box;
	font-style: normal;
	font-size: 1.05rem;
	line-height: 1.7;
	text-align: center;
	overflow-wrap: anywhere;
}

@media (max-width: 782px) {
	body.woocommerce-order-received .woocommerce-main {
		width: min(calc(100% - 2rem), 560px);
	}

	body.woocommerce-order-received .woocommerce-order {
		margin-block: 1.5rem 3rem;
	}

	body.woocommerce-order-received ul.woocommerce-order-overview {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: .65rem;
		padding: .75rem;
		border-radius: 16px;
	}

	body.woocommerce-order-received ul.woocommerce-order-overview li {
		padding: .8rem .5rem !important;
		font-size: .72rem;
	}

	body.woocommerce-order-received ul.woocommerce-order-overview li strong {
		font-size: .95rem;
	}

	body.woocommerce-order-received .woocommerce-order-details,
	body.woocommerce-order-received .woocommerce-customer-details,
	body.woocommerce-order-received .dm-order-stock-note {
		padding: 1rem;
		border-radius: 16px;
	}

	body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns {
		grid-template-columns: 1fr;
	}

	body.woocommerce-order-received .woocommerce-customer-details address {
		padding: 1.1rem .9rem;
		font-size: 1rem;
		line-height: 1.65;
	}

	body.woocommerce-order-received table.woocommerce-table--order-details th,
	body.woocommerce-order-received table.woocommerce-table--order-details td {
		padding: .8rem .45rem;
		font-size: .92rem;
	}
}


/* DM mobile consultation price alignment v2 */
@media (max-width: 782px) {
  html body.page-id-23 #main .dm-service-facts > div:nth-child(2),
  html body.page-id-23 #main .dm-service-facts > div:nth-child(3) {
    justify-content: center !important;
    gap: .3rem !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  html body.page-id-23 #main .dm-service-facts > div:nth-child(2) dt,
  html body.page-id-23 #main .dm-service-facts > div:nth-child(3) dt {
    white-space: nowrap !important;
    font-size: clamp(.64rem, 2.75vw, .75rem) !important;
    letter-spacing: 0 !important;
  }

  html body.page-id-23 #main .dm-service-facts > div:nth-child(2) dd,
  html body.page-id-23 #main .dm-service-facts > div:nth-child(3) dd {
    white-space: nowrap !important;
    font-size: clamp(.9rem, 3.9vw, 1rem) !important;
  }
}


/* DM parable title matched to site headings */
html body.home.page-id-22 #main #podhod .dm-labyrinth-parable p.dm-labyrinth-parable__lead,
html body.home.page-id-22 #main #podhod .dm-labyrinth-parable p.dm-labyrinth-parable__lead * {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(42px, 4.3vw, 55px) !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: -.03em !important;
}

@media (max-width: 782px) {
  html body.home.page-id-22 #main #podhod .dm-labyrinth-parable p.dm-labyrinth-parable__lead,
  html body.home.page-id-22 #main #podhod .dm-labyrinth-parable p.dm-labyrinth-parable__lead * {
    font-size: 42.4px !important;
    line-height: 1 !important;
  }
}
