/* Migrated case bodies and the shared native synced contact pattern. */
.mk-reform-case,
.mk-contact-part {
	min-width: 0;
	overflow-wrap: anywhere;
	line-height: 1.95;
}

.mk-reform-case > :first-child,
.mk-contact-part > :first-child {
	margin-top: 0;
}

.mk-reform-case h2,
.mk-contact-part h2 {
	margin: 2.25em 0 1em;
	padding: 0 0 .65em;
	border-bottom: 2px solid var(--color-green);
	color: var(--color-green);
	font-size: clamp(23px, 2.7vw, 32px);
	font-weight: 600;
	letter-spacing: .04em;
	line-height: 1.6;
}

.mk-reform-case h3,
.mk-contact-part h3 {
	margin: 1.8em 0 .7em;
	color: var(--color-green);
	font-size: clamp(20px, 2.2vw, 25px);
	font-weight: 600;
	line-height: 1.65;
}

.mk-reform-case h4 {
	margin: 1.6em 0 .65em;
	color: var(--color-green-dark);
	font-size: clamp(18px, 1.8vw, 21px);
	line-height: 1.7;
}

.mk-reform-case p,
.mk-contact-part p {
	margin: 0 0 1.25em;
}

.mk-reform-case ul,
.mk-reform-case ol {
	padding-left: 1.6em;
}

.mk-reform-case a:not(.button) {
	color: var(--color-green-dark);
	text-decoration: underline;
	text-underline-offset: .18em;
}

.mk-reform-case img {
	display: block;
	max-width: 100%;
	height: auto;
}

.mk-reform-case figure {
	max-width: 100%;
	margin: 0 0 1.5em;
}

.mk-new-case video {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	margin: 1.5em 0 2em;
	background: #111;
}

.mk-new-case .mk-case-comment {
	display: flex;
	align-items: flex-start;
	gap: clamp(12px, 3vw, 24px);
	margin: 1.5em 0 2em;
}

.mk-new-case .mk-case-avatar {
	flex: 0 0 clamp(40px, 9vw, 80px);
}

.mk-new-case .mk-case-comment > :last-child {
	min-width: 0;
}

.mk-new-case .mk-case-eyebrow {
	margin: 2em 0 -.8em;
	color: var(--color-green);
	font-family: var(--font-sans);
	font-size: .85em;
}

.mk-reform-case figcaption {
	margin-top: .5em;
	font-size: .9em;
	line-height: 1.7;
}

.mk-reform-case .mk-case-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: start;
	gap: clamp(18px, 3vw, 32px);
	margin: 1.5em 0 2.25em;
}

.mk-reform-case .mk-case-grid > * {
	min-width: 0;
}

.mk-reform-case .mk-case-grid img {
	width: 100%;
}

.mk-reform-case .mk-case-step > :first-child {
	margin-top: 0;
}

.mk-reform-case .mk-case-table {
	max-width: 100%;
	margin: 1.5em 0 2em;
	overflow-x: auto;
	overscroll-behavior-x: contain;
}

.mk-reform-case table {
	width: 100%;
	margin: 0 0 1.5em;
	border-collapse: collapse;
	font-size: .94em;
	line-height: 1.8;
	text-align: left;
}

.mk-reform-case .mk-case-table table {
	margin-bottom: 0;
}

.mk-reform-case th,
.mk-reform-case td {
	padding: .8em 1em;
	border: 1px solid var(--color-line);
	vertical-align: top;
}

.mk-reform-case th {
	background: var(--color-beige);
	color: var(--color-green-dark);
	font-weight: 600;
}

.mk-contact-part {
	margin-top: clamp(48px, 7vw, 88px);
	padding: clamp(20px, 4vw, 42px);
	border: 1px solid var(--color-line);
	background: var(--color-beige);
}

.mk-contact-part h2 {
	margin-top: 0;
}

.mk-contact-part__intro {
	line-height: 1.9;
}

.mk-contact-part__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 20px 28px;
	margin: 1.75em 0 .85em;
	text-align: center;
}

.mk-contact-part__actions > p {
	margin: 0;
}

.mk-contact-part__actions .button {
	min-width: 0;
	max-width: 100%;
	min-height: 48px;
	padding: 12px 25px;
	border-color: var(--color-green);
	background: var(--color-green);
	color: #fff;
	font-size: 16px;
	line-height: 1.6;
	text-align: center;
	text-decoration: none;
}

.mk-contact-part__actions .button:hover {
	background: var(--color-green-dark);
	border-color: var(--color-green-dark);
}

.mk-contact-part__phone {
	display: block;
	font-size: 14px;
	text-align: center;
}

.mk-contact-part__phone a {
	display: inline-flex;
	align-items: center;
	min-height: 48px;
	color: var(--color-green-dark);
	font-family: var(--font-sans);
	font-size: clamp(21px, 4vw, 32px);
	font-weight: 600;
	letter-spacing: .02em;
	line-height: 1.5;
	text-decoration: underline;
	text-underline-offset: .16em;
}

.mk-contact-part__hours {
	font-family: var(--font-sans);
	font-size: 14px;
	text-align: center;
}

.mk-contact-part iframe {
	display: block;
	width: 100%;
	max-width: 100%;
	height: clamp(240px, 38vw, 380px);
	margin-top: 1.25em;
	border: 0;
	background: #e8e7df;
}

.mk-reform-case a:focus-visible,
.mk-contact-part a:focus-visible {
	outline: 3px solid var(--color-green);
	outline-offset: 5px;
}

@media (max-width: 600px) {
	.mk-reform-case,
	.mk-contact-part {
		font-size: 16px;
	}

	.mk-reform-case .mk-case-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}

	.mk-reform-case th,
	.mk-reform-case td {
		padding: .65em .7em;
	}

	.mk-contact-part__actions {
		flex-direction: column;
		gap: 14px;
	}
}
