:where(:root) {
	--ct-primary: var(--pColor, #2f6f7e);
	--ct-secondary: var(--sColor, #1e2d3a);
	--ct-accent: var(--aColor, #d9e6e8);
	--ct-ink: var(--ct-secondary);
	--ct-muted: var(--ct-secondary);
	--ct-link: var(--ct-primary);
	--ct-soft: #ffffff;
	--ct-surface: #ffffff;
	--ct-line: var(--ct-accent);
	--ct-star: var(--ct-primary);
	--ct-on-primary: #ffffff;
	--ct-font-heading: inherit;
	--ct-font-body: inherit;
	--ct-heading-weight: 600;
	--ct-heading-style: normal;
	--ct-heading-color: var(--ct-ink);
	--ct-heading-transform: none;
	--ct-h2-size: clamp(30px, 3.2vw, 42px);
	--ct-h2-intro-size: clamp(34px, 3.8vw, 50px);
	--ct-h3-size: 22px;
	--ct-text-size: 17px;
	--ct-line-height: 1.72;
	--ct-lede-font: inherit;
	--ct-lede-size: 19px;
	--ct-quote-font: inherit;
	--ct-eyebrow-color: var(--ct-primary);
	--ct-eyebrow-rule: 28px;
	--ct-radius: 18px;
	--ct-card-radius: var(--ct-radius);
	--ct-media-radius: var(--ct-radius);
	--ct-band-radius: 26px;
	--ct-btn-radius: 50px;
	--ct-chip-radius: 50px;
    /* surfaces */
	--ct-card-bg: var(--ct-surface);
	--ct-card-border: 1px solid var(--ct-line);
	--ct-shadow: 0 12px 32px -16px rgba(0, 0, 0, .22);
	--ct-shadow-hover: 0 20px 44px -18px rgba(0, 0, 0, .32);
	--ct-band-bg: var(--ct-soft);
	--ct-frame: var(--ct-accent);
                 /* offset shape behind intro/split images */
	--ct-frame-opacity: .6;
    /* buttons */
	--ct-btn-bg: var(--ct-primary);
	--ct-btn-ink: var(--ct-on-primary);
	--ct-btn-hover-bg: var(--ct-secondary);
	--ct-btn-hover-ink: #ffffff;
	--ct-btn-transform: uppercase;
	--ct-btn-tracking: 1px;
	--ct-btn-size: 14px;
	--ct-btn-weight: 700;
    /* cta band */
	--ct-cta-bg: linear-gradient(120deg, var(--ct-primary), var(--ct-secondary));
	--ct-cta-ink: #ffffff;
	--ct-cta-btn-bg: #ffffff;
	--ct-cta-btn-ink: var(--ct-secondary);
    /* layout */
	--ct-max: 1200px;
	--ct-gutter: 20px;
	--ct-gap: 28px;
	--ct-section-pad: 40px;
	--ct-ease: cubic-bezier(.2, .7, .2, 1);
}

@supports (color: color-mix(in srgb, red 50%, blue)) {
	:where(:root) {
		--ct-ink: color-mix(in srgb, var(--ct-secondary) 70%, #000000);
		--ct-muted: color-mix(in srgb, var(--ct-ink) 72%, #ffffff);
		--ct-soft: color-mix(in srgb, var(--ct-accent) 28%, #ffffff);
		--ct-line: color-mix(in srgb, var(--ct-ink) 12%, transparent);
		--ct-shadow: 0 12px 32px -16px color-mix(in srgb, var(--ct-ink) 22%, transparent);
		--ct-shadow-hover: 0 20px 44px -18px color-mix(in srgb, var(--ct-ink) 32%, transparent);
	}
}

.dm-service-section.dm-ct,
.dm-service-section.dm-ct:nth-child(odd),
.dm-service-section.dm-ct:nth-child(even) {
	background: transparent;
	padding: var(--ct-section-pad) 0;
	color: var(--ct-ink);
	font-family: var(--ct-font-body);
}

.dm-service-section.dm-ct img,
.dm-service-section.dm-ct:nth-child(odd) img,
.dm-service-section.dm-ct:nth-child(even) img {
	outline: 0;
	border: 0;
	max-width: 100%;
	height: auto;
	display: block;
}

.dm-service-section.dm-ct:nth-child(even) .dm-half:nth-child(1) {
	order: 0;
}

.dm-ct > .dm-container {
	max-width: var(--ct-max);
	padding: 0 var(--ct-gutter);
}

.dm-ct .dm-flex {
	flex-wrap: wrap;
	gap: var(--ct-gap);
	align-items: stretch;
	justify-content: center;
}

.dm-ct .dm-flex > br,
.dm-ct p:empty {
	display: none;
}

.dm-ct .dm-flex > .dm-full,
.dm-ct .dm-flex > .dm-half,
.dm-ct .dm-flex > .dm-third,
.dm-ct .dm-flex > .dm-fourth {
	padding: 0;
	min-width: 0;
}

.dm-ct .dm-flex > .dm-full {
	flex: 1 1 100%;
	width: 100%;
}

.dm-ct .dm-flex > .dm-half {
	flex: 0 1 calc(50% - var(--ct-gap) / 2);
	width: calc(50% - var(--ct-gap) / 2);
}

.dm-ct .dm-flex > .dm-third {
	flex: 0 1 calc(33.333% - var(--ct-gap) * 2 / 3);
	width: calc(33.333% - var(--ct-gap) * 2 / 3);
}

.dm-ct .dm-flex > .dm-fourth {
	flex: 0 1 calc(25% - var(--ct-gap) * 3 / 4);
	width: calc(25% - var(--ct-gap) * 3 / 4);
}

.dm-ct h2,
.dm-ct h3 {
	font-family: var(--ct-font-heading);
	font-weight: var(--ct-heading-weight);
	font-style: var(--ct-heading-style);
	color: var(--ct-heading-color);
	line-height: 1.15;
	text-transform: var(--ct-heading-transform);
	letter-spacing: 0;
}

.dm-ct h2 {
	font-size: var(--ct-h2-size);
	margin: 0 0 18px;
}

.dm-ct h3 {
	font-size: var(--ct-h3-size);
	margin: 0 0 10px;
}

.dm-ct p,
.dm-ct li {
	font-size: var(--ct-text-size);
	line-height: var(--ct-line-height);
	color: var(--ct-muted);
}

.dm-ct p {
	margin: 0 0 16px;
}

.dm-ct p:last-child {
	margin-bottom: 0;
}

.dm-ct strong {
	color: var(--ct-ink);
}

.dm-ct a:not(.btn):not(.inline-dm-phone):not(.dm-ct-btn):not(.dm-ct-link) {
	color: var(--ct-link);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.dm-ct a:not(.btn):not(.inline-dm-phone):not(.dm-ct-btn):not(.dm-ct-link):hover {
	text-decoration-thickness: 2px;
}

.dm-ct .dm-ct-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 14px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--ct-eyebrow-color);
}

.dm-ct .dm-ct-eyebrow::before,
.dm-ct :is(.dm-ct-head-inner, .dm-ct-checks-inner, .dm-ct-statement-inner, .dm-ct-outlets-inner, .dm-ct-resources-inner, .dm-ct-logos-inner, .dm-ct-gallery-inner) > .dm-ct-eyebrow::after,
.dm-ct-intro--center .dm-ct-eyebrow::after {
	content: "";
	flex: 0 0 var(--ct-eyebrow-rule);
	height: 1px;
	background: currentColor;
}

.dm-ct .dm-ct-lede {
	font-family: var(--ct-lede-font);
	font-size: var(--ct-lede-size);
	line-height: 1.6;
	color: var(--ct-ink);
}

.dm-ct .dm-ct-pull {
	margin: 22px 0;
	padding: 2px 0 2px 20px;
	border-left: 3px solid var(--ct-primary);
	font-family: var(--ct-quote-font);
	font-size: calc(var(--ct-text-size) + 3px);
	font-style: italic;
	line-height: 1.5;
	color: var(--ct-ink);
}

.dm-ct .dm-ct-pull:last-child {
	margin-bottom: 0;
}

.dm-ct .dm-ct-label {
	margin: 20px 0 8px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--ct-ink);
}

.dm-ct .dm-ct-note {
	font-size: calc(var(--ct-text-size) - 2px);
	font-style: italic;
}

.dm-ct .dm-ct-sub {
	display: block;
	margin-top: 2px;
	font-size: 13px;
	font-style: italic;
	color: var(--ct-muted);
}

.dm-ct .dm-ct-lines {
	margin: 20px auto;
	font-family: var(--ct-quote-font);
	font-size: calc(var(--ct-text-size) + 3px);
	font-style: italic;
	line-height: 1.6;
	color: var(--ct-ink);
}

.dm-ct .dm-ct-ideal {
	margin-top: 16px;
	padding: 12px 16px;
	background: var(--ct-soft);
	border-left: 3px solid var(--ct-primary);
	font-size: calc(var(--ct-text-size) - 2px);
	line-height: 1.6;
}

.dm-ct .dm-ct-ideal strong {
	color: var(--ct-primary);
}

.dm-ct .dm-ct-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-top: 26px;
}

.dm-ct a.btn,
.dm-ct .dm-ct-actions a.inline-dm-phone,
.dm-ct a.dm-ct-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 0;
	padding: 14px 26px;
	border: 2px solid var(--ct-btn-bg);
	border-radius: var(--ct-btn-radius);
	background-image: none;
	box-shadow: none;
	font-size: var(--ct-btn-size);
	font-weight: var(--ct-btn-weight);
	letter-spacing: var(--ct-btn-tracking);
	line-height: 1.2;
	text-transform: var(--ct-btn-transform);
	text-decoration: none !important;
	transition: background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease;
}

.dm-ct a.btn,
.dm-ct a.dm-ct-btn {
	background: var(--ct-btn-bg) !important;
	color: var(--ct-btn-ink) !important;
}

.dm-ct a.btn:hover,
.dm-ct a.dm-ct-btn:hover {
	background: var(--ct-btn-hover-bg) !important;
	border-color: var(--ct-btn-hover-bg);
	color: var(--ct-btn-hover-ink) !important;
	transform: translateY(-2px);
}

.dm-ct .dm-ct-actions a.inline-dm-phone,
.dm-ct a.dm-ct-btn.dm-ct-btn--ghost {
	background: transparent !important;
	color: var(--ct-btn-bg) !important;
}

.dm-ct .dm-ct-actions a.inline-dm-phone:hover,
.dm-ct a.dm-ct-btn.dm-ct-btn--ghost:hover {
	background: var(--ct-btn-bg) !important;
	border-color: var(--ct-btn-bg);
	color: var(--ct-btn-ink) !important;
}

.dm-ct .dm-ct-media {
	position: relative;
	z-index: 1;
	margin: 0;
	overflow: hidden;
	border-radius: var(--ct-media-radius);
	box-shadow: var(--ct-shadow);
}

.dm-ct .dm-ct-media img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.dm-ct .dm-ct-media.dm-ct-media--4x3 img {
	aspect-ratio: 4 / 3;
}

.dm-ct .dm-ct-media.dm-ct-media--square img {
	aspect-ratio: 1 / 1;
}

.dm-ct .dm-ct-media.dm-ct-media--natural img {
	aspect-ratio: auto;
}
/* empty slot: <figure class="dm-ct-media dm-ct-placeholder" data-label="Image: ..."></figure> */
.dm-ct .dm-ct-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 3 / 2;
	padding: 30px;
	background: repeating-linear-gradient(135deg, transparent 0 14px, rgba(0, 0, 0, .04) 14px 15px), var(--ct-soft);
	outline: 1px dashed var(--ct-primary);
	outline-offset: -14px;
	box-shadow: none;
}

.dm-ct .dm-ct-placeholder::after {
	content: attr(data-label);
	max-width: 80%;
	font-size: 16px;
	font-style: italic;
	text-align: center;
	color: var(--ct-primary);
}

.dm-ct-intro-media,
.dm-ct-split-media {
	position: relative;
}

.dm-ct-intro-media::before,
.dm-ct-split-media::before {
	content: "";
	position: absolute;
	inset: 24px -18px -18px 24px;
	border-radius: var(--ct-media-radius);
	background: var(--ct-frame);
	opacity: var(--ct-frame-opacity);
	pointer-events: none;
}

.dm-ct-split--reverse .dm-ct-split-media::before {
	inset: 24px 24px -18px -18px;
}

.dm-ct-split--quote .dm-ct-split-media::before,
.dm-ct-split-media:has(.dm-ct-video)::before {
	display: none;
}

.dm-ct-intro .dm-flex {
	align-items: center;
}

.dm-ct-intro .dm-ct-intro-copy h2 {
	font-size: var(--ct-h2-intro-size);
	line-height: 1.08;
}

.dm-ct-intro--center .dm-ct-intro-copy {
	max-width: 880px;
	margin: 0 auto;
	text-align: center;
}

.dm-ct-intro--center .dm-ct-actions {
	justify-content: center;
}

.dm-service-section.dm-ct.dm-ct-head {
	padding-bottom: 0;
}

.dm-ct-head .dm-ct-head-inner {
	max-width: 800px;
	margin: 0 auto;
	text-align: center;
}

.dm-ct-head .dm-ct-head-inner h2 {
	margin-bottom: 10px;
}

.dm-ct .dm-flex > .dm-ct-head-inner:not(:only-child) {
	flex: 0 0 100%;
	width: 100%;
	max-width: none;
}

.dm-ct .dm-flex > .dm-ct-head-inner:not(:only-child) > * {
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}

.dm-ct .dm-ct-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: var(--ct-card-bg);
	border: var(--ct-card-border);
	border-radius: var(--ct-card-radius);
	box-shadow: var(--ct-shadow);
	transition: transform .35s var(--ct-ease), box-shadow .35s var(--ct-ease);
}

.dm-ct .dm-ct-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--ct-shadow-hover);
}

.dm-ct .dm-ct-card-media {
	margin: 0 0 22px;
	overflow: hidden;
	background: var(--ct-soft);
}

.dm-ct .dm-ct-card-media img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	transition: transform .8s var(--ct-ease);
}

.dm-ct .dm-ct-card:hover .dm-ct-card-media img {
	transform: scale(1.04);
}

.dm-ct .dm-ct-card-media.dm-ct-contain img {
	object-fit: contain;
	padding: 16px;
	background: #fff;
}

.dm-ct .dm-ct-card > h3,
.dm-ct .dm-ct-card > p {
	padding: 0 26px;
}

.dm-ct .dm-ct-card > p {
	font-size: calc(var(--ct-text-size) - 1px);
}

.dm-ct .dm-ct-card > p:last-child {
	padding-bottom: 26px;
}

.dm-ct .dm-ct-card > h3:last-child {
	padding-bottom: 24px;
	text-align: center;
}   /* title-only image card */
.dm-ct .dm-ct-card .dm-ct-card-link {
	margin-top: auto;
	padding-top: 6px;
}

.dm-ct .dm-ct-card-link a {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	text-decoration: none !important;
}

.dm-ct .dm-ct-card-link a::after {
	content: " \2192";
	display: inline-block;
	transition: transform .25s ease;
}

.dm-ct .dm-ct-card-link a:hover::after {
	transform: translateX(4px);
}
                                                   
.dm-ct-links .dm-flex {
	justify-content: flex-start;
}

.dm-ct .dm-ct-link-item > p {
	height: 100%;
	margin: 0;
}

.dm-ct a.dm-ct-link {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	height: 100%;
	padding: 20px;
	background: var(--ct-card-bg);
	border: var(--ct-card-border);
	border-radius: var(--ct-card-radius);
	color: var(--ct-ink);
	text-decoration: none !important;
	transition: transform .35s var(--ct-ease), box-shadow .35s var(--ct-ease), border-color .35s ease;
}

.dm-ct a.dm-ct-link:hover {
	transform: translateY(-4px);
	border-color: var(--ct-accent);
	box-shadow: var(--ct-shadow-hover);
}

.dm-ct a.dm-ct-link:focus-visible {
	outline: 2px solid var(--ct-primary);
	outline-offset: 3px;
}

.dm-ct .dm-ct-link-logo {
	flex: 0 0 68px;
	width: 68px;
	height: 68px;
	padding: 8px;
	overflow: hidden;
	border-radius: calc(var(--ct-radius) * .6);
	background: var(--ct-soft);
}

.dm-ct .dm-ct-link-logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.dm-ct .dm-ct-link-body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-width: 0;
	align-self: stretch;
}

.dm-ct .dm-ct-link-source {
	margin-bottom: 5px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ct-primary);
}

.dm-ct .dm-ct-link-title {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.45;
	color: var(--ct-ink);
}

.dm-ct .dm-ct-link-cta {
	margin-top: auto;
	padding-top: 12px;
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ct-muted);
}

.dm-ct .dm-ct-link-cta::after {
	content: " \2197";
	display: inline-block;
	transition: transform .25s ease;
}

.dm-ct a.dm-ct-link:hover .dm-ct-link-cta {
	color: var(--ct-ink);
}

.dm-ct a.dm-ct-link:hover .dm-ct-link-cta::after {
	transform: translate(2px, -2px);
}

.dm-ct-qa .dm-flex {
	gap: 20px;
}

.dm-ct .dm-ct-qa-item {
	position: relative;
	max-width: 1000px;
	margin: 0 auto;
	padding: 36px 40px 36px 46px !important;
	background: var(--ct-card-bg);
	border: var(--ct-card-border);
	border-radius: var(--ct-card-radius);
	box-shadow: var(--ct-shadow);
}

.dm-ct .dm-ct-qa-item::before {
	content: "";
	position: absolute;
	left: 0;
	top: 32px;
	width: 4px;
	height: 52px;
	border-radius: 0 4px 4px 0;
	background: var(--ct-primary);
}

.dm-ct .dm-ct-qa-item > h2 {
	font-size: calc(var(--ct-h2-size) * .82);
}

.dm-ct .dm-ct-qa-item > h3:not(:first-child) {
	margin: 26px 0 8px;
	font-size: calc(var(--ct-h3-size) - 2px);
}

.dm-ct ul.dm-ct-list {
	list-style: none;
	margin: 6px 0 18px;
	padding: 0;
}

.dm-ct ul.dm-ct-list:last-child {
	margin-bottom: 0;
}

.dm-ct ul.dm-ct-list li {
	position: relative;
	margin: 0 0 9px;
	padding-left: 32px;
	line-height: 1.55;
	list-style: none;
	break-inside: avoid;
}

.dm-ct ul.dm-ct-list li::before {
	content: "";
	position: absolute;
	left: 0;
	margin: 0;
	top: .2em;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--ct-accent);
}

.dm-ct ul.dm-ct-list li::after {
	content: "";
	position: absolute;
	left: 7px;
	top: calc(.2em + 4px);
	width: 5px;
	height: 9px;
	border: solid var(--ct-primary);
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

.dm-ct ul.dm-ct-list--cols {
	columns: 2;
	column-gap: 40px;
}

.dm-ct ul.dm-ct-list--center {
	display: inline-block;
	text-align: left;
}

.dm-ct .dm-ct-checks-inner {
	max-width: 960px;
	margin: 0 auto;
	text-align: center;
}

.dm-ct .dm-ct-checks-inner > p:not(.dm-ct-eyebrow) {
	max-width: 780px;
	margin-left: auto;
	margin-right: auto;
}

.dm-ct .dm-ct-checks-inner ul.dm-ct-list {
	margin: 26px 0;
	padding: 30px 36px 20px;
	background: var(--ct-card-bg);
	border-radius: var(--ct-card-radius);
	text-align: left;
}

.dm-ct .dm-ct-checks-inner ul.dm-ct-list:last-child {
	margin-bottom: 0;
}

.dm-ct-features {
	counter-reset: ctfeature;
}

.dm-ct .dm-ct-feature {
	padding: 30px 28px !important;
	background: var(--ct-card-bg);
	border: var(--ct-card-border);
	border-radius: var(--ct-card-radius);
	box-shadow: var(--ct-shadow);
}

.dm-ct .dm-ct-feature h3::before {
	counter-increment: ctfeature;
	content: counter(ctfeature, decimal-leading-zero);
	display: block;
	margin-bottom: 12px;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 1px;
	color: var(--ct-primary);
}

.dm-ct .dm-ct-feature p {
	font-size: calc(var(--ct-text-size) - 1px);
}

.dm-ct .dm-ct-info {
	position: relative;
	padding: 36px 34px 32px !important;
	background: var(--ct-card-bg);
	border: var(--ct-card-border);
	border-radius: var(--ct-card-radius);
}

.dm-ct .dm-ct-info::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 34px;
	width: 48px;
	height: 3px;
	background: var(--ct-primary);
}

.dm-ct .dm-ct-info .dm-ct-eyebrow {
	margin-bottom: 10px;
}

.dm-ct .dm-ct-info .dm-ct-eyebrow::before {
	display: none;
}

.dm-ct .dm-ct-info .dm-ct-card-link {
	margin-top: 16px;
}

.dm-ct-menu .dm-ct-info ul.dm-ct-list li {
	font-size: calc(var(--ct-text-size) - 2px);
	margin-bottom: 7px;
}

.dm-service-section.dm-ct.dm-ct-band > .dm-container {
	max-width: calc(var(--ct-max) + 80px);
	padding: 54px 50px;
	border-radius: var(--ct-band-radius);
	background: var(--ct-band-bg);
}

.dm-ct-band :is(.dm-ct-info, .dm-ct-feature, .dm-ct-qa-item, .dm-ct-card, a.dm-ct-link) {
	box-shadow: none;
}

.dm-ct-band .dm-ct-ideal,
.dm-ct-band .dm-ct-link-logo {
	background: var(--ct-surface);
}

.dm-service-section.dm-ct.dm-ct-band--dark > .dm-container {
	background: var(--ct-secondary);
	--ct-ink: #ffffff;
	--ct-heading-color: #ffffff;
	--ct-muted: rgba(255, 255, 255, .78);
	--ct-card-bg: rgba(255, 255, 255, .06);
	--ct-line: rgba(255, 255, 255, .16);
}

.dm-service-section.dm-ct.dm-ct-statement {
	padding: 50px 0;
}

.dm-ct .dm-ct-statement-inner {
	position: relative;
	max-width: 900px;
	margin: 0 auto;
	padding: 40px 20px !important;
               /* column reset (.dm-flex > .dm-full { padding: 0 }) must not win */
	text-align: center;
}

.dm-ct .dm-ct-statement-inner::before,
.dm-ct .dm-ct-statement-inner::after {
	content: "";
	position: absolute;
	left: 50%;
	width: 110px;
	height: 1px;
	background: var(--ct-primary);
	transform: translateX(-50%);
}

.dm-ct .dm-ct-statement-inner::before {
	top: 0;
}

.dm-ct .dm-ct-statement-inner::after {
	bottom: 0;
}

.dm-ct .dm-ct-statement-text {
	font-family: var(--ct-quote-font);
	font-size: clamp(22px, 2.3vw, 30px);
	font-style: italic;
	line-height: 1.45;
	color: var(--ct-ink);
}

.dm-ct ol.dm-ct-flow {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin: 26px 0;
	padding: 0;
	list-style: none;
	counter-reset: ctflow;
}

.dm-ct ol.dm-ct-flow li {
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0;
	font-family: var(--ct-font-heading);
	font-size: 26px;
	font-weight: var(--ct-heading-weight);
	line-height: 1.2;
	color: var(--ct-ink);
	list-style: none;
}

.dm-ct ol.dm-ct-flow li::before {
	counter-increment: ctflow;
	content: counter(ctflow, decimal-leading-zero);
	margin-right: 10px;
	font-size: 12px;
	letter-spacing: .12em;
	color: var(--ct-primary);
}

.dm-ct ol.dm-ct-flow li:not(:last-child)::after {
	content: "";
	width: 48px;
	height: 1px;
	margin: 0 18px;
	background: var(--ct-primary);
}

.dm-ct-split .dm-flex {
	align-items: center;
	gap: calc(var(--ct-gap) * 1.8);
}

.dm-ct-split .dm-flex > .dm-half {
	flex-basis: calc(50% - var(--ct-gap) * .9);
	width: calc(50% - var(--ct-gap) * .9);
}

.dm-ct-split--reverse .dm-ct-split-media {
	order: -1;
}

.dm-ct-split--quote .dm-ct-split-copy {
	align-self: center;
}

.dm-ct .dm-ct-quote,
.dm-ct .dm-ct-review {
	position: relative;
	padding: 36px 34px 30px !important;
	background: var(--ct-card-bg);
	border: var(--ct-card-border);
	border-radius: var(--ct-card-radius);
	box-shadow: var(--ct-shadow);
}

.dm-ct .dm-ct-quote::before,
.dm-ct .dm-ct-review::before {
	content: "\201C";
	position: absolute;
	top: 8px;
	right: 24px;
	font-family: Georgia, serif;
	font-size: 96px;
	line-height: 1;
	color: var(--ct-accent);
	pointer-events: none;
}

.dm-ct .dm-ct-quote-text {
	position: relative;
	font-family: var(--ct-quote-font);
	font-size: calc(var(--ct-text-size) + 1px);
	font-style: italic;
	color: var(--ct-ink);
}

.dm-ct .dm-ct-quote-name {
	margin-top: 16px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ct-primary);
}

.dm-ct .dm-ct-quote-name span {
	display: block;
	margin-top: 2px;
	font-weight: 400;
	letter-spacing: .02em;
	text-transform: none;
	color: var(--ct-muted);
}

.dm-ct-quotes .dm-flex > .dm-full {
	max-width: 900px;
}

.dm-ct .dm-ct-stars {
	margin: 0 0 12px;
	font-size: 16px;
	letter-spacing: 3px;
	line-height: 1;
	color: var(--ct-star);
}

.dm-ct .dm-ct-stars span {
	color: var(--ct-line);
}
/* review wall: masonry columns */
.dm-ct-reviews .dm-flex {
	display: block;
	columns: 3;
	column-gap: var(--ct-gap);
}

.dm-ct-reviews .dm-flex > .dm-ct-review {
	display: inline-block;
	width: 100%;
	margin: 0 0 var(--ct-gap);
	break-inside: avoid;
}

.dm-ct .dm-ct-video {
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: var(--ct-media-radius);
	background: #000;
	box-shadow: var(--ct-shadow);
}

.dm-ct .dm-ct-video iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.dm-ct .dm-ct-video-title {
	margin-top: 12px;
	font-size: 15px;
	font-weight: 600;
	text-align: center;
	color: var(--ct-ink);
}

.dm-ct-videos--single .dm-flex > .dm-full {
	max-width: 860px;
}

.dm-ct-podcast .dm-flex {
	align-items: center;
}

.dm-ct .dm-ct-podcast-player + .dm-ct-podcast-player {
	margin-top: 12px;
}

.dm-ct .dm-ct-podcast-player iframe {
	display: block;
	width: 100%;
	height: 200px;
	border: 0;
	border-radius: 12px;
}

.dm-ct-resources .dm-ct-resources-inner {
	text-align: center;
}

.dm-ct ul.dm-ct-downloads {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
}

.dm-ct ul.dm-ct-downloads li {
	margin: 0;
	list-style: none;
}

.dm-ct ul.dm-ct-downloads a {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 10px 20px 10px 10px;
	border: var(--ct-card-border);
	border-radius: var(--ct-chip-radius);
	background: var(--ct-surface);
	color: var(--ct-ink) !important;
	font-weight: 600;
	text-decoration: none !important;
	transition: border-color .25s ease, box-shadow .25s ease;
}

.dm-ct ul.dm-ct-downloads a::before {
	content: "PDF";
	padding: 6px 9px;
	border-radius: var(--ct-chip-radius);
	background: var(--ct-primary);
	color: var(--ct-on-primary);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1px;
}

.dm-ct ul.dm-ct-downloads a:hover {
	border-color: var(--ct-primary);
	box-shadow: var(--ct-shadow);
}

.dm-ct .dm-ct-panel {
	padding: 40px !important;
	background: var(--ct-soft);
	border-radius: var(--ct-card-radius);
	text-align: center;
}

.dm-ct .dm-ct-panel .dm-ct-actions,
.dm-ct .dm-ct-panel ul.dm-ct-downloads {
	justify-content: center;
}

.dm-ct ul.dm-ct-chips {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin: 22px 0 0;
	padding: 0;
	list-style: none;
}

.dm-ct ul.dm-ct-chips li {
	margin: 0;
	list-style: none;
}

.dm-ct ul.dm-ct-chips a {
	display: inline-block;
	padding: 10px 20px;
	border: 1px solid var(--ct-accent);
	border-radius: var(--ct-chip-radius);
	background: var(--ct-surface);
	color: var(--ct-ink) !important;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none !important;
	transition: background .25s ease, color .25s ease, border-color .25s ease;
}

.dm-ct ul.dm-ct-chips a:hover {
	background: var(--ct-primary);
	border-color: var(--ct-primary);
	color: var(--ct-on-primary) !important;
}

.dm-ct :is(ul.dm-ct-stats, ul.dm-ct-downloads, ul.dm-ct-chips, ul.dm-ct-logos-list, ul.dm-ct-gallery-list) > li::before {
	content: none;
}

.dm-ct ul.dm-ct-stats {
	display: flex;
	flex-wrap: wrap;
	margin: 28px 0 0;
	padding: 22px 0 0;
	list-style: none;
	border-top: 1px solid var(--ct-line);
}

.dm-ct ul.dm-ct-stats li {
	flex: 1 1 0;
	margin: 0;
	padding: 0 18px;
	border-left: 1px solid var(--ct-line);
	list-style: none;
}

.dm-ct ul.dm-ct-stats li:first-child {
	padding-left: 0;
	border-left: 0;
}

.dm-ct ul.dm-ct-stats strong {
	display: block;
	font-family: var(--ct-font-heading);
	font-size: 44px;
	font-weight: var(--ct-heading-weight);
	line-height: 1;
	color: var(--ct-ink);
}

.dm-ct ul.dm-ct-stats span {
	display: block;
	margin-top: 6px;
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ct-muted);
}

.dm-service-section.dm-ct.dm-ct-outlets {
	padding: 16px 0;
}

.dm-ct .dm-ct-outlets-inner {
	padding: 30px 20px !important;
	border-top: 1px solid var(--ct-line);
	border-bottom: 1px solid var(--ct-line);
	text-align: center;
}

.dm-ct ul.dm-ct-outlets-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 6px 0;
	margin: 4px 0 0;
	padding: 0;
	list-style: none;
}

.dm-ct ul.dm-ct-outlets-list li {
	display: inline-flex;
	align-items: center;
	margin: 0;
	font-family: var(--ct-font-heading);
	font-size: 22px;
	font-weight: var(--ct-heading-weight);
	color: var(--ct-ink);
	list-style: none;
}

.dm-ct ul.dm-ct-outlets-list li:not(:last-child)::after {
	content: "";
	width: 6px;
	height: 6px;
	margin: 0 18px;
	background: var(--ct-primary);
	transform: rotate(45deg);
}

.dm-ct .dm-ct-logos-inner {
	text-align: center;
}

.dm-ct ul.dm-ct-logos-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
	gap: 16px;
	margin: 34px 0 0;
	padding: 0;
	list-style: none;
}

.dm-ct ul.dm-ct-logos-list li {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 16 / 9;
	margin: 0;
	padding: 18px 24px;
	background: var(--ct-card-bg);
	border: var(--ct-card-border);
	border-radius: var(--ct-card-radius);
	list-style: none;
	transition: box-shadow .25s ease, transform .25s ease;
}

.dm-ct ul.dm-ct-logos-list li:hover {
	box-shadow: var(--ct-shadow);
	transform: translateY(-2px);
}
/* linked logo: <li><a href="..."><img></a></li> - the whole tile is the link */
.dm-ct ul.dm-ct-logos-list li > a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.dm-ct ul.dm-ct-logos-list img {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 72px;
	margin: 0;
	border: 0;
	box-shadow: none;
	object-fit: contain;
}

.dm-ct .dm-ct-logos-inner .dm-ct-note {
	max-width: 760px;
	margin: 22px auto 0;
	font-size: 13px;
}
/* marquee: list is printed twice (second copy aria-hidden) and slides left forever; pauses on hover */
.dm-ct-logos--marquee .dm-ct-logos-track {
	overflow: hidden;
	margin-top: 34px;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

.dm-ct-logos--marquee .dm-ct-logos-rail {
	display: flex;
	width: max-content;
	animation: dm-ct-marquee var(--ct-marquee-time, 60s) linear infinite;
}

.dm-ct-logos--marquee .dm-ct-logos-track:hover .dm-ct-logos-rail {
	animation-play-state: paused;
}

.dm-ct-logos--marquee ul.dm-ct-logos-list {
	display: flex;
	gap: 16px;
	margin: 0;
	padding-right: 16px;
}

.dm-ct-logos--marquee ul.dm-ct-logos-list li {
	flex: 0 0 220px;
}

@keyframes dm-ct-marquee {
	to {
		transform: translateX(-50%);
	}
}

@media (prefers-reduced-motion: reduce) {
	.dm-ct-logos--marquee .dm-ct-logos-rail {
		width: auto;
		animation: none;
	}

	.dm-ct-logos--marquee ul.dm-ct-logos-list {
		flex-wrap: wrap;
		justify-content: center;
		padding-right: 0;
	}

	.dm-ct-logos--marquee ul.dm-ct-logos-list[aria-hidden] {
		display: none;
	}
}

/* ---------------------------------------------------------------- photo gallery (office tour mosaic)
   [dm-full class="dm-ct-gallery-inner"] eyebrow, h2, sub, <ul class="dm-ct-gallery-list"><li><img ...></li>...</ul>
   First photo is the large tile (two rows tall). Built for 4-5 photos: 4 = the last one spans two columns,
   3 = big tile + two stacked, 6+ keeps filling three columns.                                               */
.dm-ct .dm-ct-gallery-inner {
	text-align: center;
}

.dm-ct .dm-ct-gallery-inner > p:not(.dm-ct-eyebrow) {
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
}

.dm-ct ul.dm-ct-gallery-list {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	grid-auto-rows: clamp(150px, 17vw, 230px);
	grid-auto-flow: dense;
	gap: 14px;
	margin: 34px 0 0;
	padding: 0;
	list-style: none;
}

.dm-ct ul.dm-ct-gallery-list:has(> li:nth-child(3):last-child) {
	grid-template-columns: 2fr 1fr;
}

.dm-ct ul.dm-ct-gallery-list li {
	position: relative;
	overflow: hidden;
	margin: 0;
	padding: 0;
	border-radius: var(--ct-card-radius);
	background: var(--ct-soft);
	list-style: none;
}

.dm-ct ul.dm-ct-gallery-list li:first-child {
	grid-row: span 2;
}

.dm-ct ul.dm-ct-gallery-list li:nth-child(4):last-child {
	grid-column: span 2;
}

.dm-service-section.dm-ct ul.dm-ct-gallery-list li img {
	width: 100%;
	height: 100% !important;
                      /* mts_schema: img { height: auto !important } */
	object-fit: cover;
	transition: transform .8s var(--ct-ease);
}

.dm-ct ul.dm-ct-gallery-list li:hover img {
	transform: scale(1.04);
}

/* mts_schema on tablets/phones: "article.article .post-content img" and "div#content_box .single_page img" force
   width/height auto and auto margins with !important (the second through an id). :not(#dm-ct-x) gives these kit
   images id-level weight so they keep filling their frames. */
.dm-ct :is(.dm-ct-media, .dm-ct-card-media) img:not(#dm-ct-x) {
	width: 100% !important;
	margin: 0 !important;
}

.dm-ct :is(ul.dm-ct-gallery-list li, .dm-ct-bio-photo) img:not(#dm-ct-x) {
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
}

.dm-ct ul.dm-ct-logos-list img:not(#dm-ct-x) {
	margin: 0 !important;
}

/* ---------------------------------------------------------------- bio */
.dm-ct-bio .dm-flex {
	align-items: flex-start;
}

.dm-ct-bio .dm-flex > .dm-third {
	flex: 0 0 320px;
	width: 320px;
}

.dm-ct-bio .dm-flex > .dm-half {
	flex: 1 1 0;
	width: auto;
}

.dm-ct .dm-ct-bio-card {
	position: sticky;
	top: 140px;
	padding: 36px 28px !important;
	background: var(--ct-card-bg);
	border: var(--ct-card-border);
	border-radius: var(--ct-card-radius);
	box-shadow: var(--ct-shadow);
	text-align: center;
}

.dm-ct .dm-ct-bio-photo {
	width: 170px;
	height: 170px;
	margin: 0 auto 20px;
	padding: 6px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--ct-primary), var(--ct-accent));
}

.dm-ct .dm-ct-bio-photo img {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
	border: 4px solid #fff !important;
}

.dm-ct .dm-ct-bio-name {
	margin: 0;
	font-family: var(--ct-font-heading);
	font-size: 22px;
	font-weight: var(--ct-heading-weight);
	color: var(--ct-ink);
}

.dm-ct .dm-ct-bio-role {
	margin: 4px 0 0;
	font-weight: 600;
	color: var(--ct-primary);
}

.dm-ct .dm-ct-bio-meta {
	margin: 2px 0 0;
	font-size: 15px;
}

.dm-ct .dm-ct-bio-badge {
	margin: 20px 0 0;
	padding-top: 20px;
	border-top: 1px solid var(--ct-line);
}

.dm-ct .dm-ct-bio-badge img {
	width: 100%;
	max-width: 240px;
	margin: 0 auto;
}

/* ---------------------------------------------------------------- pricing / membership tiers */
.dm-ct .dm-ct-tier {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 40px 32px 34px !important;
	background: var(--ct-card-bg);
	border: var(--ct-card-border);
	border-radius: var(--ct-card-radius);
	box-shadow: var(--ct-shadow);
}

.dm-ct .dm-ct-tier h3 {
	font-size: calc(var(--ct-h3-size) + 6px);
	margin-bottom: 14px;
}

.dm-ct .dm-ct-tier-price {
	display: flex;
	align-items: baseline;
	gap: 6px;
	margin: 0;
}

.dm-ct .dm-ct-tier-price strong {
	font-family: var(--ct-font-heading);
	font-size: 54px;
	font-weight: var(--ct-heading-weight);
	line-height: 1;
	color: var(--ct-ink);
}

.dm-ct .dm-ct-tier-price span {
	font-size: 13px;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.dm-ct .dm-ct-tier-value {
	margin: 8px 0 4px;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--ct-line);
	font-size: 14px;
	color: var(--ct-primary);
}

.dm-ct .dm-ct-tier ul.dm-ct-list {
	flex: 1 1 auto;
}

.dm-ct .dm-ct-tier-perk {
	margin-top: 20px;
	padding: 12px 16px;
	border-radius: calc(var(--ct-radius) * .5);
	background: var(--ct-soft);
	font-size: 15px;
	text-align: center;
}

.dm-ct .dm-ct-tier--featured {
	background: var(--ct-secondary);
	border-color: var(--ct-secondary);
	--ct-ink: #ffffff;
	--ct-heading-color: #ffffff;
	--ct-muted: rgba(255, 255, 255, .8);
	--ct-line: rgba(255, 255, 255, .2);
	--ct-soft: rgba(255, 255, 255, .08);
}

/* ---------------------------------------------------------------- CTA band */
.dm-service-section.dm-ct.dm-ct-cta {
	padding-bottom: 60px;
}

.dm-service-section.dm-ct.dm-ct-cta > .dm-container {
	position: relative;
	max-width: calc(var(--ct-max) + 80px);
	overflow: hidden;
	padding: 60px 40px;
	border-radius: var(--ct-band-radius);
	background: var(--ct-cta-bg);
	text-align: center;
}

.dm-service-section.dm-ct.dm-ct-cta > .dm-container::after {
	content: "";
	position: absolute;
	right: -80px;
	top: -80px;
	width: 280px;
	height: 280px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .1);
	pointer-events: none;
}

.dm-ct .dm-ct-cta-inner {
	position: relative;
	z-index: 1;
	max-width: 780px;
	margin: 0 auto;
	--ct-ink: var(--ct-cta-ink);
	--ct-heading-color: var(--ct-cta-ink);
	--ct-muted: var(--ct-cta-ink);
}

.dm-ct .dm-ct-cta-inner p {
	opacity: .9;
}

.dm-ct .dm-ct-cta-inner a:not(.btn):not(.inline-dm-phone) {
	color: var(--ct-cta-ink) !important;
}

.dm-ct .dm-ct-cta-inner .dm-ct-actions {
	justify-content: center;
}

.dm-ct .dm-ct-cta-inner a.btn {
	background: var(--ct-cta-btn-bg) !important;
	border-color: var(--ct-cta-btn-bg);
	color: var(--ct-cta-btn-ink) !important;
}

.dm-ct .dm-ct-cta-inner .dm-ct-actions a.inline-dm-phone {
	border-color: var(--ct-cta-ink);
	color: var(--ct-cta-ink) !important;
}

.dm-ct .dm-ct-cta-inner .dm-ct-actions a.inline-dm-phone:hover {
	background: var(--ct-cta-btn-bg) !important;
	color: var(--ct-cta-btn-ink) !important;
}

.dm-service-section.dm-ct.dm-ct-cta--buttons > .dm-container {
	padding: 40px;
}

.dm-ct-cta--buttons .dm-ct-cta-inner .dm-ct-actions {
	margin-top: 0;
}

/* ---------------------------------------------------------------- table */
.dm-ct .dm-ct-table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	margin: 0;
	border: 1px solid var(--ct-line);
	border-radius: var(--ct-card-radius, var(--ct-radius));
}

.dm-ct table.dm-ct-table {
	width: 100%;
	min-width: 560px;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	background: var(--ct-surface);
	font-size: calc(var(--ct-text-size) - 1px);
}

.dm-ct table.dm-ct-table th,
.dm-ct table.dm-ct-table td {
	padding: 14px 16px;
	border: 0;
	border-bottom: 1px solid var(--ct-line);
	text-align: left;
	vertical-align: top;
	line-height: 1.55;
}

.dm-ct table.dm-ct-table thead th {
	background: var(--ct-soft);
	color: var(--ct-heading-color, var(--ct-ink));
	font-family: var(--ct-font-heading);
	font-weight: 600;
	font-size: 13px;
	letter-spacing: .06em;
	text-transform: uppercase;
	white-space: nowrap;
}

.dm-ct table.dm-ct-table tbody tr:last-child th,
.dm-ct table.dm-ct-table tbody tr:last-child td {
	border-bottom: 0;
}

.dm-ct table.dm-ct-table tbody th:first-child,
.dm-ct table.dm-ct-table tbody td:first-child {
	font-weight: 600;
}

.dm-ct table.dm-ct-table tbody tr:nth-child(even) th,
.dm-ct table.dm-ct-table tbody tr:nth-child(even) td {
	background: color-mix(in srgb, var(--ct-soft) 45%, transparent);
}

.dm-ct .dm-ct-table-note {
	margin: 12px 0 0;
	color: var(--ct-muted);
	font-size: 14px;
}

/* ---------------------------------------------------------------- hero (photo band at the top of a page)
   [dm-section class="dm-ct dm-ct-hero dm-ct-hero--media"]
   <figure class="dm-ct-hero-media"><img ... loading="eager" fetchpriority="high" /></figure>
   [dm-full class="dm-ct-hero-inner"] eyebrow, h2, p.dm-ct-hero-lede, p.dm-ct-actions [/dm-full]
   Same classes as the mts_schema [dm-hero] shortcode (innerpagelayouts), so pages keep working on the new theme.
   No figure (no --media) = soft band. Focal point: style="--ct-hero-focus: 70% 30%" on the figure.          */
.dm-service-section.dm-ct.dm-ct-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: 0;
}

.dm-service-section.dm-ct.dm-ct-hero > .dm-container {
	position: static;
	padding-top: clamp(56px, 7vw, 112px);
	padding-bottom: clamp(56px, 7vw, 112px);
}

.dm-service-section.dm-ct.dm-ct-hero:not(.dm-ct-hero--media) {
	margin: var(--ct-section-pad) auto 0;
	max-width: calc(var(--ct-max) + 80px);
	border-radius: var(--ct-band-radius);
	background: radial-gradient(46% 70% at 100% 0%, color-mix(in srgb, var(--ct-primary) 18%, transparent), transparent 72%),
        var(--ct-soft);
}
/* boxed: photo hero inside the content width with rounded corners (good for 1000-1200px stock photos) */
.dm-service-section.dm-ct.dm-ct-hero--boxed {
	width: calc(100% - 2 * var(--ct-gutter));
	max-width: calc(var(--ct-max) + 80px);
	margin: var(--ct-section-pad) auto 0;
	border-radius: var(--ct-band-radius);
}

.dm-service-section.dm-ct.dm-ct-hero--boxed > .dm-container {
	padding-left: clamp(24px, 5vw, 64px);
	padding-right: clamp(24px, 5vw, 64px);
}

.dm-ct.dm-ct-hero .dm-flex {
	justify-content: flex-start;
	align-items: center;
}

.dm-ct.dm-ct-hero--media .dm-flex {
	min-height: var(--ct-hero-min, clamp(300px, 32vw, 470px));
}

.dm-ct.dm-ct-hero .dm-flex > .dm-ct-hero-inner {
	flex: 0 1 var(--ct-hero-copy, 640px);
	width: auto;
}

.dm-ct .dm-ct-hero-inner h2 {
	margin-bottom: 20px;
	font-size: var(--ct-hero-h2-size, clamp(38px, 4.4vw, 58px));
	line-height: 1.06;
	text-wrap: balance;
}

.dm-ct .dm-ct-hero-inner .dm-ct-hero-lede,
.dm-ct .dm-ct-hero-inner > h2 + p:not(.dm-ct-actions) {
	font-family: var(--ct-lede-font);
	font-size: var(--ct-lede-size);
	line-height: 1.6;
	color: var(--ct-ink);
}

.dm-ct .dm-ct-hero-inner .dm-ct-actions {
	margin-top: 30px;
}

.dm-ct .dm-ct-hero-media {
	position: absolute;
	inset: 0;
	z-index: -1;
	margin: 0;
}

.dm-ct .dm-ct-hero-media img:not(#dm-ct-x) {
	width: 100% !important;
	max-width: none;
	height: 100% !important;
                      /* mts_schema: img { height: auto !important } */
	margin: 0 !important;
	object-fit: cover;
	object-position: var(--ct-hero-focus, 70% 30%);
}

.dm-ct .dm-ct-hero-media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(70% 90% at 0% 100%, color-mix(in srgb, var(--ct-primary) 45%, transparent), transparent 70%),
        linear-gradient(90deg, color-mix(in srgb, var(--ct-ink) 92%, transparent) 0%, color-mix(in srgb, var(--ct-ink) 70%, transparent) 42%, color-mix(in srgb, var(--ct-ink) 8%, transparent) 84%);
}

.dm-ct.dm-ct-hero--media .dm-ct-hero-inner {
	--ct-ink: #ffffff;
	--ct-heading-color: #ffffff;
	--ct-muted: color-mix(in srgb, #ffffff 88%, transparent);
	--ct-eyebrow-color: color-mix(in srgb, #ffffff 84%, transparent);
	--ct-link: #ffffff;
}

.dm-ct.dm-ct-hero--media .dm-ct-hero-inner a.btn,
.dm-ct.dm-ct-hero--media .dm-ct-hero-inner a.dm-ct-btn {
	background: #ffffff !important;
	border-color: #ffffff;
	color: var(--ct-secondary) !important;
}

.dm-ct.dm-ct-hero--media .dm-ct-hero-inner a.btn:hover,
.dm-ct.dm-ct-hero--media .dm-ct-hero-inner a.dm-ct-btn:hover {
	background: var(--ct-primary) !important;
	border-color: var(--ct-primary);
	color: #ffffff !important;
}

.dm-ct.dm-ct-hero--media .dm-ct-hero-inner .dm-ct-actions a.inline-dm-phone,
.dm-ct.dm-ct-hero--media .dm-ct-hero-inner a.dm-ct-btn--ghost {
	background: transparent !important;
	border-color: #ffffff;
	color: #ffffff !important;
}

.dm-ct.dm-ct-hero--media .dm-ct-hero-inner .dm-ct-actions a.inline-dm-phone:hover,
.dm-ct.dm-ct-hero--media .dm-ct-hero-inner a.dm-ct-btn--ghost:hover {
	background: #ffffff !important;
	color: var(--ct-secondary) !important;
}
/* split: copy on a brand band (left), photo fills the right half; overlay only blends the seam.
   Faces in portrait stock photos stay clear of the copy. Phones fall back to the overlay hero. */
@media screen and (min-width: 768px) {
	.dm-service-section.dm-ct.dm-ct-hero--split {
		background: var(--ct-hero-band, var(--ct-secondary));
	}

	.dm-ct.dm-ct-hero--split .dm-ct-hero-media {
		left: 50%;
	}

	.dm-ct.dm-ct-hero--split .dm-ct-hero-media::after {
		background: linear-gradient(90deg, var(--ct-hero-band, var(--ct-secondary)) 0%, color-mix(in srgb, var(--ct-hero-band, var(--ct-secondary)) 0%, transparent) 26%);
	}

	.dm-ct.dm-ct-hero--split .dm-flex > .dm-ct-hero-inner {
		flex: 0 0 50%;
		max-width: 50%;
		padding-right: clamp(24px, 4vw, 64px);
	}
}

@media (prefers-reduced-motion: no-preference) {
	.dm-ct .dm-ct-hero-media img {
		animation: dm-ct-hero-zoom 1.8s var(--ct-ease) both;
	}
}

@keyframes dm-ct-hero-zoom {
	from {
		transform: scale(1.08);
	}
}

/* ---------------------------------------------------------------- FAQ accordion (native <details>, no JS)
   [dm-full class="dm-ct-faq-head"] eyebrow, h2, intro [/dm-full]   (optional: no head = one centered column)
   [dm-full class="dm-ct-faq-list"]
   <details class="dm-ct-faq-item"><summary><h3>Question</h3></summary><div class="dm-ct-faq-answer"><p>..</p></div></details>
   [/dm-full]          Same classes as the mts_schema [dm-faq] shortcode. dm-ct-faq--stacked: head on top, centered. */
.dm-ct.dm-ct-faq .dm-flex {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 8fr);
	gap: clamp(28px, 5vw, 72px);
	align-items: start;
}

.dm-ct.dm-ct-faq .dm-flex:not(:has(> .dm-ct-faq-head)),
.dm-ct.dm-ct-faq--stacked .dm-flex {
	grid-template-columns: minmax(0, 880px);
	justify-content: center;
	row-gap: clamp(24px, 3vw, 40px);
}

.dm-ct.dm-ct-faq .dm-flex > :is(.dm-ct-faq-head, .dm-ct-faq-list) {
	width: auto;
}

.dm-ct .dm-ct-faq-head {
	position: sticky;
	top: 140px;
}

.dm-ct.dm-ct-faq--stacked .dm-ct-faq-head {
	position: static;
	text-align: center;
}

.dm-ct.dm-ct-faq--stacked .dm-ct-faq-head .dm-ct-eyebrow::after {
	content: "";
	flex: 0 0 var(--ct-eyebrow-rule);
	height: 1px;
	background: currentColor;
}

.dm-ct .dm-ct-faq-head h2 {
	text-wrap: balance;
}

.dm-ct .dm-ct-faq-item {
	margin: 0;
	background: var(--ct-card-bg);
	border: var(--ct-card-border);
	border-radius: var(--ct-card-radius);
	transition: border-color .3s ease, box-shadow .3s ease;
}

.dm-ct .dm-ct-faq-item + .dm-ct-faq-item {
	margin-top: 12px;
}

.dm-ct .dm-ct-faq-item:hover,
.dm-ct .dm-ct-faq-item[open] {
	border-color: color-mix(in srgb, var(--ct-primary) 45%, transparent);
}

.dm-ct .dm-ct-faq-item[open] {
	box-shadow: var(--ct-shadow);
}

.dm-ct .dm-ct-faq-item > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 22px 26px;
	border-radius: var(--ct-card-radius);
	cursor: pointer;
	list-style: none;
}

.dm-ct .dm-ct-faq-item > summary::-webkit-details-marker {
	display: none;
}

.dm-ct .dm-ct-faq-item > summary:focus-visible {
	outline: 2px solid var(--ct-primary);
	outline-offset: 2px;
}

.dm-service-section.dm-ct .dm-ct-faq-item > summary :is(h3, h4) {
	margin: 0;
	padding: 0 !important;
                        /* child themes pad .dm-service-section h3 */
	font-size: var(--ct-faq-q-size, 19px);
	line-height: 1.35;
	letter-spacing: 0;
	text-transform: none;
}

.dm-ct .dm-ct-faq-item > summary::after {
	content: "";
	flex: 0 0 36px;
	height: 36px;
	border-radius: 50%;
	background: linear-gradient(currentColor, currentColor) center / 14px 2px no-repeat,
        linear-gradient(currentColor, currentColor) center / 2px 14px no-repeat;
	background-color: var(--ct-soft);
	color: var(--ct-primary);
	transition: transform .4s var(--ct-ease), background-color .3s ease, color .3s ease;
}

.dm-ct .dm-ct-faq-item[open] > summary::after {
	background-color: var(--ct-primary);
	color: #ffffff;
	transform: rotate(135deg);
}

.dm-ct .dm-ct-faq-answer {
	max-width: 70ch;
	padding: 0 26px 24px;
}

.dm-ct .dm-ct-faq-answer ul {
	margin: 0 0 16px 20px;
}

@supports (interpolate-size: allow-keywords) {
	.dm-ct .dm-ct-faq-item {
		interpolate-size: allow-keywords;
	}

	.dm-ct .dm-ct-faq-item::details-content {
		height: 0;
		overflow: clip;
		transition: height .4s var(--ct-ease), content-visibility .4s allow-discrete;
	}

	.dm-ct .dm-ct-faq-item[open]::details-content {
		height: auto;
	}
}

/* ---------------------------------------------------------------- before & after slider (CSS only: radios + :has)
   [dm-full class="dm-ct-ba-head"] eyebrow, h2, sub [/dm-full]
   [dm-full class="dm-ct-ba-inner"]
   <div class="dm-ct-ba-slider [dm-ct-ba--tags]">
     <input class="dm-ct-ba-radio" type="radio" name="ba-x" id="ba-x-1" checked> ... one per slide (max 10)
     <div class="dm-ct-ba-viewport"><ul class="dm-ct-ba-track"><li class="dm-ct-ba-slide"><figure>img [tags]</figure>
       <p class="dm-ct-ba-caption">..</p></li>...</ul></div>
     <div class="dm-ct-ba-nav"><span class="dm-ct-ba-arrows"><label prev><label next></span> x slides,
       then <span class="dm-ct-ba-dots"><label for="ba-x-1"></label>...</span></div>
   </div>
   p.dm-ct-ba-note (disclaimer)  [/dm-full]
   Slides are composite before|after photos. dm-ct-ba--tags prints Before / After on the two halves (photos without
   their own labels). Keyboard: the radios take focus, arrow keys step through slides. blocks.py: ba_slider().   */
.dm-ct .dm-ct-ba-head {
	max-width: 800px;
	margin: 0 auto;
	text-align: center;
}

.dm-ct .dm-ct-ba-head .dm-ct-eyebrow::after {
	content: "";
	flex: 0 0 var(--ct-eyebrow-rule);
	height: 1px;
	background: currentColor;
}

.dm-ct .dm-ct-ba-slider {
	--ct-ba-i: 0;
	position: relative;
	max-width: var(--ct-ba-max, 980px);
	margin: 0 auto;
}

.dm-ct .dm-ct-ba-radio {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: 0;
	opacity: 0;
	pointer-events: none;
}

.dm-ct .dm-ct-ba-viewport {
	overflow: hidden;
	border-radius: var(--ct-card-radius);
	background: var(--ct-card-bg);
	border: var(--ct-card-border);
	box-shadow: var(--ct-shadow);
}

.dm-ct ul.dm-ct-ba-track {
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
	transform: translateX(calc(var(--ct-ba-i) * -100%));
	transition: transform .6s var(--ct-ease);
}

.dm-ct ul.dm-ct-ba-track > li {
	display: flex;
	flex: 0 0 100%;
	flex-direction: column;
	min-width: 0;
	margin: 0;
	padding: clamp(14px, 2.4vw, 26px);
	list-style: none;
}

.dm-ct ul.dm-ct-ba-track > li::before {
	content: none;
	display: none;
}

.dm-ct .dm-ct-ba-slide figure {
	position: relative;
	display: flex;
	flex: 1 1 auto;
	align-items: center;
	justify-content: center;
	margin: 0;
}

.dm-ct .dm-ct-ba-slide img:not(#dm-ct-x) {
	width: 100% !important;
	max-height: var(--ct-ba-img-max, 520px);
	margin: 0 !important;
	object-fit: contain;
	border-radius: calc(var(--ct-radius) * .5);
}

.dm-ct .dm-ct-ba-tag {
	position: absolute;
	top: 12px;
	left: 12px;
	padding: 5px 12px;
	border-radius: var(--ct-chip-radius);
	background: color-mix(in srgb, var(--ct-ink) 78%, transparent);
	color: #ffffff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	line-height: 1.3;
	text-transform: uppercase;
}

.dm-ct .dm-ct-ba-tag + .dm-ct-ba-tag {
	left: calc(50% + 12px);
	background: var(--ct-primary);
}

.dm-ct .dm-ct-ba-caption {
	margin: 14px 0 0;
	font-size: 14px;
	line-height: 1.5;
	text-align: center;
	color: var(--ct-muted);
}

.dm-ct .dm-ct-ba-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	margin-top: 18px;
}

.dm-ct .dm-ct-ba-arrows {
	display: none;
}

.dm-ct .dm-ct-ba-prev {
	order: 0;
}

.dm-ct .dm-ct-ba-dots {
	order: 1;
}

.dm-ct .dm-ct-ba-next {
	order: 2;
}

.dm-ct :is(.dm-ct-ba-prev, .dm-ct-ba-next) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	margin: 0;
	border: 2px solid var(--ct-btn-bg);
	border-radius: 50%;
	color: var(--ct-btn-bg);
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
	user-select: none;
	transition: background .25s ease, color .25s ease;
}

.dm-ct :is(.dm-ct-ba-prev, .dm-ct-ba-next):hover {
	background: var(--ct-btn-bg);
	color: var(--ct-btn-ink);
}

.dm-ct .dm-ct-ba-dots {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}

.dm-ct .dm-ct-ba-dots > label {
	display: block;
	width: 10px;
	height: 10px;
	margin: 0;
	border-radius: 50%;
	background: color-mix(in srgb, var(--ct-ink) 22%, transparent);
	cursor: pointer;
	transition: background .25s ease, transform .25s ease;
}

.dm-ct .dm-ct-ba-slider:has(> .dm-ct-ba-radio:focus-visible) .dm-ct-ba-dots {
	outline: 2px solid var(--ct-primary);
	outline-offset: 6px;
	border-radius: 12px;
}

.dm-ct .dm-ct-ba-slider--single .dm-ct-ba-nav {
	display: none;
}

.dm-ct .dm-ct-ba-note {
	max-width: 760px;
	margin: 18px auto 0;
	font-size: 13px;
	font-style: italic;
	text-align: center;
	color: var(--ct-muted);
}
/* slide index: radio k checked -> track at -(k-1) * 100%, arrow pair k shown, dot k active */
.dm-ct .dm-ct-ba-slider:has(> .dm-ct-ba-radio:nth-of-type(1):checked) {
	--ct-ba-i: 0;
}

.dm-ct .dm-ct-ba-slider:has(> .dm-ct-ba-radio:nth-of-type(1):checked) .dm-ct-ba-nav > .dm-ct-ba-arrows:nth-child(1) {
	display: contents;
}

.dm-ct .dm-ct-ba-slider:has(> .dm-ct-ba-radio:nth-of-type(1):checked) .dm-ct-ba-dots > label:nth-child(1) {
	background: var(--ct-primary);
	transform: scale(1.25);
}

.dm-ct .dm-ct-ba-slider:has(> .dm-ct-ba-radio:nth-of-type(2):checked) {
	--ct-ba-i: 1;
}

.dm-ct .dm-ct-ba-slider:has(> .dm-ct-ba-radio:nth-of-type(2):checked) .dm-ct-ba-nav > .dm-ct-ba-arrows:nth-child(2) {
	display: contents;
}

.dm-ct .dm-ct-ba-slider:has(> .dm-ct-ba-radio:nth-of-type(2):checked) .dm-ct-ba-dots > label:nth-child(2) {
	background: var(--ct-primary);
	transform: scale(1.25);
}

.dm-ct .dm-ct-ba-slider:has(> .dm-ct-ba-radio:nth-of-type(3):checked) {
	--ct-ba-i: 2;
}

.dm-ct .dm-ct-ba-slider:has(> .dm-ct-ba-radio:nth-of-type(3):checked) .dm-ct-ba-nav > .dm-ct-ba-arrows:nth-child(3) {
	display: contents;
}

.dm-ct .dm-ct-ba-slider:has(> .dm-ct-ba-radio:nth-of-type(3):checked) .dm-ct-ba-dots > label:nth-child(3) {
	background: var(--ct-primary);
	transform: scale(1.25);
}

.dm-ct .dm-ct-ba-slider:has(> .dm-ct-ba-radio:nth-of-type(4):checked) {
	--ct-ba-i: 3;
}

.dm-ct .dm-ct-ba-slider:has(> .dm-ct-ba-radio:nth-of-type(4):checked) .dm-ct-ba-nav > .dm-ct-ba-arrows:nth-child(4) {
	display: contents;
}

.dm-ct .dm-ct-ba-slider:has(> .dm-ct-ba-radio:nth-of-type(4):checked) .dm-ct-ba-dots > label:nth-child(4) {
	background: var(--ct-primary);
	transform: scale(1.25);
}

.dm-ct .dm-ct-ba-slider:has(> .dm-ct-ba-radio:nth-of-type(5):checked) {
	--ct-ba-i: 4;
}

.dm-ct .dm-ct-ba-slider:has(> .dm-ct-ba-radio:nth-of-type(5):checked) .dm-ct-ba-nav > .dm-ct-ba-arrows:nth-child(5) {
	display: contents;
}

.dm-ct .dm-ct-ba-slider:has(> .dm-ct-ba-radio:nth-of-type(5):checked) .dm-ct-ba-dots > label:nth-child(5) {
	background: var(--ct-primary);
	transform: scale(1.25);
}

.dm-ct .dm-ct-ba-slider:has(> .dm-ct-ba-radio:nth-of-type(6):checked) {
	--ct-ba-i: 5;
}

.dm-ct .dm-ct-ba-slider:has(> .dm-ct-ba-radio:nth-of-type(6):checked) .dm-ct-ba-nav > .dm-ct-ba-arrows:nth-child(6) {
	display: contents;
}

.dm-ct .dm-ct-ba-slider:has(> .dm-ct-ba-radio:nth-of-type(6):checked) .dm-ct-ba-dots > label:nth-child(6) {
	background: var(--ct-primary);
	transform: scale(1.25);
}

.dm-ct .dm-ct-ba-slider:has(> .dm-ct-ba-radio:nth-of-type(7):checked) {
	--ct-ba-i: 6;
}

.dm-ct .dm-ct-ba-slider:has(> .dm-ct-ba-radio:nth-of-type(7):checked) .dm-ct-ba-nav > .dm-ct-ba-arrows:nth-child(7) {
	display: contents;
}

.dm-ct .dm-ct-ba-slider:has(> .dm-ct-ba-radio:nth-of-type(7):checked) .dm-ct-ba-dots > label:nth-child(7) {
	background: var(--ct-primary);
	transform: scale(1.25);
}

.dm-ct .dm-ct-ba-slider:has(> .dm-ct-ba-radio:nth-of-type(8):checked) {
	--ct-ba-i: 7;
}

.dm-ct .dm-ct-ba-slider:has(> .dm-ct-ba-radio:nth-of-type(8):checked) .dm-ct-ba-nav > .dm-ct-ba-arrows:nth-child(8) {
	display: contents;
}

.dm-ct .dm-ct-ba-slider:has(> .dm-ct-ba-radio:nth-of-type(8):checked) .dm-ct-ba-dots > label:nth-child(8) {
	background: var(--ct-primary);
	transform: scale(1.25);
}

.dm-ct .dm-ct-ba-slider:has(> .dm-ct-ba-radio:nth-of-type(9):checked) {
	--ct-ba-i: 8;
}

.dm-ct .dm-ct-ba-slider:has(> .dm-ct-ba-radio:nth-of-type(9):checked) .dm-ct-ba-nav > .dm-ct-ba-arrows:nth-child(9) {
	display: contents;
}

.dm-ct .dm-ct-ba-slider:has(> .dm-ct-ba-radio:nth-of-type(9):checked) .dm-ct-ba-dots > label:nth-child(9) {
	background: var(--ct-primary);
	transform: scale(1.25);
}

.dm-ct .dm-ct-ba-slider:has(> .dm-ct-ba-radio:nth-of-type(10):checked) {
	--ct-ba-i: 9;
}

.dm-ct .dm-ct-ba-slider:has(> .dm-ct-ba-radio:nth-of-type(10):checked) .dm-ct-ba-nav > .dm-ct-ba-arrows:nth-child(10) {
	display: contents;
}

.dm-ct .dm-ct-ba-slider:has(> .dm-ct-ba-radio:nth-of-type(10):checked) .dm-ct-ba-dots > label:nth-child(10) {
	background: var(--ct-primary);
	transform: scale(1.25);
}

/* ---------------------------------------------------------------- responsive */
@media screen and (max-width: 1100px) {
	.dm-ct .dm-flex > .dm-fourth {
		flex: 0 1 calc(50% - var(--ct-gap) / 2);
		width: calc(50% - var(--ct-gap) / 2);
	}
}

@media screen and (max-width: 991px) {
	.dm-ct .dm-flex > .dm-third {
		flex: 0 1 calc(50% - var(--ct-gap) / 2);
		width: calc(50% - var(--ct-gap) / 2);
	}

	.dm-ct-intro .dm-flex > .dm-half,
    .dm-ct-split .dm-flex > .dm-half {
		flex: 1 1 100%;
		width: 100%;
	}

	.dm-ct-intro .dm-ct-intro-media,
    .dm-ct-split .dm-ct-split-media {
		max-width: 680px;
		margin: 0 auto;
		order: -1;
	}

	.dm-ct-bio .dm-flex > .dm-third {
		flex: 1 1 100%;
		width: 100%;
	}

	.dm-ct-bio .dm-flex > .dm-half {
		flex: 1 1 100%;
	}

	.dm-ct .dm-ct-bio-card {
		position: static;
		max-width: 420px;
		margin: 0 auto;
	}

	.dm-ct-tiers .dm-flex > .dm-third {
		flex: 1 1 100%;
		width: 100%;
		max-width: 560px;
	}

	.dm-ct-reviews .dm-flex {
		columns: 2;
	}

	.dm-service-section.dm-ct.dm-ct-band > .dm-container {
		padding: 44px 30px;
	}

	.dm-ct.dm-ct-faq .dm-flex {
		grid-template-columns: minmax(0, 1fr);
	}

	.dm-ct .dm-ct-faq-head {
		position: static;
	}
}

@media screen and (max-width: 767px) {
	:where(:root) {
		--ct-gap: 18px;
		--ct-section-pad: 28px;
		--ct-text-size: 16px;
		--ct-lede-size: 17px;
		--ct-gutter: 16px;
	}

	.dm-ct .dm-flex > .dm-half,
    .dm-ct .dm-flex > .dm-third,
    .dm-ct .dm-flex > .dm-fourth {
		flex: 1 1 100%;
		width: 100%;
	}

	.dm-ct-intro-media::before,
    .dm-ct-split-media::before {
		display: none;
	}

	.dm-ct .dm-ct-qa-item {
		padding: 28px 22px 28px 28px !important;
	}

	.dm-ct .dm-ct-info {
		padding: 30px 22px 26px !important;
	}

	.dm-ct .dm-ct-info::before {
		left: 22px;
	}

	.dm-ct ul.dm-ct-list--cols {
		columns: 1;
	}

	.dm-ct .dm-ct-checks-inner ul.dm-ct-list {
		padding: 24px 18px 14px;
	}

	.dm-service-section.dm-ct.dm-ct-band > .dm-container {
		padding: 34px 18px;
	}

	.dm-service-section.dm-ct.dm-ct-cta > .dm-container {
		padding: 44px 20px;
	}

	.dm-ct .dm-ct-panel {
		padding: 28px 20px !important;
	}

	.dm-ct-reviews .dm-flex {
		columns: 1;
	}

	.dm-ct ol.dm-ct-flow {
		flex-direction: column;
		gap: 12px;
	}

	.dm-ct ol.dm-ct-flow li:not(:last-child)::after {
		display: none;
	}

	.dm-ct ul.dm-ct-stats strong {
		font-size: 36px;
	}

	.dm-ct ul.dm-ct-stats li {
		padding: 0 12px;
	}

	.dm-ct ul.dm-ct-outlets-list li {
		font-size: 19px;
	}

	.dm-ct ul.dm-ct-outlets-list li:not(:last-child)::after {
		margin: 0 12px;
	}

	.dm-ct ul.dm-ct-logos-list {
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
	}

	.dm-ct ul.dm-ct-logos-list li {
		padding: 12px 14px;
	}

	.dm-ct ul.dm-ct-logos-list img {
		max-height: 52px;
	}

	.dm-ct ul.dm-ct-gallery-list,
    .dm-ct ul.dm-ct-gallery-list:has(> li:nth-child(3):last-child) {
		grid-template-columns: 1fr 1fr;
		grid-auto-rows: 140px;
		gap: 10px;
	}

	.dm-ct ul.dm-ct-gallery-list li:first-child {
		grid-column: span 2;
	}

	.dm-ct-logos--marquee ul.dm-ct-logos-list li {
		flex-basis: 170px;
	}

	.dm-ct a.dm-ct-link {
		padding: 16px;
		gap: 14px;
	}

	.dm-ct .dm-ct-link-logo {
		flex-basis: 58px;
		width: 58px;
		height: 58px;
	}

	.dm-ct .dm-ct-actions a.btn,
    .dm-ct .dm-ct-actions a.inline-dm-phone,
    .dm-ct .dm-ct-actions a.dm-ct-btn {
		flex: 1 1 100%;
	}

	.dm-ct.dm-ct-hero--media .dm-flex {
		min-height: 0;
	}

	.dm-ct .dm-ct-hero-media::after {
		background: linear-gradient(180deg, color-mix(in srgb, var(--ct-ink) 62%, transparent), color-mix(in srgb, var(--ct-ink) 90%, transparent));
	}

	.dm-ct .dm-ct-faq-item > summary {
		padding: 18px;
	}

	.dm-ct .dm-ct-faq-answer {
		padding: 0 18px 20px;
	}

	.dm-ct .dm-ct-ba-tag {
		top: 8px;
		left: 8px;
		padding: 3px 8px;
		font-size: 9px;
	}

	.dm-ct .dm-ct-ba-tag + .dm-ct-ba-tag {
		left: calc(50% + 8px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.dm-ct *,
    .dm-ct *::before,
    .dm-ct *::after {
		transition: none !important;
	}
}

:root {
	--ct-font-heading: 'Fraunces', Georgia, serif;
	--ct-heading-weight: 500;
	--ct-quote-font: 'Fraunces', Georgia, serif;
	--ct-h2-size: clamp(32px, 3.4vw, 46px);
	--ct-h2-intro-size: clamp(36px, 4vw, 54px);
	--ct-h3-size: 22px;
	--ct-radius: 20px;
	--ct-card-radius: 20px;
	--ct-media-radius: 24px;
	--ct-band-radius: 28px;
	--ct-btn-radius: 999px;
	--ct-chip-radius: 999px;
	--ct-btn-transform: none;
	--ct-btn-tracking: .01em;
	--ct-btn-size: 14px;
	--ct-btn-weight: 500;
}

body.mds-body .dm-ct h2 {
	font-size: var(--ct-h2-size);
	line-height: 1.12;
	letter-spacing: -.015em;
}

body.mds-body .dm-ct h3 {
	font-size: var(--ct-h3-size);
	line-height: 1.25;
	letter-spacing: 0;
}

body.mds-body .dm-ct.dm-ct-intro .dm-ct-intro-copy h2 {
	font-size: var(--ct-h2-intro-size);
}

body.mds-body .dm-ct .dm-ct-hero-inner h2 {
	font-size: clamp(36px, 4vw, 54px);
	line-height: 1.06;
}

body.mds-body .dm-ct .dm-ct-statement-text {
	letter-spacing: -.01em;
}

body.mds-body img {
    border-radius: 10px;
}


/* ==========================================================================
   Homepage "Our Services" rail (ported from the Dr. Falcone homepage, gilded-child).
   Append to marli-child/style.css. Colors come from the theme's --pColor / --sColor / --aColor.
   ========================================================================== */
.svc {
    --svc-ink: color-mix(in srgb, var(--sColor) 45%, #000);
    --svc-band: linear-gradient(180deg, color-mix(in srgb, var(--sColor) 82%, #000), color-mix(in srgb, var(--sColor) 62%, #000));
    --svc-accent: var(--aColor);
    --svc-accent-soft: color-mix(in srgb, var(--aColor) 60%, #fff);
    --svc-display: 'Fraunces', Georgia, 'Times New Roman', serif;
    --svc-util: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --svc-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
    position: relative;
    isolation: isolate;
    padding: clamp(40px, 5vw, 64px) 0 clamp(36px, 5vw, 64px) clamp(16px, 4vw, 56px);
    font-family: var(--svc-util);
    color: #fff;
    -webkit-font-smoothing: antialiased;
}
.svc::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1;
    width: 100%;
    height: 60%;
    background: var(--svc-band);
}
.svc * { box-sizing: border-box; }

.svc__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    max-width: 1280px;
}
body.mds-body .svc .svc__eyebrow {
    margin: 0 0 12px;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: var(--svc-accent);
}
body.mds-body .svc .svc__title {
    margin: 0;
    padding: 0 !important;
    font-family: var(--svc-display);
    font-style: italic;
    font-weight: 400;
    font-size: clamp(36px, 5vw, 60px);
    line-height: 1;
    letter-spacing: 0;
    color: var(--sColor);
}
body.mds-body .svc .svc__hint {
    margin: 8px 0 0;
    font-size: 13px;
    letter-spacing: 0.02em;
    color: color-mix(in srgb, var(--sColor) 75%, #000);
}

.svc__nav {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding-right: clamp(16px, 4vw, 56px);
}
.svc__arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border: 1px solid color-mix(in srgb, #fff 45%, transparent);
    border-radius: 50%;
    background: transparent;
    color: #fff;
    font-size: 17px;
    line-height: 1;
    cursor: pointer;
    transition: background .25s var(--svc-ease), border-color .25s var(--svc-ease), color .25s var(--svc-ease),
        opacity .25s var(--svc-ease), transform .25s var(--svc-ease);
}
.svc__arrow:hover:not(:disabled) {
    background: var(--svc-accent);
    border-color: var(--svc-accent);
    color: var(--svc-ink);
}
.svc__arrow:active:not(:disabled) { transform: scale(0.94); }
.svc__arrow:focus-visible { outline: 2px solid var(--svc-accent-soft); outline-offset: 3px; }
.svc__arrow:disabled { opacity: 0.28; cursor: default; }

.svc__rail {
    display: flex;
    gap: 14px;
    margin: 0 auto;
    padding: 42px 2px 24px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.svc__rail::-webkit-scrollbar { display: none; }

.svc .card {
    position: relative;
    flex: 0 0 400px;
    width: 400px;
    height: 560px;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 3px;
    background: var(--svc-ink);
    box-shadow: 0 18px 40px -22px color-mix(in srgb, #000 70%, transparent);
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
    scroll-snap-align: start;
    transform: translateY(var(--stagger, 0px));
    will-change: transform;
    transition: flex-basis .55s var(--svc-ease), width .55s var(--svc-ease);
}
.svc .card:nth-child(even) { --stagger: -20px; }
.svc .card:focus-visible { outline: 2px solid var(--svc-accent); outline-offset: 3px; }
.svc .card__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    filter: grayscale(1) contrast(1.04);
    transition: transform .8s var(--svc-ease), filter .6s var(--svc-ease);
}
.svc .card:hover .card__bg { transform: scale(1.05); }
.svc .card.is-open .card__bg { filter: grayscale(0.35) contrast(1.02); }
.svc .card__scrim {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 38%, color-mix(in srgb, var(--svc-ink) 82%, transparent) 100%);
    transition: opacity .5s var(--svc-ease);
}
.svc .card__label {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 22px;
    z-index: 2;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 10px;
    pointer-events: none;
    transition: opacity .3s var(--svc-ease);
}
.svc .card.is-open .card__label { opacity: 0; }
.svc .card__name {
    font-family: var(--svc-display);
    font-style: italic;
    font-weight: 500;
    font-size: 26px;
    line-height: 1.05;
    color: #fff;
    text-shadow: 0 2px 14px color-mix(in srgb, #000 45%, transparent);
}
.svc .card__panel {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    display: flex;
    flex-direction: column;
    max-height: 70%;
    background: linear-gradient(180deg, transparent, color-mix(in srgb, var(--svc-ink) 70%, transparent) 30%);
    backdrop-filter: blur(14px) saturate(1.1);
    -webkit-backdrop-filter: blur(14px) saturate(1.1);
    transform: translateY(101%);
    transition: transform .5s var(--svc-ease);
}
.svc .card.is-open .card__panel { transform: translateY(0); }
.svc .card__panel-head { padding: 22px 20px 10px; }
.svc .card__panel-head a {
    font-family: var(--svc-display);
    font-style: italic;
    font-size: 26px;
    line-height: 1.05;
    color: #fff;
    text-decoration: none;
}
.svc .card__panel-head a:hover { color: var(--svc-accent-soft); }
body.mds-body .svc .card__text {
    margin: 10px 0 0;
    font-size: 14px;
    line-height: 1.5;
    color: color-mix(in srgb, #fff 86%, transparent);
}
.svc .card__list {
    flex: 1;
    margin: 0;
    padding: 6px 0 16px;
    overflow-x: hidden;
    overflow-y: auto;
    list-style: none;
    scrollbar-width: thin;
    scrollbar-color: color-mix(in srgb, #fff 30%, transparent) transparent;
}
.svc .card__list ul { margin: 0; padding: 0; list-style: none; }
.svc .card__list li { margin: 0 0 8px; padding: 0; list-style: none; }
.svc .card__list li::before { content: none; display: none; }
.svc .row {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 4px 20px;
    color: color-mix(in srgb, #fff 86%, transparent);
    text-decoration: none;
    transition: background .2s var(--svc-ease), color .2s var(--svc-ease), padding-left .25s var(--svc-ease);
}
.svc .row:hover,
.svc .row:focus-visible {
    padding-left: 24px;
    background: color-mix(in srgb, #fff 6%, transparent);
    color: #fff;
    outline: none;
}
.svc .row__dot {
    flex: 0 0 4px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--svc-accent);
}
.svc .row__txt {
    flex: 1;
    font-size: 12.5px;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: .1em;
    text-transform: uppercase;
}

@media (max-width: 780px) {
    .svc { padding: 40px 16px; }
    .svc::before { height: 100%; }
    .svc__head { flex-direction: column; align-items: flex-start; }
    body.mds-body .svc .svc__title,
    body.mds-body .svc .svc__hint { color: #fff; }
    .svc__nav { display: none; }
    .svc__rail { flex-direction: column; gap: 10px; padding: 24px 0 0; overflow: visible; }
    .svc .card,
    .svc .card.is-open {
        flex: 0 0 auto;
        width: 100%;
        height: auto;
        min-height: 84px;
        transform: none !important;
    }
    .svc .card__bg { filter: grayscale(0.4) contrast(1.02); opacity: 0.55; }
    .svc .card.is-open .card__bg { opacity: 0.4; }
    .svc .card__scrim { background: linear-gradient(90deg, color-mix(in srgb, var(--svc-ink) 85%, transparent), color-mix(in srgb, var(--svc-ink) 50%, transparent)); }
    .svc .card__label { position: static; padding: 26px 22px; align-items: center; }
    .svc .card.is-open .card__label { opacity: 1; }
    .svc .card__name { position: relative; z-index: 4; font-size: 24px; }
    .svc .card__panel {
        position: relative;
        display: none;
        max-height: none;
        background: color-mix(in srgb, var(--svc-ink) 90%, transparent);
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        transform: none;
    }
    .svc .card.is-open .card__panel { display: flex; }
    .svc .card__panel-head a { display: none; }
    .svc .card__panel-head { padding-top: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .svc * { transition-duration: 0.001ms !important; }
}
