/* Static FHIR and TI-Flow hero figures. Every selector is module-scoped. */
.hw-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	gap: clamp(1.5rem, 3.5vw, 2.75rem);
	align-items: center;
	margin-top: 1rem;
}
.hw-hero-grid > * { min-width: 0; }
.hw-copy h1 { font-size: clamp(2.25rem, 4vw, 3.5rem); }
.hw-figure {
	margin: 0;
	min-width: 0;
	padding: clamp(1.125rem, 2.2vw, 1.75rem);
	border: 1px solid #cddfe7;
	border-radius: 23px;
	background: #fff;
	box-shadow: 0 14px 35px rgba(15, 49, 70, .065);
	color: #0b1f35;
	font-size: 1rem;
	line-height: 1.5;
	overflow-wrap: anywhere;
}
.hw-heading { margin-bottom: 1.1rem; }
.hw-kicker {
	display: block;
	margin-bottom: .45rem;
	color: #087f8c;
	font-size: .875rem;
	font-weight: 750;
	line-height: 1.45;
}
.hw-figure .hw-title {
	margin: 0;
	font-size: clamp(1.14rem, 1.7vw, 1.35rem);
	letter-spacing: -.025em;
	line-height: 1.25;
}
.hw-comparison {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.hw-example {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 1rem .875rem;
	border: 1px solid #d9e5eb;
	border-top: 3px solid #52677a;
	border-radius: .875rem;
	background: #f8fbfd;
}
.hw-example--after { border-top-color: #087f8c; }
.hw-step {
	display: block;
	color: #52677a;
	font-size: .875rem;
	font-weight: 700;
	line-height: 1.45;
}
.hw-code {
	display: block;
	margin: .75rem 0;
	padding: 0;
	color: #0b1f35;
	background: transparent;
	font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
	font-size: .9375rem;
	line-height: 1.65;
	white-space: normal;
	overflow-wrap: anywhere;
}
.hw-code-value {
	border-bottom: 2px solid currentColor;
	font-weight: 750;
}
.hw-example--after .hw-code-value { color: #087f8c; }
.hw-type { display: block; font-size: 1rem; }
.hw-result {
	display: block;
	margin-top: .35rem;
	font-size: .875rem;
	color: #52677a;
}
.hw-figure .hw-rule { margin: 1rem 0 .75rem; font-size: .9375rem; }
.hw-link {
	display: inline-flex;
	align-items: baseline;
	gap: .45rem;
	max-width: 100%;
	padding: .35rem 0;
	color: #087f8c;
	font-size: .9375rem;
	font-weight: 750;
	line-height: 1.45;
	text-decoration: underline;
	text-underline-offset: .2em;
}
.hw-link:hover { color: #0b1f35; }
.hw-link:focus-visible { outline: 3px solid #087f8c; outline-offset: 5px; border-radius: .15rem; }
.hw-figure .hw-caption {
	margin-top: 1rem;
	padding-top: .85rem;
	border-top: 1px solid #d9e5eb;
	font-size: .875rem;
	line-height: 1.55;
	color: #52677a;
}
.hw-external {
	padding: .9rem 1rem;
	border: 1px solid #d9e5eb;
	border-radius: .875rem;
	background: #f8fbfd;
}
.hw-object-title { display: block; margin-top: .25rem; font-size: 1.125rem; line-height: 1.35; }
.hw-external p { margin: .4rem 0 0; font-size: .9375rem; }
.hw-figure .hw-boundary {
	margin: .8rem 0;
	display: flex;
	align-items: center;
	gap: .6rem;
	color: #52677a;
	font-size: .875rem;
	line-height: 1.45;
	text-align: center;
}
.hw-boundary::before,
.hw-boundary::after { content: ""; flex: 1; min-width: .5rem; border-top: 1px dashed #8aa6b4; }
.hw-boundary span { min-width: 0; }
.hw-runtime {
	padding: 1rem;
	border: 2px solid #087f8c;
	border-radius: 1rem;
	background: #fff;
}
.hw-runtime > .hw-step { color: #087f8c; }
.hw-runtime-points {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .85rem;
	margin: .9rem 0;
}
.hw-runtime-points > div { min-width: 0; }
.hw-runtime-points dt { font-weight: 750; font-size: .9375rem; }
.hw-runtime-points dd { margin: .35rem 0 0; font-size: .875rem; color: #52677a; }
.hw-runtime .hw-ownership { margin: 0; padding-top: .7rem; border-top: 1px solid #d9e5eb; font-size: .875rem; }
@media (max-width: 1000px) {
	.hw-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
	.hw-copy h1 { max-width: 24ch; }
}
@media (max-width: 720px) {
	.hw-comparison,
	.hw-runtime-points { grid-template-columns: minmax(0, 1fr); }
	.hw-figure { padding: 1.125rem; border-radius: 1.125rem; }
	.hw-example { padding: .85rem 1rem; }
	.hw-code { margin: .5rem 0; }
}
