/**
 * GE2studio V1.10.22 — GE2 Trace premium pictogram system.
 *
 * One proprietary SVG grammar for every editorial pictogram. The icon remains
 * decorative: adjacent copy carries its accessible name.
 */

.ge2-icon {
	--ge2-trace-copper: #e86129;
	--ge2-trace-copper-light: #ff9864;
	--ge2-trace-ivory: #f4e9dc;
	--ge2-trace-enamel: #111516;
	container-name: ge2-icon;
	container-type: inline-size;
	isolation: isolate;
}

.premium-icon.ge2-icon:not(.decision-journey-node) { position: relative; }

/* Journey nodes keep their structural placement on the desktop curve. */
.decision-journey-node.ge2-icon { position: absolute; }

.ge2-icon .ge2-glyph {
	position: relative;
	z-index: 2;
	overflow: visible;
	pointer-events: none;
	shape-rendering: geometricPrecision;
}

.ge2-icon .ge2-glyph__line,
.ge2-icon .ge2-glyph__guide,
.ge2-icon .ge2-glyph__accent,
.ge2-icon .ge2-glyph__threshold,
.ge2-icon .ge2-glyph__node-open {
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
	vector-effect: non-scaling-stroke;
}

.ge2-icon .ge2-glyph__line {
	stroke: var(--ge2-trace-copper);
	stroke-width: 1.62;
	opacity: .98;
}

.ge2-icon .ge2-glyph__guide {
	stroke: var(--ge2-trace-ivory);
	stroke-width: 1.08;
	opacity: .43;
}

.ge2-icon .ge2-glyph__accent {
	stroke: var(--ge2-trace-copper-light);
	stroke-width: 1.86;
	opacity: 1;
}

.ge2-icon .ge2-glyph__threshold {
	stroke: var(--ge2-trace-copper-light);
	stroke-width: 1.72;
	opacity: .95;
}

.ge2-icon .ge2-glyph__node {
	fill: var(--ge2-trace-copper-light);
	stroke: var(--ge2-trace-ivory);
	stroke-width: .82;
	vector-effect: non-scaling-stroke;
}

.ge2-icon .ge2-glyph__node-open {
	fill: var(--ge2-trace-enamel);
	stroke: var(--ge2-trace-ivory);
	stroke-width: 1.04;
	opacity: .9;
}

/* Open nodes carry a precise epistemic role; none reads as pre-approved. */
.ge2-icon .ge2-glyph__node-open.ge2-glyph__node--hypothesis {
	stroke: var(--ge2-trace-copper-light);
	opacity: 1;
}

.ge2-icon .ge2-glyph__node-open.ge2-glyph__node--reference {
	stroke: var(--ge2-trace-ivory);
	opacity: .64;
}

.ge2-icon .ge2-glyph__node-open.ge2-glyph__node--human {
	stroke: var(--ge2-trace-copper-light);
	stroke-width: 1.24;
	opacity: 1;
}

/* Black enamel and copper edge: the approved GE2studio material signature. */
.premium-icon.ge2-icon,
.home-copilot-icon.ge2-icon {
	display: grid;
	place-items: center;
	border: 1px solid rgba(232, 97, 41, .56);
	border-radius: 31%;
	background:
		linear-gradient(145deg, rgba(255, 255, 255, .06), transparent 38%),
		linear-gradient(145deg, #252a2b 0%, #151819 48%, #0b0d0e 100%);
	color: var(--ge2-trace-copper);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, .1),
		inset 0 -1px 0 rgba(0, 0, 0, .38),
		0 12px 28px rgba(15, 18, 19, .14);
}

.premium-icon.ge2-icon::after,
.home-copilot-icon.ge2-icon::after {
	content: "";
	position: absolute;
	z-index: 1;
	inset: 1px;
	border-radius: inherit;
	background:
		linear-gradient(135deg, rgba(255, 255, 255, .07) 0 16%, transparent 16% 43%, rgba(232, 97, 41, .035) 43% 58%, transparent 58%);
	opacity: .72;
	pointer-events: none;
}

.home-copilot-icon.ge2-icon { position: relative; }

/* The human gate is always open: it must never look pre-approved. */
.ge2-icon[data-icon="decision"] .ge2-glyph__threshold,
.ge2-icon[data-icon="gate"] .ge2-glyph__threshold {
	stroke-width: 1.9;
}

.premium-icon.ge2-icon[data-icon="decision"] .ge2-glyph,
.premium-icon.ge2-icon[data-icon="gate"] .ge2-glyph {
	width: min(62%, 30px);
	height: min(62%, 30px);
}

/* Optical master for wrappers whose rendered size is 44 px or smaller. */
@container ge2-icon (max-width: 44px) {
	.ge2-glyph__line { stroke-width: 1.92; }
	.ge2-glyph__guide { stroke-width: 1.38; opacity: .6; }
	.ge2-glyph__accent,
	.ge2-glyph__threshold { stroke-width: 2.04; }
	.ge2-glyph__node { stroke-width: 1.06; }
	.ge2-glyph__node-open { stroke-width: 1.3; }
	.ge2-glyph__detail { display: none; }
}

/* These two components render a small glyph inside a wrapper wider than 44px. */
:is(.operating-card .ge2-icon, .decision-intro-scene > footer .ge2-icon) .ge2-glyph__line {
	stroke-width: 1.92;
}

:is(.operating-card .ge2-icon, .decision-intro-scene > footer .ge2-icon) .ge2-glyph__guide {
	stroke-width: 1.38;
	opacity: .6;
}

:is(.operating-card .ge2-icon, .decision-intro-scene > footer .ge2-icon) :is(.ge2-glyph__accent, .ge2-glyph__threshold) {
	stroke-width: 2.04;
}

:is(.operating-card .ge2-icon, .decision-intro-scene > footer .ge2-icon) .ge2-glyph__node {
	stroke-width: 1.06;
}

:is(.operating-card .ge2-icon, .decision-intro-scene > footer .ge2-icon) .ge2-glyph__node-open {
	stroke-width: 1.3;
}

:is(.operating-card .ge2-icon, .decision-intro-scene > footer .ge2-icon) .ge2-glyph__detail {
	display: none;
}

@media (width <= 1180px) {
	.decision-journey-node.ge2-icon {
		position: relative;
		top: auto;
		left: auto;
		transform: none;
	}
}

/* Fallback only for engines without container queries. */
@supports not (container-type: inline-size) {
	@media (max-width: 430px) {
		.ge2-icon .ge2-glyph__line { stroke-width: 1.92; }
		.ge2-icon .ge2-glyph__guide { stroke-width: 1.38; opacity: .6; }
		.ge2-icon :is(.ge2-glyph__accent, .ge2-glyph__threshold) { stroke-width: 2.04; }
		.ge2-icon .ge2-glyph__node { stroke-width: 1.06; }
		.ge2-icon .ge2-glyph__node-open { stroke-width: 1.3; }
		.ge2-icon .ge2-glyph__detail { display: none; }
	}
}

@media (prefers-reduced-motion: reduce) {
	.ge2-icon:not(.decision-journey-node),
	.ge2-icon .ge2-glyph,
	.operating-card:hover .ge2-icon,
	.operating-card:hover .ge2-icon .ge2-glyph,
	.principle-grid > article:hover .ge2-icon,
	.role-panels > article:hover .ge2-icon,
	.status-grid > article:hover .ge2-icon,
	.offer-modules > article:hover .ge2-icon,
	.migration-acts > article:hover .ge2-icon,
	.security-role-matrix > article:hover .ge2-icon,
	.content-list-four > article:hover .ge2-icon,
	.trust-grid > a:hover .ge2-icon {
		animation: none;
		transition: none;
		transform: none;
	}

	.decision-journey-node.ge2-icon {
		animation: none;
		transition: none;
	}
}

@media (forced-colors: active) {
	.premium-icon.ge2-icon,
	.home-copilot-icon.ge2-icon {
		border-color: CanvasText;
		background: Canvas;
		color: CanvasText;
		box-shadow: none;
	}

	.premium-icon.ge2-icon::after,
	.home-copilot-icon.ge2-icon::after { display: none; }

	.ge2-icon .ge2-glyph__line,
	.ge2-icon .ge2-glyph__guide,
	.ge2-icon .ge2-glyph__accent,
	.ge2-icon .ge2-glyph__threshold,
	.ge2-icon .ge2-glyph__node-open {
		stroke: CanvasText;
		opacity: 1;
	}

	.ge2-icon .ge2-glyph__node {
		fill: CanvasText;
		stroke: Canvas;
	}

	.ge2-icon .ge2-glyph__node-open {
		fill: Canvas;
	}

	.ge2-icon .ge2-glyph__node-open:is(
		.ge2-glyph__node--hypothesis,
		.ge2-glyph__node--reference,
		.ge2-glyph__node--human
	) {
		fill: Canvas;
		stroke: CanvasText;
		opacity: 1;
	}
}
