/* Home feature selector: the original centred icon carousel, scoped to Theme IA. */
body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-carousel-defs {
	position: absolute;
	width: 0;
	height: 0;
	overflow: hidden;
	pointer-events: none;
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-pills-shell {
	position: relative;
}

/* Prevent the legacy, unwrapped pills block from flashing before the
   compatibility script places it behind the icon selector. */
body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-pills-shell > .feature-pills__wrap {
	opacity: 0;
	pointer-events: none;
	position: absolute;
	visibility: hidden;
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-carousel {
	--lp-feature-carousel-item: clamp(96px, calc(50vw / 9), 126px);
	margin: 0 auto;
	max-width: 1200px;
	position: relative;
	width: 100%;
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-carousel__viewport {
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 25%, #000 75%, transparent);
	height: 148px;
	mask-image: linear-gradient(90deg, transparent, #000 25%, #000 75%, transparent);
	overflow: hidden;
	position: relative;
	width: 100%;
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-carousel__track {
	height: 132px;
	position: relative;
	width: 100%;
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-carousel__track > button {
	align-items: center;
	appearance: none;
	background: transparent;
	border: 0;
	color: rgba(255, 255, 255, 0.62);
	cursor: pointer;
	display: flex;
	flex-direction: column;
	font: inherit;
	font-size: 11px;
	font-weight: 700;
	gap: 10px;
	justify-content: center;
	line-height: 1.15;
	height: 100%;
	left: 0;
	padding: 7px 4px;
	position: absolute;
	text-align: center;
	transition: color 220ms ease, left 500ms cubic-bezier(0.22, 1, 0.36, 1), opacity 220ms ease, transform 500ms cubic-bezier(0.22, 1, 0.36, 1) !important;
	user-select: none;
	width: var(--lp-feature-carousel-item);
	will-change: left, transform;
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-carousel__icon {
	align-items: center;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 18px;
	color: rgba(255, 255, 255, 0.78);
	display: flex;
	flex: 0 0 58px;
	height: 58px;
	justify-content: center;
	min-height: 58px;
	transition: background-color 220ms ease, border-color 220ms ease, box-shadow 220ms ease, color 220ms ease, transform 220ms ease !important;
	width: 58px;
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-carousel__track > button > span:last-child {
	align-items: flex-start;
	display: flex;
	height: 2.3em;
	justify-content: center;
	width: 100%;
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-carousel__icon svg:not(.svg-inline--fa) {
	fill: none;
	height: 25px;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.65;
	width: 25px;
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-carousel__icon svg.svg-inline--fa {
	display: block;
	font-size: 25px;
	height: 1em;
	overflow: visible;
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-carousel__icon i {
	display: block;
	font-size: 25px;
	line-height: 1;
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-carousel__track > button:hover,
body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-carousel__track > button:focus-visible {
	color: #fff;
	outline: 0;
	transform: scale(1.1);
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-carousel__track > button:hover .lp-feature-carousel__icon,
body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-carousel__track > button:focus-visible .lp-feature-carousel__icon {
	background: rgba(255, 255, 255, 0.14);
	border-color: rgba(255, 255, 255, 0.36);
	transform: translateY(-3px);
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-carousel__track > button:focus-visible .lp-feature-carousel__icon {
	box-shadow: 0 0 0 3px #1e1e1e, 0 0 0 6px #fff;
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-carousel__track > button.is-center {
	color: #fff;
	transform: scale(1.2);
	z-index: 2;
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-carousel__track > button.is-recycled {
	visibility: hidden;
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-carousel__track > button.is-center .lp-feature-carousel__icon {
	background: #5233ff;
	border-color: transparent;
	box-shadow: none;
	color: #fff;
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-carousel__hint {
	color: rgba(255, 255, 255, 0.48) !important;
	font-size: 12px !important;
	font-weight: 550;
	letter-spacing: 0.015em;
	margin: 2px 0 0 !important;
	text-align: center;
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-pills-panel {
	margin-top: clamp(36px, 4vw, 58px);
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 420ms ease, transform 520ms cubic-bezier(0.22, 1, 0.36, 1), visibility 0s linear 520ms !important;
	visibility: hidden;
	width: 100%;
}

body.lptia-bridge-active.home .lp-feature-pills-panel {
	margin-top: clamp(18px, 2vw, 29px);
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-pills-panel[aria-hidden="true"] {
	left: 0;
	pointer-events: none;
	position: absolute;
	top: 0;
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-pills-panel.is-open {
	opacity: 1;
	position: relative;
	transform: translateY(0);
	transition-delay: 0s;
	visibility: visible;
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-pills-panel__inner {
	min-width: 0;
	opacity: 1;
	transform: translateY(0);
	transition: opacity 240ms ease, transform 300ms cubic-bezier(0.22, 1, 0.36, 1) !important;
	width: 100%;
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-pills-panel.is-switching .lp-feature-pills-panel__inner {
	opacity: 0;
	transform: translateY(12px) scale(0.992);
}

/* The IA entry keeps the historical interactive component intact. Only its
   two native tabs are mirrored by the expanding pills on the left. */
body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-ai-showcase[hidden],
body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .feature-pills__wrap[hidden] {
	display: none !important;
}

/* A feature panel must always keep one bubble open on the home page. */
body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) [data-feature-carousel-panel] .feature-pills__close {
	display: none !important;
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) [data-feature-carousel-panel] .feature-pills__item-button {
	max-width: 100%;
	transition: opacity 120ms ease 0ms !important;
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) [data-feature-carousel-panel] .feature-pills__item-label {
	flex: 1 1 auto;
	white-space: normal;
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) [data-feature-carousel-panel] .feature-pills__item-bg {
	transition: background-color 260ms ease, box-shadow 260ms ease !important;
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) [data-feature-carousel-panel] [data-feature-pills-item][data-active="true"] .feature-pills__item-bg {
	background: linear-gradient(135deg, rgba(82, 51, 255, 0.22), rgba(82, 51, 255, 0.08));
	box-shadow: inset 0 0 0 1px rgba(139, 119, 255, 0.34), 0 16px 34px rgba(0, 0, 0, 0.16);
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) [data-feature-carousel-panel] [data-feature-pills-visual] {
	filter: blur(5px);
	opacity: 0;
	transform: translateX(16px) scale(0.985);
	transition: filter 360ms ease, opacity 360ms ease, transform 460ms cubic-bezier(0.22, 1, 0.36, 1) !important;
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) [data-feature-carousel-panel] [data-feature-pills-visual][data-active="true"] {
	filter: none;
	opacity: 1;
	transform: translateX(0) scale(1);
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) [data-feature-carousel-panel] [data-feature-pills-item]:has([data-feature-pills-button]:focus-visible)::after {
	border: 2px solid #ffffff;
	border-radius: 2em;
	box-shadow: 0 0 0 3px #5233ff;
	content: "";
	inset: -3px;
	pointer-events: none;
	position: absolute;
	z-index: 4;
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) [data-feature-carousel-panel] [data-feature-pill-count="7"] .feature-pills__info-list,
body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) [data-feature-carousel-panel] [data-feature-pill-count="8"] .feature-pills__info-list,
body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) [data-feature-carousel-panel] [data-feature-pill-count="9"] .feature-pills__info-list,
body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) [data-feature-carousel-panel] [data-feature-pill-count="10"] .feature-pills__info-list {
	gap: 0.55em;
}

@media (min-width: 992px) {
	body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) [data-feature-carousel-panel] .feature-pills__wrap {
		--content-item-expanded: 100%;
		height: auto;
		min-height: 42em;
	}

	body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) [data-feature-carousel-panel] .feature-pills__layout {
		display: grid;
		grid-template-columns: minmax(0, 38%) minmax(0, 62%);
		height: auto;
		min-height: 42em;
	}

	body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) [data-feature-carousel-panel] .feature-pills__col {
		min-width: 0;
		width: auto;
	}

	body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) [data-feature-carousel-panel] .feature-pills__info-collection {
		align-items: stretch;
		padding: 1.4em 1em 1.4em 1.35em;
	}

	body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) [data-feature-carousel-panel] .feature-pills__info-list {
		gap: 0.52em;
		margin: 0;
		max-width: none;
		width: 100%;
	}

	body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) [data-feature-carousel-panel] .feature-pills__item-button {
		padding: 0.68em 1em;
	}

	body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) [data-feature-carousel-panel] .feature-pills__item-label {
		font-size: 1.06em;
		line-height: 1.2;
	}

	body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) [data-feature-carousel-panel] .feature-pills__item-inner {
		max-width: none;
		padding: 1.15em 1.1em 1.3em;
		width: 100%;
	}

	body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) [data-feature-carousel-panel] .feature-pills__item-body {
		font-size: 1.03em;
		line-height: 1.42;
	}

	body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) [data-feature-carousel-panel] .feature-pills__col.is--visual {
		border-radius: 1.15em;
		margin: 1em 1em 1em 0;
		overflow: hidden;
	}

	body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) [data-feature-carousel-panel] [data-feature-pill-count="9"] .feature-pills__info-list,
	body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) [data-feature-carousel-panel] [data-feature-pill-count="10"] .feature-pills__info-list {
		gap: 0.34em;
	}

	body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) [data-feature-carousel-panel] [data-feature-pill-count="9"] .feature-pills__item-button,
	body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) [data-feature-carousel-panel] [data-feature-pill-count="10"] .feature-pills__item-button {
		padding-block: 0.58em;
	}
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-ai-showcase {
	inset: 18px;
	margin: 0;
	max-width: none;
	min-width: 0;
	padding: 0;
	position: absolute;
	z-index: 3;
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-ai-showcase .lp-rich-ai-mount,
body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-ai-showcase .lph-outer {
	height: 100% !important;
	min-height: 0 !important;
	width: 100%;
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-ai-showcase .lph-wrap {
	aspect-ratio: auto !important;
	height: 100% !important;
	min-height: 0 !important;
	width: 100%;
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-ai-showcase__fallback {
	border-radius: 16px;
	display: block;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-ai-showcase .lp-feature-ai-native-tabs {
	display: none !important;
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-ai-more[hidden] {
	display: none !important;
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-ai-more {
	margin: 16px auto 0;
	max-width: var(--content-item-expanded);
	padding-inline: 20px;
	width: 100%;
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-ai-more .lph-savoir {
	align-items: flex-start;
	display: inline-flex !important;
	position: static !important;
	transform: none !important;
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-ai-more .lph-savoir-txt {
	color: #ffffff;
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.35;
	margin: 0;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-ai-more .lph-savoir-arrow {
	display: none;
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) :is(.lp-feature-pills-more, .feature-pills__item-link)[hidden] {
	display: none !important;
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-pills-more {
	margin: 16px auto 0;
	max-width: var(--content-item-expanded);
	padding-inline: 20px;
	width: 100%;
}

body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) :is(.lp-feature-pills-more a, .feature-pills__item-link) {
	color: #ffffff;
	display: inline-flex;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.35;
	margin-top: 12px;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

@media (max-width: 991px) {
	body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-carousel {
		--lp-feature-carousel-item: clamp(104px, 18vw, 144px);
	}
}

@media (max-width: 767px) {
	body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-carousel {
		--lp-feature-carousel-item: clamp(104px, 18vw, 144px);
	}

	body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-carousel__viewport {
		-webkit-mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent);
		height: 140px;
		mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent);
	}

	body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-carousel__track {
		height: 124px;
	}

	body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-carousel__track > button {
		font-size: 10px;
	}

	body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-carousel__icon {
		border-radius: 16px;
		flex-basis: 54px;
		height: 54px;
		min-height: 54px;
		width: 54px;
	}

	body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-carousel__hint {
		font-size: 11px !important;
		padding: 0 20px;
	}

	body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-pills-panel {
		margin-top: 30px;
	}

	body.lptia-bridge-active.home .lp-feature-pills-panel {
		margin-top: 15px;
	}

	body.lptia-bridge-active:is(.home, .lptia-feature-carousel-page) .lp-feature-ai-more {
		padding-inline: 0;
	}

	body.home.lptia-bridge-active #tia-home-features [data-feature-carousel-panel] .feature-pills__info-collection {
		padding-inline: 16px;
	}

	body.home.lptia-bridge-active #tia-home-features :is(.lp-feature-ai-more, .lp-feature-pills-more) {
		padding-inline: 0;
	}
}
