/* © 2026 Mark Kats. Shared SHD landing production blocks. */

/* Shared module relation / ecosystem composition. */
.l-module-section {
	position: relative;
	padding: var(--l-section-padding, clamp(92px, 9vw, 144px) 0);
}
.l-module-section--deep {
	background: var(--l-deep-surface);
}
.l-module-section__head {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(260px, .7fr);
	align-items: end;
	gap: clamp(28px, 5vw, 72px);
	margin-bottom: 48px;
}
.l-module-section__head h2 {
	max-width: 780px;
	margin: 0;
	font-size: clamp(30px, 3.5vw, 48px);
	font-weight: 620;
	letter-spacing: -.05em;
	line-height: 1.02;
}
.l-module-section__head > p {
	margin: 0;
	color: var(--l-text-soft);
	font-size: 14px;
	line-height: 1.7;
}
.l-module-ecosystem__layout {
	display: grid;
	grid-template-columns: minmax(260px, .78fr) minmax(0, 1.22fr);
	gap: 16px;
	align-items: stretch;
}
.l-module-ecosystem__core {
	display: flex;
	min-width: 0;
	min-height: 260px;
	padding: clamp(28px, 4vw, 48px);
	flex-direction: column;
	justify-content: center;
	border: 1px solid rgba(var(--l-gold-rgb), .42);
	border-radius: var(--l-radius-xl);
	background: radial-gradient(circle at 20% 20%, rgba(var(--l-gold-rgb), .13), transparent 54%), rgba(var(--l-surface-rgb), .64);
	box-shadow: var(--l-shadow-soft), inset 0 1px 0 rgba(var(--l-text-rgb), .07);
}
.l-module-panel__label {
	display: block;
	margin-bottom: 17px;
	color: var(--l-gold);
	font-family: var(--l-font-mono);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.l-module-ecosystem__core strong {
	max-width: 420px;
	font-size: clamp(25px, 3vw, 42px);
	font-weight: 620;
	letter-spacing: -.045em;
	line-height: 1.04;
}
.l-module-ecosystem__nodes {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.l-module-ecosystem__node {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	align-content: start;
	gap: 14px;
	min-width: 0;
	padding: 24px;
	border: 1px solid var(--l-line);
	border-radius: var(--l-radius-md);
	background: rgba(var(--l-surface-soft-rgb), .52);
	box-shadow: inset 0 1px 0 rgba(var(--l-text-rgb), .05);
	transition: transform .25s ease, border-color .25s ease, background .25s ease;
}
.l-module-ecosystem__node:hover {
	transform: translateY(-3px);
	border-color: rgba(var(--l-gold-rgb), .4);
	background: rgba(var(--l-surface-soft-rgb), .72);
}
.l-module-card__icon {
	display: grid;
	width: 30px;
	height: 30px;
	place-items: center;
	color: var(--l-gold);
	overflow: hidden;
}
.l-module-card__icon .shd-svg-icon { width: 100%; height: 100%; }
.l-module-card__icon svg { display: block; width: 100%; height: 100%; max-width: 100%; max-height: 100%; }
.l-module-ecosystem__node strong {
	display: block;
	font-size: 15px;
	font-weight: 620;
	line-height: 1.25;
}
.l-module-ecosystem__node span:not(.l-module-card__icon) {
	display: block;
	margin-top: 7px;
	color: var(--l-text-muted);
	font-size: 11px;
	line-height: 1.55;
}

@media (max-width: 1080px) {
	.l-module-ecosystem__layout { grid-template-columns: 1fr; }
	.l-module-ecosystem__core { min-height: 0; }
}

@media (max-width: 820px) {
	.l-module-section__head { grid-template-columns: 1fr; align-items: start; }
	.l-module-ecosystem__nodes { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
}
