/* R24.27: static scope maps; all additions are isolated by the hj- namespace. */
.hj-hero-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
	gap: clamp(1.5rem, 3.5vw, 3rem);
	align-items: center;
	margin-block-start: 1rem;
}
.hj-hero-layout > * { min-inline-size: 0; }
.hj-hero-copy h1 { font-size: clamp(2rem, 1.65rem + 1.7vw, 3.25rem); line-height: 1.13; }
.hj-figure {
	--hj-navy: #14384d;
	--hj-teal: #087972;
	--hj-muted: #3f5968;
	--hj-line: #d3e2e5;
	margin: 0;
	min-inline-size: 0;
	padding: clamp(.9rem, 1.8vw, 1.35rem);
	border: 1px solid var(--hj-line);
	border-radius: .85rem;
	background: #fff;
	box-shadow: 0 .35rem 1rem rgba(20, 56, 77, .04);
	color: var(--hj-navy);
	font-size: .9375rem;
	line-height: 1.5;
	overflow-wrap: anywhere;
}
.hj-figure-head { margin-block-end: .85rem; }
.hj-kicker { display: block; margin-block-end: .35rem; color: var(--hj-teal); font-size: .875rem; font-weight: 700; }
.hj-figure .hj-title { margin: 0; color: var(--hj-navy); font-size: 1.2rem; line-height: 1.3; letter-spacing: -.015em; }
.hj-node { padding: .65rem .8rem; border: 1px solid var(--hj-line); border-radius: .5rem; background: #f4f9fa; }
.hj-node strong, .hj-node > span { display: block; }
.hj-node strong { font-size: 1rem; }
.hj-node > span { margin-block-start: .2rem; color: var(--hj-muted); font-size: .875rem; }
.hj-figure .hj-connection { display: flex; align-items: center; justify-content: center; gap: .5rem; margin: .55rem 0; color: var(--hj-muted); font-size: .875rem; }
.hj-connection > [aria-hidden] { flex: 0 0 auto; color: var(--hj-teal); font-size: 1.25rem; }
.hj-scope, .hj-mobile-host { padding: .7rem .8rem; border: 1px solid var(--hj-teal); border-radius: .55rem; background: #f5fbf9; }
.hj-scope-label { display: block; color: var(--hj-navy); font-size: .9375rem; }
.hj-areas { display: grid; gap: .55rem; margin: .65rem 0 0; }
.hj-areas > div { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: .65rem; padding-block-start: .55rem; border-top: 1px solid var(--hj-line); }
.hj-areas dt, .hj-contexts dt, .hj-scope-notes dt { margin: 0; font-size: .9375rem; font-weight: 750; }
.hj-areas dd, .hj-contexts dd, .hj-scope-notes dd { margin: 0; color: var(--hj-muted); font-size: .875rem; }
.hj-external { margin-block-start: .65rem; padding: .6rem .8rem; border: 1px dashed #7f9ca7; border-radius: .5rem; background: #f7f9fc; }
.hj-external strong, .hj-external > span { display: block; font-size: .875rem; }
.hj-external > span { margin-block-start: .2rem; color: var(--hj-muted); }
.hj-figure .hj-evidence-note { margin: .65rem 0 0; color: var(--hj-muted); font-size: .875rem; }
.hj-figure .hj-caption { margin-block-start: .8rem; padding-block-start: .7rem; border-top: 1px solid var(--hj-line); color: var(--hj-muted); font-size: .875rem; line-height: 1.5; text-align: start; }
.hj-examples { display: grid; gap: 1rem; padding: 0; margin: 0; list-style: none; }
.hj-examples > li { min-inline-size: 0; }
.hj-figure .hj-example-title { margin: 0 0 .5rem; font-size: .9375rem; line-height: 1.4; color: var(--hj-navy); }
.hj-flow { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr); gap: .35rem; align-items: stretch; }
.hj-flow-node { min-inline-size: 0; padding: .55rem .6rem; border: 1px solid var(--hj-line); border-radius: .45rem; background: #f4f9fa; }
.hj-flow-node .hj-node-label { display: block; margin-block-end: .3rem; color: var(--hj-muted); font-size: .875rem; }
.hj-flow-node strong { display: block; font-size: .9375rem; line-height: 1.45; }
.hj-flow-owner { border-color: #9ec8c1; background: #f0f8f5; }
.hj-arrow { align-self: center; color: var(--hj-teal); font-size: 1.2rem; }
.hj-figure .hj-host-detail { margin: .15rem 0 .6rem; color: var(--hj-muted); font-size: .875rem; }
.hj-contexts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem; margin: 0; }
.hj-contexts > div { min-inline-size: 0; padding: .45rem .55rem; border: 1px solid var(--hj-line); border-radius: .4rem; background: #fff; }
.hj-contexts dd { margin-block-start: .15rem; }
.hj-conference-product > .hj-node { margin-block-start: .6rem; }
.hj-conference-product .hj-client-node { margin-block-start: 0; background: #fff; }
.hj-scope-notes { display: grid; gap: .6rem; margin: .75rem 0 0; }
.hj-scope-notes > div { padding-inline-start: .75rem; border-inline-start: 2px solid #afc8d4; }
.hj-scope-notes dd { margin-block-start: .2rem; }
.hj-conference-context { margin-block-start: 1.5rem; }
.hj-conference-context .commercial-proof-card { max-inline-size: 100%; }
.hj-hcsa-hero .hj-figure { margin-block-start: 1.25rem; }
.hj-hcsa-hero .hj-figure-head { margin-block-end: .65rem; }
.hj-hcsa-hero .hj-figure .hj-title { color: var(--hj-navy); font-size: 1.2rem; }
.hj-hcsa-hero .hj-access-context { margin-block-start: .5rem; }
@media (max-width: 900px) {
	.hj-hero-layout { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
	.hj-hcsa-hero .hcsa-hero-layout { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
}
@media (max-width: 560px) {
	.hj-areas > div { grid-template-columns: minmax(0, 1fr); gap: .15rem; }
	.hj-flow { grid-template-columns: minmax(0, 1fr); gap: .25rem; }
	.hj-flow-node { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: .65rem; }
	.hj-flow-node .hj-node-label { margin: 0; }
	.hj-arrow { justify-self: center; transform: rotate(90deg); line-height: 1; }
}
@media print {
	.hj-figure { box-shadow: none; break-inside: avoid; }
	.hj-hero-layout { grid-template-columns: minmax(0, 1fr); }
}
