/* ALICE-EXPANSION-01: self-contained expansion map for the catalog. */
.landing-catalog .alice-expansion {
	--alice-border-strong: rgba(var(--l-text-rgb), 0.24);
	--alice-border-soft: rgba(var(--l-text-rgb), 0.12);
	--alice-muted: rgba(var(--l-text-rgb), 0.62);
	--alice-dim: rgba(var(--l-text-rgb), 0.42);
	--alice-positive: var(--l-positive);
	--alice-positive-rgb: var(--l-positive-rgb);
	--alice-blue-rgb: var(--l-blue-rgb);
	background: var(--l-expansion-surface);
}

.landing-catalog .alice-section-head {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(260px, 0.7fr);
	align-items: end;
	gap: 50px;
	margin-bottom: 42px;
}

.landing-catalog .alice-section-head h2 {
	max-width: 780px;
	margin: 0;
	font-size: clamp(30px, 3.5vw, 48px);
	font-weight: 620;
	letter-spacing: -0.055em;
	line-height: 1.02;
}

.landing-catalog .alice-section-head > p {
	margin: 0;
	color: var(--alice-muted);
	font-size: 15px;
	line-height: 1.7;
}

.landing-catalog .alice-eyebrow {
	margin: 0 0 18px;
	color: var(--l-gold);
	font-size: 10px;
	font-weight: 720;
	letter-spacing: 0.18em;
	line-height: 1.3;
	text-transform: uppercase;
}

.landing-catalog .alice-expansion__screen {
	position: relative;
	margin-top: 8px;
	overflow: hidden;
	border: 1px solid var(--alice-border-strong);
	border-top-color: rgba(var(--l-gold-rgb), 0.58);
	border-radius: 22px;
	background: var(--l-deep-surface);
	box-shadow: 0 30px 80px rgba(var(--l-shadow-rgb), 0.2);
}

.landing-catalog .alice-expansion__screenbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 15px 22px;
	color: var(--alice-dim);
	border-bottom: 1px solid var(--alice-border-soft);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.landing-catalog .alice-expansion__screenbar > span:last-child {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--alice-positive);
}

.landing-catalog .alice-expansion__screenbar i {
	display: block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentColor;
	box-shadow: 0 0 0 4px rgba(var(--alice-positive-rgb), 0.1);
}

.landing-catalog .alice-expansion__map {
	display: grid;
	grid-template-columns: minmax(190px, 0.7fr) 76px minmax(0, 1.3fr);
	align-items: center;
	gap: 20px;
	padding: 32px;
}

.landing-catalog .alice-expansion__core {
	padding: 26px;
	border: 1px solid rgba(var(--l-accent-rgb), 0.42);
	border-radius: 18px;
	background: linear-gradient(145deg, rgba(var(--l-accent-rgb), 0.15), rgba(var(--l-text-rgb), 0.035));
}

.landing-catalog .alice-expansion__core-mark {
	display: inline-flex;
	padding: 6px 8px;
	color: var(--l-accent);
	border: 1px solid rgba(var(--l-accent-rgb), 0.45);
	border-radius: 7px;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: 0.14em;
}

.landing-catalog .alice-expansion__core strong {
	display: block;
	margin-top: 25px;
	color: var(--l-text);
	font-size: 20px;
	font-weight: 650;
	letter-spacing: -0.03em;
}

.landing-catalog .alice-expansion__core p {
	margin: 11px 0 0;
	color: var(--alice-muted);
	font-size: 12px;
	line-height: 1.6;
}

.landing-catalog .alice-expansion__core small {
	display: block;
	margin-top: 24px;
	padding-top: 14px;
	color: var(--alice-dim);
	border-top: 1px solid rgba(var(--l-accent-rgb), 0.2);
	font-size: 10px;
	line-height: 1.45;
}

.landing-catalog .alice-expansion__trunk {
	position: relative;
	min-height: 205px;
}

.landing-catalog .alice-expansion__trunk::before,
.landing-catalog .alice-expansion__trunk::after {
	position: absolute;
	content: '';
	border-color: rgba(var(--l-gold-rgb), 0.42);
}

.landing-catalog .alice-expansion__trunk::before {
	top: 50%;
	right: 0;
	left: 0;
	border-top: 1px solid;
}

.landing-catalog .alice-expansion__trunk::after {
	top: 25%;
	bottom: 25%;
	left: 50%;
	border-left: 1px solid;
}

.landing-catalog .alice-expansion__trunk span,
.landing-catalog .alice-expansion__trunk i {
	position: absolute;
	z-index: 1;
	display: block;
	width: 8px;
	height: 8px;
	border: 1px solid var(--l-gold);
	border-radius: 50%;
	background: var(--l-node-surface);
}

.landing-catalog .alice-expansion__trunk span:first-child { top: calc(50% - 4px); left: 0; }
.landing-catalog .alice-expansion__trunk span:last-child { top: calc(50% - 4px); right: 0; }
.landing-catalog .alice-expansion__trunk i { top: calc(50% - 5px); left: calc(50% - 5px); width: 10px; height: 10px; border-width: 2px; background: var(--l-gold); }

.landing-catalog .alice-expansion__targets {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.landing-catalog .alice-expansion-node {
	display: flex;
	min-height: 0;
	padding: 18px;
	flex-direction: column;
	align-items: flex-start;
	border: 1px solid rgba(var(--l-gold-rgb), 0.22);
	border-radius: 16px;
	background: rgba(var(--l-text-rgb), 0.035);
}

.landing-catalog .alice-expansion-node__number {
	display: grid;
	width: 31px;
	height: 31px;
	place-items: center;
	color: var(--l-gold);
	border: 1px solid rgba(var(--l-gold-rgb), 0.42);
	border-radius: 50%;
	background: rgba(var(--l-gold-rgb), 0.07);
	font-family: var(--shd-font-mono, ui-monospace, SFMono-Regular, Consolas, monospace);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.13em;
	line-height: 1;
}

.landing-catalog .alice-expansion-node strong {
	display: block;
	margin-top: 18px;
	color: var(--l-text);
	font-size: 13px;
	font-weight: 640;
	line-height: 1.2;
}

.landing-catalog .alice-expansion-node p {
	margin: 8px 0 0;
	color: var(--alice-muted);
	font-size: 10px;
	line-height: 1.5;
}

.landing-catalog .alice-expansion-node--yandex { border-color: rgba(var(--l-accent-rgb), 0.38); }
.landing-catalog .alice-expansion-node--marusia { border-color: rgba(var(--alice-blue-rgb), 0.34); }
.landing-catalog .alice-expansion-node--salute { border-color: rgba(var(--alice-positive-rgb), 0.34); }
.landing-catalog .alice-expansion-node--local { border-color: rgba(var(--l-gold-rgb), 0.34); }

@container landing-catalog-preview (max-width: 820px) {
	.landing-catalog .alice-section-head { grid-template-columns: 1fr; gap: 20px; margin-bottom: 35px; }
	.landing-catalog .alice-expansion__map { grid-template-columns: 1fr; }
	.landing-catalog .alice-expansion__trunk { min-height: 32px; }
	.landing-catalog .alice-expansion__trunk::before { right: 18%; left: 18%; }
	.landing-catalog .alice-expansion__trunk::after { top: 0; bottom: 0; }
	.landing-catalog .alice-expansion__trunk span:first-child { top: calc(50% - 4px); left: 18%; }
	.landing-catalog .alice-expansion__trunk span:last-child { top: calc(50% - 4px); right: 18%; }
}

@container landing-catalog-preview (max-width: 620px) {
	.landing-catalog .alice-expansion__screenbar { align-items: flex-start; flex-direction: column; gap: 9px; padding: 14px 17px; }
	.landing-catalog .alice-expansion__map { padding: 20px 17px; }
	.landing-catalog .alice-expansion__core { padding: 22px; }
	.landing-catalog .alice-expansion__targets { grid-template-columns: 1fr; }
}
