.d4-medical-wrapper.d4-medical-wrapper--standalone {
	--d4-navy: #03172c;
	--d4-accent: #00a3a6;
	--d4-accent-hover: #00878a;
	--d4-accent-soft: #e6f7f7;
	--d4-border: #d6e9e9;
	--d4-text: #243242;
	--d4-muted: #5f6f7d;
	width: 100%;
	margin: 0 auto;
	padding: 20px 0;
	box-sizing: border-box;
	color: var(--d4-text);
	font-family: "Helvetica Neue", Arial, sans-serif;
}

.d4-medical-wrapper--standalone *,
.d4-medical-wrapper--standalone *::before,
.d4-medical-wrapper--standalone *::after {
	box-sizing: border-box;
}

.d4-medical-wrapper--standalone .d4-section-title,
.d4-medical-wrapper--standalone .d4-center-title,
.d4-medical-wrapper--standalone .d4-who-card-title,
.d4-medical-wrapper--standalone .d4-step-title {
	color: var(--d4-navy) !important;
}

.d4-medical-wrapper--standalone .d4-section-title {
	margin: 0 0 1rem;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.2;
}

.d4-medical-wrapper--standalone .d4-center-title {
	margin: 0 0 2rem;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
}

.d4-medical-wrapper--standalone .d4-intro-shell {
	position: relative;
	overflow: hidden;
	border: 1px solid var(--d4-border);
	border-radius: 20px;
	background: #fff;
}

.d4-medical-wrapper--standalone .d4-intro-stage {
	display: grid;
	grid-template-columns: minmax(0, .98fr) minmax(0, 1.02fr);
	align-items: stretch;
}

.d4-medical-wrapper--standalone .d4-intro-image-col,
.d4-medical-wrapper--standalone .d4-intro-content-col {
	min-width: 0;
}

.d4-medical-wrapper--standalone .d4-intro-image-col {
	min-height: 420px;
}

.d4-medical-wrapper--standalone .d4-intro-content-col {
	position: relative;
	z-index: 1;
	display: flex;
	justify-content: center;
	flex-direction: column;
	margin: 42px 0 0 -24px;
	padding: clamp(38px, 5vw, 72px);
	border-radius: 20px 0 0;
	background: #fff;
}

.d4-medical-wrapper--standalone.d4-medical-section--intro .d4-section-title {
	font-size: clamp(2.2rem, 3vw, 3rem);
}

.d4-medical-wrapper--standalone .d4-intro-img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 420px;
	object-fit: cover;
	object-position: center;
}

.d4-medical-wrapper--standalone .d4-intro-desc {
	max-width: 58ch;
	margin: 0;
	color: var(--d4-muted) !important;
	font-size: 1.075rem;
	line-height: 1.7;
}

.d4-medical-wrapper--standalone .d4-intro-desc p {
	margin: 0 0 1rem;
}

.d4-medical-wrapper--standalone .d4-intro-desc p:last-child {
	margin-bottom: 0;
}

.d4-medical-wrapper--standalone .d4-intro-desc a {
	color: var(--d4-accent) !important;
	font-weight: 700;
	text-decoration: none;
}

.d4-medical-wrapper--standalone .d4-intro-desc a:hover,
.d4-medical-wrapper--standalone .d4-intro-desc a:focus-visible {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.d4-medical-wrapper--standalone .d4-intro-checklist-band {
	padding: 32px 30px 54px;
	border-top: 1px solid var(--d4-border);
	background: var(--d4-accent-soft) !important;
}

.d4-medical-wrapper--standalone .d4-checklist--band {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	margin: 0;
	padding: 0;
	list-style: none;
}

.d4-medical-wrapper--standalone .d4-checklist--band .d4-checklist-item {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 10px;
	min-width: 0;
	min-height: 88px;
	margin: 0;
	padding: 4px 18px;
	color: var(--d4-navy) !important;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.35;
	text-align: center;
	text-wrap: balance;
}

.d4-medical-wrapper--standalone .d4-checklist--band .d4-checklist-item + .d4-checklist-item {
	border-inline-start: 1px solid rgba(0, 163, 166, .24);
}

.d4-medical-wrapper--standalone .d4-check-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	color: var(--d4-accent) !important;
}

.d4-medical-wrapper--standalone .d4-check-icon svg {
	width: 32px;
	height: 32px;
	fill: currentColor !important;
}

.d4-medical-wrapper--standalone .d4-intro-action {
	position: relative;
	z-index: 1;
	display: flex;
	justify-content: center;
	margin: -29px auto 28px;
	padding: 0 24px;
}

.d4-medical-wrapper--standalone .d4-btn,
.d4-medical-wrapper--standalone a.d4-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 28px;
	border: 0 !important;
	border-radius: 8px;
	background: var(--d4-accent) !important;
	box-shadow: 0 4px 15px rgba(0, 163, 166, .2);
	color: #fff !important;
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none !important;
	transition: transform .2s, background-color .2s;
}

.d4-medical-wrapper--standalone .d4-btn:hover,
.d4-medical-wrapper--standalone .d4-btn:focus {
	background: var(--d4-accent-hover) !important;
	color: #fff !important;
	transform: translateY(-2px);
}

.d4-medical-wrapper--standalone .d4-btn:focus-visible {
	outline: 3px solid rgba(0, 135, 138, .28);
	outline-offset: 3px;
}

.d4-medical-wrapper--standalone .d4-btn,
.d4-medical-wrapper--standalone .d4-btn span,
.d4-medical-wrapper--standalone .d4-btn i,
.d4-medical-wrapper--standalone .d4-btn svg,
.d4-medical-wrapper--standalone .d4-btn path {
	color: #fff !important;
	fill: currentColor !important;
	stroke: currentColor !important;
}

.d4-medical-wrapper--standalone .d4-btn-icon {
	width: 18px;
	height: 18px;
	margin-right: 10px;
}

.d4-medical-wrapper--standalone .d4-who-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 18px;
}

.d4-medical-wrapper--standalone .d4-who-card {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 19px 18px;
	border: 1px solid var(--d4-border) !important;
	border-radius: 12px;
	background: #fff !important;
	box-shadow: 0 8px 22px rgba(3, 23, 44, .05);
	transition: transform .2s, box-shadow .2s;
}

.d4-medical-wrapper--standalone .d4-who-card:hover {
	border-color: rgba(0, 163, 166, .34) !important;
	box-shadow: 0 8px 24px rgba(3, 23, 44, .08);
	transform: translateY(-3px);
}

.d4-medical-wrapper--standalone .d4-who-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 52px;
	height: 52px;
	margin: 0;
	border: 1px solid rgba(0, 163, 166, .24);
	border-radius: 50%;
	background: var(--d4-accent-soft);
	color: var(--d4-accent) !important;
	font-size: 24px;
}

.d4-medical-wrapper--standalone .d4-who-icon svg {
	width: 25px;
	height: 25px;
	fill: currentColor !important;
}

.d4-medical-wrapper--standalone .d4-who-info {
	min-width: 0;
	padding-top: 1px;
}

.d4-medical-wrapper--standalone .d4-who-card-title {
	margin: 0 0 7px;
	font-size: 1.125rem;
	font-weight: 800;
	line-height: 1.3;
}

.d4-medical-wrapper--standalone .d4-who-card-desc {
	margin: 0;
	color: var(--d4-muted) !important;
	font-size: .925rem;
	line-height: 1.55;
}

.d4-medical-wrapper--standalone .d4-inc-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 30px;
	text-align: center;
}

.d4-medical-wrapper--standalone .d4-inc-item {
	display: flex;
	align-items: center;
	flex-direction: column;
	padding: 10px;
}

.d4-medical-wrapper--standalone .d4-inc-icon {
	margin-bottom: 12px;
	color: var(--d4-accent) !important;
	font-size: 34px;
}

.d4-medical-wrapper--standalone .d4-inc-icon svg {
	width: 44px;
	height: 44px;
	fill: currentColor !important;
}

.d4-medical-wrapper--standalone .d4-inc-label {
	margin: 0;
	color: var(--d4-text) !important;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.4;
}

.d4-medical-wrapper--standalone.d4-how-wrapper,
.d4-medical-wrapper--standalone .d4-how-container {
	position: relative;
}

.d4-medical-wrapper--standalone.d4-how-wrapper {
	container-name: d4-how-layout;
	container-type: inline-size;
}

.d4-medical-wrapper--standalone .d4-how-container {
	padding: 40px 30px;
	border: 1px solid var(--d4-border) !important;
	border-radius: 20px;
	background: var(--d4-accent-soft) !important;
}

.d4-medical-wrapper--standalone .d4-connector-line {
	position: absolute;
	z-index: 1;
	top: 50px;
	right: 10%;
	left: 10%;
	height: 2px;
	border-top: 2px dashed rgba(0, 163, 166, .3) !important;
}

.d4-medical-wrapper--standalone .d4-steps-grid {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 30px;
}

.d4-medical-wrapper--standalone .d4-step-node {
	position: relative;
	display: flex;
	align-items: center;
	flex-direction: column;
	text-align: center;
}

.d4-medical-wrapper--standalone .d4-step-badge {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	margin-bottom: 20px;
	border: 2px solid #fff;
	border-radius: 50%;
	background: var(--d4-accent) !important;
	box-shadow: 0 2px 6px rgba(3, 23, 44, .1);
	color: #fff !important;
	font-size: .85rem;
	font-weight: 700;
}

.d4-medical-wrapper--standalone .d4-step-icon {
	margin-bottom: 12px;
	color: var(--d4-accent) !important;
	font-size: 30px;
}

.d4-medical-wrapper--standalone .d4-step-icon svg {
	width: 40px;
	height: 40px;
	fill: currentColor !important;
}

.d4-medical-wrapper--standalone .d4-step-title {
	margin: 0 0 6px;
	font-size: 1.1rem;
	font-weight: 700;
}

.d4-medical-wrapper--standalone .d4-step-desc {
	margin: 0;
	color: var(--d4-muted) !important;
	font-size: .9rem;
	line-height: 1.4;
}

@container d4-how-layout (max-width: 949px) {
	.d4-medical-wrapper--standalone .d4-connector-line {
		display: none;
	}

	.d4-medical-wrapper--standalone .d4-steps-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 1024px) {
	.d4-medical-wrapper--standalone .d4-intro-stage {
		grid-template-columns: 1fr;
	}

	.d4-medical-wrapper--standalone .d4-intro-image-col,
	.d4-medical-wrapper--standalone .d4-intro-img {
		min-height: 360px;
	}

	.d4-medical-wrapper--standalone .d4-intro-content-col {
		margin: 0;
		padding: 40px;
		border-radius: 0;
	}

	.d4-medical-wrapper--standalone .d4-checklist--band {
		grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
		gap: 18px;
	}

	.d4-medical-wrapper--standalone .d4-checklist--band .d4-checklist-item + .d4-checklist-item {
		border-inline-start: 0;
	}

	.d4-intro-responsive-button-only .d4-medical-wrapper--standalone .d4-intro-stage,
	.d4-intro-responsive-button-only .d4-medical-wrapper--standalone .d4-intro-checklist-band {
		display: none !important;
	}

	.d4-intro-responsive-button-only .d4-medical-wrapper--standalone .d4-intro-shell {
		overflow: visible;
		border: 0;
		background: transparent;
	}

	.d4-intro-responsive-button-only .d4-medical-wrapper--standalone .d4-intro-action {
		margin: 0;
		padding: 0;
	}
}

@media (max-width: 960px) {
	/*
	 * Elementor's column flex container can add the viewport width to this
	 * widget's intrinsic height when inline-size containment is active. The
	 * media-query rules below already provide the responsive layout here, so
	 * containment is unnecessary and would leave a large gap before the next
	 * section on mobile.
	 */
	.d4-medical-wrapper--standalone.d4-how-wrapper {
		container-type: normal !important;
	}

	.d4-medical-wrapper--standalone .d4-connector-line {
		display: none;
	}

	.d4-medical-wrapper--standalone .d4-steps-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 768px) {
	.d4-medical-wrapper.d4-medical-wrapper--standalone {
		padding: 12px 20px;
	}

	.d4-medical-wrapper--standalone .d4-who-grid {
		grid-template-columns: 1fr;
		gap: 12px;
		width: 100%;
		max-width: none;
		margin: 0;
	}

	.d4-medical-wrapper--standalone .d4-who-card {
		gap: 14px;
		padding: 15px 14px;
	}

	.d4-medical-wrapper--standalone .d4-who-icon {
		width: 42px;
		height: 42px;
	}

	.d4-medical-wrapper--standalone .d4-who-icon svg {
		width: 20px;
		height: 20px;
	}

	.d4-medical-wrapper--standalone .d4-who-card-title {
		margin-bottom: 4px;
		font-size: 1rem;
	}

	.d4-medical-wrapper--standalone .d4-who-card-desc {
		font-size: .875rem;
		line-height: 1.45;
	}

	.d4-medical-wrapper--standalone .d4-connector-line {
		display: none;
	}

	.d4-medical-wrapper--standalone .d4-step-node {
		margin-bottom: 20px;
	}

	.d4-medical-wrapper--standalone .d4-step-node:last-child {
		margin-bottom: 0;
	}

	.d4-medical-wrapper--standalone .d4-section-title {
		font-size: 1.8rem;
	}

	.d4-medical-wrapper--standalone .d4-intro-content-col {
		padding: 30px 24px;
	}

	.d4-medical-wrapper--standalone .d4-intro-checklist-band {
		padding: 28px 20px 52px;
	}

	.d4-medical-wrapper--standalone .d4-checklist--band {
		grid-template-columns: repeat(auto-fit, minmax(135px, 1fr));
		gap: 20px 12px;
	}

	.d4-medical-wrapper--standalone .d4-checklist--band .d4-checklist-item {
		min-height: 0;
		padding: 4px 8px;
		font-size: .925rem;
	}

	.d4-medical-wrapper--standalone .d4-center-title {
		font-size: 1.6rem;
	}

	.d4-medical-wrapper--standalone .d4-btn {
		width: 100%;
	}
}

@media (max-width: 480px) {
	.d4-medical-wrapper--standalone .d4-who-grid,
	.d4-medical-wrapper--standalone .d4-inc-grid,
	.d4-medical-wrapper--standalone .d4-steps-grid {
		grid-template-columns: 1fr;
	}

	.d4-medical-wrapper--standalone .d4-how-container {
		padding: 28px 18px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.d4-medical-wrapper--standalone *,
	.d4-medical-wrapper--standalone *::before,
	.d4-medical-wrapper--standalone *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}
}
