/**
 * IT Directory Pro Home — scoped layout (Listeo child).
 */

/* Default horizontal trim. Where supported, clip avoids hidden+visible forcing overflow-y:auto (clips hero dropdowns). */
.appsinsight-it-home {
	overflow-x: hidden;
	letter-spacing: var(--appsinsight-home-letter, 0.04em);
	/* Body copy scale — comfortable line-height + paragraph gaps */
	--appsinsight-home-copy-fs: 1.28rem;
	--appsinsight-home-copy-lh: 1.68;
	--appsinsight-home-p-margin: 0.95rem;
	--appsinsight-home-letter: 0.04em;
}

@supports (overflow-x: clip) {
	.appsinsight-it-home {
		overflow-x: clip;
		overflow-y: visible;
	}
}

.appsinsight-it-home input,
.appsinsight-it-home input[type="text"],
.appsinsight-it-home input[type="search"],
.appsinsight-it-home input[type="password"],
.appsinsight-it-home input[type="email"],
.appsinsight-it-home input[type="number"],
.appsinsight-it-home textarea,
.appsinsight-it-home select {
	margin: 0;
	letter-spacing: normal;
}

.appsinsight-it-home code,
.appsinsight-it-home kbd,
.appsinsight-it-home samp,
.appsinsight-it-home pre {
	letter-spacing: normal;
}

.appsinsight-section {
	padding: 4.25rem 0;
}

.appsinsight-section--light {
	background: #fff;
	color: #333;
}

.appsinsight-section--muted {
	background: #f6f7f8;
	color: #333;
}

.appsinsight-section--dark {
	background: linear-gradient(165deg, #1a1d2e 0%, #252836 100%);
	color: #f0f2f5;
}

.appsinsight-section--accent {
	background: #2d3142;
	color: #fff;
}

.appsinsight-section__header {
	text-align: center;
	max-width: 46rem;
	margin: 0 auto 2.5rem;
}

.appsinsight-section__header--on-dark .appsinsight-section__lead,
.appsinsight-section__header--on-dark h2 {
	color: #fff;
}

.appsinsight-section__header h2 {
	font-size: 1.85rem;
	margin-bottom: 0.75rem;
	font-weight: 700;
	line-height: 1.25;
}

.appsinsight-section__lead {
	font-size: 1.05rem;
	line-height: 1.6;
	opacity: 0.92;
	margin: 0;
}

.appsinsight-section__cta {
	text-align: center;
	margin: 2rem 0 0;
}

.appsinsight-section__cta .button {
	margin: 0 0.25rem;
}

/* Hero — IT/SaaS atmosphere: mesh, gradient, drifting orbs, floating glass cards */
.appsinsight-it-home .appsinsight-hero--light {
	--appsinsight-hero-text: #0f1115;
	--appsinsight-hero-subtitle: #2c3138;
	--appsinsight-hero-lead: #6b7280;
	--appsinsight-hero-border: #e8eaef;

	position: relative;
	z-index: 20;
	color: var(--appsinsight-hero-text);
	/* visible: paired hidden+x makes overflow-y compute to auto and clips suggest lists */
	overflow: visible;
	background-color: #fff;
	/* Top reads as white; tint only lower / sides */
	background-image:
		linear-gradient(165deg, #ffffff 0%, #ffffff 38%, #f7f9fc 72%, #f4f7fb 100%),
		radial-gradient(ellipse 75% 50% at 14% 48%, color-mix(in srgb, var(--appsinsight-accent, #f91942) 6%, transparent) 0%, transparent 58%),
		radial-gradient(ellipse 70% 50% at 88% 78%, rgba(99, 102, 241, 0.08) 0%, transparent 50%);
}

@supports not (color: color-mix(in srgb, red, blue)) {
	.appsinsight-it-home .appsinsight-hero--light {
		background-image:
			linear-gradient(165deg, #ffffff 0%, #ffffff 38%, #f7f9fc 72%, #f4f7fb 100%),
			radial-gradient(ellipse 75% 50% at 14% 48%, rgba(249, 25, 66, 0.05) 0%, transparent 58%),
			radial-gradient(ellipse 70% 50% at 88% 78%, rgba(99, 102, 241, 0.08) 0%, transparent 50%);
	}
}

.appsinsight-hero__blobs {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	overflow: hidden;
}

.appsinsight-hero__mesh {
	position: absolute;
	inset: 0;
	opacity: 0.55;
	background-image: radial-gradient(circle at center, rgba(15, 23, 42, 0.07) 1px, transparent 1.5px);
	background-size: 26px 26px;
	mask-image: radial-gradient(ellipse 85% 70% at 50% 45%, #000 20%, transparent 72%);
	-webkit-mask-image: radial-gradient(ellipse 85% 70% at 50% 45%, #000 20%, transparent 72%);
}

.appsinsight-hero__orb {
	position: absolute;
	border-radius: 50%;
	filter: blur(72px);
	will-change: transform;
}

.appsinsight-hero__orb--a {
	width: min(54vw, 30rem);
	height: min(54vw, 30rem);
	background: linear-gradient(135deg, #e8ecf4 0%, #dfe7f5 100%);
	opacity: 0.72;
	top: 4%;
	left: max(-14%, -7rem);
	animation: appsinsight-hero-orb-a 32s ease-in-out infinite;
}

.appsinsight-hero__orb--b {
	width: min(46vw, 26rem);
	height: min(46vw, 26rem);
	background: linear-gradient(145deg, #e9e7f4 0%, color-mix(in srgb, var(--appsinsight-accent, #f91942) 12%, #eef0f8) 100%);
	opacity: 0.55;
	bottom: 6%;
	right: max(-12%, -6rem);
	animation: appsinsight-hero-orb-b 38s ease-in-out infinite;
}

.appsinsight-hero__orb--c {
	width: min(38vw, 20rem);
	height: min(38vw, 20rem);
	background: rgba(129, 140, 248, 0.35);
	opacity: 0.45;
	top: 38%;
	left: 50%;
	transform: translateX(-35%);
	animation: appsinsight-hero-orb-c 28s ease-in-out infinite;
}

@supports not (color: color-mix(in srgb, red, blue)) {
	.appsinsight-hero__orb--b {
		background: linear-gradient(145deg, #e9e7f4 0%, #fdeef1 100%);
	}
}

@keyframes appsinsight-hero-orb-a {
	0%,
	100% {
		transform: translate(0, 0) scale(1);
	}
	50% {
		transform: translate(4%, 3%) scale(1.06);
	}
}

@keyframes appsinsight-hero-orb-b {
	0%,
	100% {
		transform: translate(0, 0) scale(1);
	}
	50% {
		transform: translate(-3%, -4%) scale(1.05);
	}
}

@keyframes appsinsight-hero-orb-c {
	0%,
	100% {
		transform: translateX(-35%) translateY(0) scale(1);
	}
	50% {
		transform: translateX(-32%) translateY(-5%) scale(1.08);
	}
}

@keyframes appsinsight-hero-card-float {
	0%,
	100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-10px);
	}
}

.appsinsight-hero__float-cards {
	position: absolute;
	inset: 0;
	z-index: 1;
}

.appsinsight-hero__float-card {
	position: absolute;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.5rem;
	padding: 1rem 1.15rem;
	max-width: 14.5rem;
	min-width: 11.5rem;
	border-radius: 14px;
	border: 1px solid rgba(15, 23, 42, 0.09);
	background: rgba(255, 255, 255, 0.78);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	box-shadow: 0 6px 28px rgba(15, 23, 42, 0.08);
	animation: appsinsight-hero-card-float 7s ease-in-out infinite;
}

.appsinsight-hero__float-card-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--appsinsight-accent, #f91942);
	opacity: 0.95;
}

.appsinsight-hero__float-card-svg {
	display: block;
	flex-shrink: 0;
}

.appsinsight-hero__float-card-label {
	color: var(--appsinsight-hero-text);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: -0.01em;
}

/* Vetted agencies — right column */
.appsinsight-hero__float-card--1 {
	top: 33%;
	right: 13%;
	left: auto;
	animation-delay: 0s;
}

.appsinsight-hero__float-card--2 {
	top: 16%;
	right: 2.5%;
	animation-delay: -1.2s;
}

.appsinsight-hero__float-card--3 {
	top: 35%;
	left: 13%;
	animation-delay: -2.4s;
}

.appsinsight-hero__float-card--4 {
	bottom: 26%;
	left: 3%;
	animation-delay: -3.6s;
}

.appsinsight-hero__float-card--5 {
	bottom: 18%;
	right: 3%;
	animation-delay: -4.8s;
}

@media (max-width: 1399px) {
	.appsinsight-hero__float-card {
		max-width: 13rem;
		min-width: 10.5rem;
		padding: 0.85rem 1rem;
	}

	.appsinsight-hero__float-card-label {
		font-size: 0.9375rem;
	}
}

@media (max-width: 1199px) {
	.appsinsight-hero__float-card {
		max-width: 11.5rem;
		min-width: 9.5rem;
		padding: 0.75rem 0.85rem;
		gap: 0.4rem;
	}

	.appsinsight-hero__float-card-label {
		font-size: 0.875rem;
		line-height: 1.32;
	}

	.appsinsight-hero__float-card-svg {
		width: 24px;
		height: 24px;
	}

	.appsinsight-hero__float-card--1 {
		right: 13%;
		left: auto;
		top: 33%;
	}

	.appsinsight-hero__float-card--2 {
		right: 1%;
		top: 14%;
	}

	.appsinsight-hero__float-card--3 {
		left: 13%;
		top: 35%;
	}

	.appsinsight-hero__float-card--4 {
		left: 1.5%;
		bottom: 24%;
	}

	.appsinsight-hero__float-card--5 {
		right: 1.5%;
		bottom: 16%;
	}
}

@media (max-width: 991px) {
	.appsinsight-hero__float-cards {
		display: none;
	}

	.appsinsight-hero__orb--c {
		opacity: 0.28;
	}
}

@media (prefers-reduced-motion: reduce) {
	.appsinsight-hero__orb,
	.appsinsight-hero__float-card {
		animation: none !important;
	}
}

.appsinsight-reduced-motion .appsinsight-hero__orb,
.appsinsight-reduced-motion .appsinsight-hero__float-card {
	animation: none !important;
}

/* Stack above .appsinsight-popular-glass so open dropdowns paint on top of the dark band */
.appsinsight-it-home .appsinsight-hero--light > .container {
	position: relative;
	z-index: 10;
	overflow: visible;
}

.appsinsight-it-home .appsinsight-hero--light .appsinsight-hero__inner {
	position: relative;
	z-index: 1;
	overflow: visible;
	padding: clamp(5.75rem, 10.5vw, 9rem) 15px clamp(4.75rem, 7vw, 6.25rem);
	width: 100%;
}

.appsinsight-it-home .appsinsight-hero--light .appsinsight-hero__layout {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	max-width: min(100%, 83rem);
	margin: 0 auto;
	text-align: center;
	overflow: visible;
}

.appsinsight-it-home .appsinsight-hero--light .appsinsight-hero__intro {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	margin: 0 0 clamp(2rem, 4.5vw, 2.85rem);
	font-family: inherit;
}

.appsinsight-it-home .appsinsight-hero--light .appsinsight-hero__title {
	font-family: inherit;
	color: var(--appsinsight-hero-text);
	font-size: clamp(2.5rem, 4.5vw + 1.25rem, 5.25rem);
	font-weight: 700;
	margin: 0 0 1rem;
	line-height: 1.06;
	text-align: center;
	letter-spacing: -0.04em;
	max-width: 100%;
	width: 100%;
}

.appsinsight-it-home .appsinsight-hero--light .appsinsight-hero__subtitle {
	font-family: inherit;
	color: var(--appsinsight-hero-subtitle);
	font-size: clamp(1.25rem, 2.2vw, 1.65rem);
	font-weight: 500;
	line-height: 1.35;
	text-align: center;
	margin: 0 0 1.25rem;
	max-width: 38rem;
	width: 100%;
}

.appsinsight-it-home .appsinsight-hero--light .appsinsight-hero__lead,
.appsinsight-it-home .appsinsight-hero--light .appsinsight-hero__lead p {
	font-family: inherit;
	color: var(--appsinsight-hero-lead);
	font-size: clamp(1.0625rem, 1.65vw, 1.1875rem);
	font-weight: 400;
	line-height: 1.72;
	text-align: center;
	max-width: 36rem;
	width: 100%;
}

.appsinsight-it-home .appsinsight-hero--light .appsinsight-hero__lead p {
	margin: 0 0 var(--appsinsight-home-p-margin, 0.95rem);
}

.appsinsight-it-home .appsinsight-hero--light .appsinsight-hero__lead p:last-child {
	margin-bottom: 0;
}

/* Hero search — fused bar, dropdown above trending section (stacking + overflow fixes) */
/* Float cards live in .appsinsight-hero__blobs (absolute); search is in .container — independent layout. Explicit centering so bar never shifts. */
.appsinsight-it-home .appsinsight-hero--light .appsinsight-hero__search {
	position: relative;
	z-index: 20;
	isolation: isolate;
	align-self: center;
	box-sizing: border-box;
	width: 100%;
	max-width: 52rem;
	margin-top: clamp(2.25rem, 5.5vw, 3.5rem);
	margin-bottom: clamp(1.5rem, 3.5vw, 2.5rem);
	margin-left: auto;
	margin-right: auto;
	padding: 0;
	background: transparent;
	border: none;
}

.appsinsight-it-home .appsinsight-hero--light .appsinsight-simple-search {
	display: block;
	box-sizing: border-box;
	width: 100%;
	max-width: 52rem;
	margin: 0 auto;
}

.appsinsight-it-home .appsinsight-hero--light .appsinsight-simple-search__shell {
	position: relative;
	z-index: 1;
	width: 100%;
	padding: 6px;
	background: #fff;
	border: 1px solid rgba(15, 23, 42, 0.07);
	border-radius: 18px;
	box-shadow:
		0 1px 2px rgba(15, 23, 42, 0.04),
		0 10px 28px rgba(15, 23, 42, 0.07),
		0 28px 56px rgba(15, 23, 42, 0.09);
}

.appsinsight-it-home .appsinsight-hero--light .appsinsight-simple-search__row {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	width: 100%;
	gap: 0;
	min-height: 4.35rem;
}

.appsinsight-it-home .appsinsight-hero--light .appsinsight-simple-search__cell {
	display: flex;
	min-width: 0;
	position: relative;
}

.appsinsight-it-home .appsinsight-hero--light .appsinsight-simple-search__cell--keyword {
	flex: 1.55 1 0;
	min-width: min(100%, 12rem);
}

.appsinsight-it-home .appsinsight-hero--light .appsinsight-simple-search__cell--location {
	flex: 1 1 0;
	min-width: min(100%, 9.5rem);
}

.appsinsight-it-home .appsinsight-hero--light .appsinsight-simple-search__cell--location::before {
	content: "";
	position: absolute;
	left: 0;
	top: 14%;
	bottom: 14%;
	width: 1px;
	background: rgba(15, 23, 42, 0.1);
	pointer-events: none;
	z-index: 2;
}

.appsinsight-it-home .appsinsight-hero--light .appsinsight-simple-search__cell--btn {
	flex: 0 0 auto;
	align-items: stretch;
	padding-left: 8px;
	margin-left: 4px;
}

.appsinsight-it-home .appsinsight-hero--light .appsinsight-simple-search__cell--btn::before {
	content: "";
	position: absolute;
	left: 0;
	top: 14%;
	bottom: 14%;
	width: 1px;
	background: rgba(15, 23, 42, 0.1);
	pointer-events: none;
}

.appsinsight-it-home .appsinsight-hero--light .appsinsight-simple-search__input-wrap {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 4.35rem;
	padding: 0 1rem 0 3.2rem;
	background: transparent;
	border: none;
	border-radius: 12px;
	box-shadow: none;
	transition: background 0.15s ease, box-shadow 0.15s ease;
}

.appsinsight-it-home .appsinsight-hero--light .appsinsight-simple-search__cell--location .appsinsight-simple-search__input-wrap {
	padding-left: 3.35rem;
}

.appsinsight-it-home .appsinsight-hero--light .appsinsight-simple-search__input-wrap:focus-within {
	background: rgba(15, 23, 42, 0.03);
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--appsinsight-accent, #f91942) 28%, transparent);
}

@supports not (color: color-mix(in srgb, red, blue)) {
	.appsinsight-it-home .appsinsight-hero--light .appsinsight-simple-search__input-wrap:focus-within {
		box-shadow: inset 0 0 0 1px rgba(249, 25, 66, 0.35);
	}
}

.appsinsight-it-home .appsinsight-hero--light .appsinsight-simple-search__icon {
	position: absolute;
	left: 1.05rem;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.5rem;
	height: 1.5rem;
	flex-shrink: 0;
	color: var(--appsinsight-accent, #f91942);
	pointer-events: none;
}

.appsinsight-it-home .appsinsight-hero--light .appsinsight-simple-search__input {
	flex: 1;
	min-width: 0;
	min-height: 3.35rem;
	height: 4.35rem;
	padding: 0 0 0 0.2rem;
	border: 0;
	background: transparent;
	font-family: inherit;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.35;
	color: #0f172a;
	outline: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
	vertical-align: middle;
}

.appsinsight-it-home .appsinsight-hero--light .appsinsight-simple-search__input::placeholder {
	color: #64748b;
	font-weight: 400;
	opacity: 1;
}

/* Native scrollbars often ignore thin widths (esp. macOS overlay). Hide them and draw a 1px guide line. */
.appsinsight-it-home .appsinsight-hero--light ul.appsinsight-simple-search__list {
	position: absolute;
	left: -7px;
	right: -7px;
	top: calc(100% + 10px);
	z-index: 500;
	margin: 0;
	padding: 0.45rem 0;
	list-style: none;
	max-height: min(22rem, 58vh);
	overflow-y: auto;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	-ms-overflow-style: none;
	background: #fff;
	border-radius: 9px;
	border: 1px solid rgba(15, 23, 42, 0.09);
	box-shadow:
		inset -1px 0 0 rgba(15, 23, 42, 0.14),
		0 4px 16px rgba(15, 23, 42, 0.06),
		0 22px 56px rgba(15, 23, 42, 0.14);
}

.appsinsight-it-home .appsinsight-hero--light ul.appsinsight-simple-search__list::-webkit-scrollbar {
	display: none;
	width: 0;
	height: 0;
}

.appsinsight-it-home .appsinsight-hero--light .appsinsight-simple-search__list li {
	margin: 0;
	padding: 0.75rem 1.1rem;
	cursor: pointer;
	outline: none;
	display: flex;
	align-items: center;
	text-align: left;
}

.appsinsight-it-home .appsinsight-hero--light .appsinsight-simple-search__opt-label {
	font-size: 1.19rem;
	font-weight: 500;
	color: #1e293b;
	line-height: 1.4;
}

.appsinsight-it-home .appsinsight-hero--light .appsinsight-simple-search__list li:hover,
.appsinsight-it-home .appsinsight-hero--light .appsinsight-simple-search__list li:focus {
	background: color-mix(in srgb, var(--appsinsight-accent, #f91942) 9%, #fff);
}

@supports not (color: color-mix(in srgb, red, blue)) {
	.appsinsight-it-home .appsinsight-hero--light .appsinsight-simple-search__list li:hover,
	.appsinsight-it-home .appsinsight-hero--light .appsinsight-simple-search__list li:focus {
		background: rgba(15, 23, 42, 0.05);
	}
}

.appsinsight-it-home .appsinsight-hero--light .appsinsight-simple-search__submit {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 5.35rem;
	min-width: 3.35rem;
	min-height: 3.35rem;
	height: 100%;
	padding: 0;
	border: none;
	border-radius: 14px;
	background: var(--appsinsight-accent, #f91942);
	color: #fff;
	cursor: pointer;
	box-shadow:
		0 1px 2px rgba(15, 23, 42, 0.06),
		0 8px 24px color-mix(in srgb, var(--appsinsight-accent, #f91942) 42%, transparent);
	transition: filter 0.15s ease, transform 0.1s ease, box-shadow 0.15s ease;
}

@supports not (color: color-mix(in srgb, red, blue)) {
	.appsinsight-it-home .appsinsight-hero--light .appsinsight-simple-search__submit {
		box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08), 0 8px 24px rgba(249, 25, 66, 0.28);
	}
}

.appsinsight-it-home .appsinsight-hero--light .appsinsight-simple-search__submit:hover {
	filter: brightness(1.07);
}

.appsinsight-it-home .appsinsight-hero--light .appsinsight-simple-search__submit:active {
	transform: scale(0.98);
}

@media (max-width: 720px) {
	.appsinsight-it-home .appsinsight-hero--light .appsinsight-simple-search__row {
		flex-wrap: wrap;
		row-gap: 6px;
	}

	.appsinsight-it-home .appsinsight-hero--light .appsinsight-simple-search__cell--keyword,
	.appsinsight-it-home .appsinsight-hero--light .appsinsight-simple-search__cell--location {
		flex: 1 1 100%;
		min-width: 0;
	}

	.appsinsight-it-home .appsinsight-hero--light .appsinsight-simple-search__cell--location::before {
		display: none;
	}

	.appsinsight-it-home .appsinsight-hero--light .appsinsight-simple-search__cell--btn {
		flex: 1 1 100%;
		padding-left: 0;
		margin-left: 0;
		margin-top: 4px;
	}

	.appsinsight-it-home .appsinsight-hero--light .appsinsight-simple-search__cell--btn::before {
		display: none;
	}

	.appsinsight-it-home .appsinsight-hero--light .appsinsight-simple-search__submit {
		width: 100%;
		min-height: 4.35rem;
	}
}

/* Trusted by — light band + logo marquee (between hero and popular) */
.appsinsight-it-home .appsinsight-trusted-by {
	position: relative;
	z-index: 0;
	padding: clamp(1.15rem, 2.4vw, 1.65rem) 0;
	background: #f8fafc;
	border-top: 1px solid rgba(15, 23, 42, 0.06);
	border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

.appsinsight-it-home .appsinsight-trusted-by__row {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-start;
	gap: clamp(0.85rem, 2.5vw, 1.75rem);
	text-align: left;
}

.appsinsight-it-home .appsinsight-trusted-by__title {
	flex: 0 0 auto;
	margin: 0;
	padding-right: 0.25rem;
	font-weight: 700;
	color: #64748b;
	white-space: nowrap;
	text-align: left;
	align-self: center;
}

.appsinsight-it-home .appsinsight-trusted-by__marquee {
	flex: 1 1 auto;
	min-width: 0;
	align-self: stretch;
	display: flex;
	align-items: center;
}

.appsinsight-it-home .appsinsight-trusted-by__viewport {
	position: relative;
	overflow: hidden;
	flex: 1 1 auto;
	min-width: 0;
	padding: 0.15rem 0;
	/* Fade trailing edge only — label stays fixed left, logos scroll to the right */
	mask-image: linear-gradient(90deg, #000 0%, #000 82%, transparent 100%);
	-webkit-mask-image: linear-gradient(90deg, #000 0%, #000 82%, transparent 100%);
}

.appsinsight-it-home .appsinsight-trusted-by__viewport:hover .appsinsight-trusted-by__track {
	animation-play-state: paused;
}

.appsinsight-it-home .appsinsight-trusted-by__track {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	width: max-content;
	will-change: transform;
	animation: appsinsight-trusted-marquee 42s linear infinite;
}

@keyframes appsinsight-trusted-marquee {
	0% {
		transform: translate3d(0, 0, 0);
	}
	100% {
		transform: translate3d(-50%, 0, 0);
	}
}

.appsinsight-it-home .appsinsight-trusted-by__logos {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	gap: clamp(2rem, 3.5vw, 3.5rem);
	margin: 0;
	padding: 0;
	list-style: none;
}

.appsinsight-it-home .appsinsight-trusted-by__item {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
}

.appsinsight-it-home .appsinsight-trusted-by__logo-img {
	display: block;
	width: auto;
	max-width: min(24rem, 62vw);
	height: clamp(2.9rem, 5.55vw, 4.5rem);
	object-fit: contain;
	object-position: center;
	filter: grayscale(1);
	opacity: 0.94;
}

.appsinsight-reduced-motion .appsinsight-it-home .appsinsight-trusted-by__track {
	animation: none;
	width: 100%;
	max-width: 100%;
	justify-content: flex-start;
}

.appsinsight-reduced-motion .appsinsight-it-home .appsinsight-trusted-by__logos {
	flex-wrap: wrap;
	justify-content: flex-start;
	row-gap: 0.75rem;
}

.appsinsight-reduced-motion .appsinsight-it-home .appsinsight-trusted-by__viewport {
	mask-image: none;
	-webkit-mask-image: none;
	overflow: visible;
}

@media (prefers-reduced-motion: reduce) {
	.appsinsight-it-home .appsinsight-trusted-by__track {
		animation: none;
		width: 100%;
		max-width: 100%;
		justify-content: flex-start;
	}

	.appsinsight-it-home .appsinsight-trusted-by__logos {
		flex-wrap: wrap;
		justify-content: flex-start;
		row-gap: 0.75rem;
	}

	.appsinsight-it-home .appsinsight-trusted-by__viewport {
		mask-image: none;
		-webkit-mask-image: none;
		overflow: visible;
	}
}

/* Popular services — full-bleed dark glass + auto marquee + glass icons */
.appsinsight-it-home .appsinsight-popular-glass {
	position: relative;
	/* Below hero .container (z-index:10) so search dropdowns stay visible */
	z-index: 1;
	width: 100%;
	margin-top: 0;
	padding: clamp(2rem, 4vw, 2.75rem) 0 clamp(2.5rem, 4.5vw, 3.25rem);
	background: linear-gradient(165deg, #0c0e14 0%, #141824 42%, #0f1219 100%);
	border-top: 1px solid rgba(255, 255, 255, 0.06);
	box-shadow: 0 -20px 50px rgba(0, 0, 0, 0.06);
}

.appsinsight-it-home .appsinsight-popular-glass__head-wrap {
	position: relative;
	z-index: 2;
}

.appsinsight-it-home .appsinsight-popular-glass__head {
	text-align: center;
	margin: 0 0 2.25rem;
	padding: 0 0.5rem;
}

.appsinsight-it-home .appsinsight-popular-glass__eyebrow {
	margin: 0 0 0.4rem;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.45);
}

.appsinsight-it-home .appsinsight-popular-glass__title {
	margin: 0;
	color: #fff;
}

.appsinsight-it-home .appsinsight-popular-glass__viewport {
	position: relative;
	overflow: hidden;
	/* Room for hover translateY + scale + shadow inside overflow:hidden marquee */
	padding: clamp(0.85rem, 2vw, 1.35rem) clamp(0.5rem, 2vw, 1.25rem) clamp(1rem, 2.5vw, 2rem);
	mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
}

.appsinsight-it-home .appsinsight-popular-glass__track {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 1.15rem;
	width: max-content;
	will-change: transform;
	animation: appsinsight-popular-marquee 55s linear infinite;
}

.appsinsight-it-home .appsinsight-popular-glass__viewport:hover .appsinsight-popular-glass__track {
	animation-play-state: paused;
}

@keyframes appsinsight-popular-marquee {
	0% {
		transform: translate3d(0, 0, 0);
	}
	100% {
		transform: translate3d(-50%, 0, 0);
	}
}

.appsinsight-it-home .appsinsight-popular-glass__slide {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	flex: 0 0 auto;
	width: min(17.5rem, 78vw);
	min-height: 11.5rem;
	padding: 1.35rem 1.3rem 1.25rem;
	text-decoration: none;
	color: #f4f6f9;
	background: rgba(255, 255, 255, 0.055);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 18px;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.06) inset,
		0 12px 40px rgba(0, 0, 0, 0.25);
	backdrop-filter: blur(18px) saturate(140%);
	-webkit-backdrop-filter: blur(18px) saturate(140%);
	transition:
		transform 0.25s ease,
		border-color 0.25s ease,
		box-shadow 0.25s ease,
		background 0.25s ease;
}

.appsinsight-it-home .appsinsight-popular-glass__slide:hover {
	transform: translateY(-4px) scale(1.02);
	background: rgba(255, 255, 255, 0.09);
	border-color: rgba(255, 255, 255, 0.22);
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.1) inset,
		0 20px 48px rgba(0, 0, 0, 0.35);
}

.appsinsight-it-home .appsinsight-popular-glass__slide:focus-visible {
	outline: 2px solid var(--appsinsight-accent, #f91942);
	outline-offset: 4px;
}

.appsinsight-it-home .appsinsight-popular-glass__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.25rem;
	height: 3.25rem;
	margin-bottom: 1rem;
	border-radius: 14px;
	/* Light stroke on dark glass — high luminance contrast vs theme accent */
	color: #e8edf5;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.22);
	box-shadow:
		0 0 0 1px rgba(255, 255, 255, 0.04) inset,
		0 4px 16px rgba(0, 0, 0, 0.2);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	transition: color 0.22s ease, border-color 0.22s ease, background 0.22s ease;
}

.appsinsight-it-home .appsinsight-popular-glass__slide:hover .appsinsight-popular-glass__icon {
	color: #fff;
	background: rgba(255, 255, 255, 0.14);
	border-color: rgba(255, 255, 255, 0.32);
}

.appsinsight-it-home .appsinsight-popular-glass__icon svg {
	display: block;
	width: 1.45rem;
	height: 1.45rem;
}

.appsinsight-it-home .appsinsight-popular-glass__slide-title {
	font-size: 1.0625rem;
	font-weight: 600;
	line-height: 1.45;
	text-align: left;
	color: #fff;
	word-wrap: break-word;
	overflow-wrap: anywhere;
}

.appsinsight-it-home .appsinsight-popular-glass__slide-meta {
	margin-top: auto;
	padding-top: 0.85rem;
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	color: rgba(255, 255, 255, 0.72);
}

/* Respect reduced motion: static wrap, no infinite scroll */
.appsinsight-reduced-motion .appsinsight-it-home .appsinsight-popular-glass__track {
	animation: none;
	flex-wrap: wrap;
	justify-content: center;
	width: 100%;
	max-width: 72rem;
	margin: 0 auto;
	padding: 0 1rem;
	row-gap: 1rem;
}

.appsinsight-reduced-motion .appsinsight-it-home .appsinsight-popular-glass__viewport {
	mask-image: none;
	-webkit-mask-image: none;
	overflow: visible;
}

.appsinsight-reduced-motion .appsinsight-it-home .appsinsight-popular-glass__slide {
	width: min(17.5rem, 100%);
}

/*
 * IT Directory home only (body class from listeo-child): larger nav + suggestion text,
 * cap suggestion lists so they scroll instead of covering Popular services / stats.
 */
body.appsinsight-it-directory-home #navigation.style-1 > ul > li > a {
	font-size: 17px;
	font-weight: 500;
}

body.appsinsight-it-directory-home .mobile-navigation-list a {
	font-size: 16px;
}

body.appsinsight-it-directory-home .ui-autocomplete,
body.appsinsight-it-directory-home .ui-menu.ui-widget.ui-widget-content {
	max-height: min(240px, 38vh) !important;
	overflow-y: auto !important;
	overflow-x: hidden;
	box-sizing: border-box;
	font-size: 15px !important;
	line-height: 1.45 !important;
}

body.appsinsight-it-directory-home .ui-menu .ui-menu-item,
body.appsinsight-it-directory-home .ui-menu .ui-menu-item-wrapper {
	font-size: 15px !important;
	line-height: 1.45 !important;
}

body.appsinsight-it-directory-home .ui-menu .ui-menu-item-wrapper {
	padding: 0.45em 0.85em !important;
}

body.appsinsight-it-directory-home .pac-container {
	max-height: min(220px, 36vh) !important;
	overflow-y: auto !important;
}

body.appsinsight-it-directory-home .pac-item {
	font-size: 14px !important;
	line-height: 1.4 !important;
	padding: 9px 12px !important;
}

body.appsinsight-it-directory-home .main-search-input-item .chosen-container .chosen-drop {
	max-height: min(260px, 40vh) !important;
	overflow: hidden;
}

body.appsinsight-it-directory-home .main-search-input-item .chosen-container .chosen-results {
	max-height: min(220px, 36vh) !important;
	overflow-y: auto !important;
}

body.appsinsight-it-directory-home .select2-container--open .select2-dropdown {
	max-height: min(240px, 38vh) !important;
	overflow-y: auto !important;
}

body.appsinsight-it-directory-home .select2-results__options {
	max-height: min(220px, 34vh) !important;
	overflow-y: auto !important;
	font-size: 15px !important;
}

/* ARIA listboxes (some Listeo / plugin builds append these to body) */
body.appsinsight-it-directory-home ul[role="listbox"],
body.appsinsight-it-directory-home div[role="listbox"] {
	max-height: min(240px, 38vh) !important;
	overflow-y: auto !important;
	overflow-x: hidden;
	font-size: 15px !important;
	line-height: 1.45 !important;
}

/* Trust */
.appsinsight-trust__stats {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 2rem 3rem;
	margin-bottom: 1.5rem;
}

.appsinsight-stat {
	text-align: center;
	min-width: 8rem;
}

.appsinsight-stat__value {
	display: block;
	font-size: 1.75rem;
	font-weight: 700;
	color: #222;
}

.appsinsight-stat__label {
	font-size: 0.95rem;
	color: #555;
}

.appsinsight-trust__note {
	text-align: center;
	color: #555;
	max-width: 36rem;
	margin: 0 auto 2rem;
}

.appsinsight-trust__logos {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 1.5rem 2rem;
	filter: grayscale(1);
	opacity: 0.85;
}

.appsinsight-trust__logo img {
	max-height: 2.5rem;
	width: auto;
	object-fit: contain;
}

/* Category grid — glassmorphic + 3D accents (IT Directory home) */
.appsinsight-section--capabilities {
	position: relative;
	background: linear-gradient(165deg, #eef1f8 0%, #f4f6fb 42%, #e9edf6 100%);
	color: #1a1d2e;
	overflow: hidden;
}

.appsinsight-categories__bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image:
		radial-gradient(ellipse 90% 55% at 12% 20%, color-mix(in srgb, var(--appsinsight-accent, #f91942) 7%, transparent) 0%, transparent 55%),
		radial-gradient(ellipse 70% 50% at 92% 75%, rgba(99, 102, 241, 0.12) 0%, transparent 52%),
		radial-gradient(circle at center, rgba(15, 23, 42, 0.06) 1px, transparent 1.5px);
	background-size: auto, auto, 28px 28px;
	opacity: 0.95;
}

@supports not (color: color-mix(in srgb, red, blue)) {
	.appsinsight-categories__bg {
		background-image:
			radial-gradient(ellipse 90% 55% at 12% 20%, rgba(249, 25, 66, 0.06) 0%, transparent 55%),
			radial-gradient(ellipse 70% 50% at 92% 75%, rgba(99, 102, 241, 0.12) 0%, transparent 52%),
			radial-gradient(circle at center, rgba(15, 23, 42, 0.06) 1px, transparent 1.5px);
		background-size: auto, auto, 28px 28px;
	}
}

.appsinsight-categories__header {
	margin-bottom: 2.75rem;
	margin-left: auto;
	margin-right: auto;
	max-width: 48rem;
	text-align: center;
}

.appsinsight-categories__title {
	margin: 0 0 1rem;
	color: #12141c;
}

.appsinsight-categories__lead {
	margin: 0 auto;
	max-width: 40rem;
	font-size: 1.0625rem;
	line-height: 1.65;
	color: #3d4454;
	text-align: center;
}

.appsinsight-categories__lead p {
	margin: 0 0 0.65rem;
}

.appsinsight-categories__lead p:last-child {
	margin-bottom: 0;
}

/* CSS grid: uniform row/column gaps (avoids Bootstrap flex-wrap “holes” when heights differ) */
.appsinsight-cat-grid-css {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.35rem;
	width: 100%;
}

@media (min-width: 768px) {
	.appsinsight-cat-grid-css {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 992px) {
	.appsinsight-cat-grid-css {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.appsinsight-cat-grid__cell {
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 0;
}

.appsinsight-cat-card.appsinsight-cat-card--glass {
	--appsinsight-cat-card-h: 30.5rem;
	box-sizing: border-box;
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	width: 100%;
	height: var(--appsinsight-cat-card-h);
	min-height: var(--appsinsight-cat-card-h);
	max-height: var(--appsinsight-cat-card-h);
	margin: 0;
	padding: 0;
	overflow: hidden;
	border-radius: 18px;
	border: 1px solid rgba(255, 255, 255, 0.65);
	background: rgba(255, 255, 255, 0.42);
	box-shadow:
		0 4px 24px rgba(26, 29, 46, 0.06),
		0 1px 0 rgba(255, 255, 255, 0.85) inset;
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	transition: box-shadow 0.3s ease, border-color 0.3s ease;
}

@media (min-width: 768px) {
	.appsinsight-cat-card.appsinsight-cat-card--glass {
		--appsinsight-cat-card-h: 30.5rem;
	}
}

@supports not (backdrop-filter: blur(18px)) {
	.appsinsight-cat-card.appsinsight-cat-card--glass {
		background: rgba(255, 255, 255, 0.88);
	}
}

.appsinsight-cat-card--glass:hover {
	border-color: rgba(255, 255, 255, 0.95);
	box-shadow:
		0 16px 40px rgba(26, 29, 46, 0.1),
		0 1px 0 rgba(255, 255, 255, 0.95) inset;
}

.appsinsight-cat-card__visual {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 7.5rem;
	padding: 1.25rem 1rem 0.5rem;
	perspective: 800px;
}

.appsinsight-cat-card__orb {
	display: block;
	width: 4.5rem;
	height: 4.5rem;
	border-radius: 50%;
	position: relative;
	transform-style: preserve-3d;
	transform: perspective(500px) rotateX(18deg) rotateY(-22deg) translateZ(0);
	box-shadow:
		-6px 10px 20px rgba(26, 29, 46, 0.12),
		inset -4px -4px 12px rgba(255, 255, 255, 0.45),
		inset 3px 6px 14px rgba(0, 0, 0, 0.08);
}

.appsinsight-cat-card[data-orb="1"] .appsinsight-cat-card__orb {
	background: radial-gradient(circle at 32% 28%, #fff 0%, transparent 42%),
		linear-gradient(145deg, #6366f1 0%, #4f46e5 45%, #312e81 100%);
}

.appsinsight-cat-card[data-orb="2"] .appsinsight-cat-card__orb {
	background: radial-gradient(circle at 32% 28%, #fff 0%, transparent 42%),
		linear-gradient(145deg, #22d3ee 0%, #0891b2 50%, #164e63 100%);
}

.appsinsight-cat-card[data-orb="3"] .appsinsight-cat-card__orb {
	background: radial-gradient(circle at 32% 28%, #fff 0%, transparent 42%),
		linear-gradient(145deg, #a78bfa 0%, #7c3aed 50%, #4c1d95 100%);
}

.appsinsight-cat-card[data-orb="4"] .appsinsight-cat-card__orb {
	background: radial-gradient(circle at 32% 28%, #fff 0%, transparent 42%),
		linear-gradient(145deg, #fb7185 0%, var(--appsinsight-accent, #f91942) 45%, #9f1239 100%);
}

.appsinsight-cat-card[data-orb="5"] .appsinsight-cat-card__orb {
	background: radial-gradient(circle at 32% 28%, #fff 0%, transparent 42%),
		linear-gradient(145deg, #34d399 0%, #059669 50%, #064e3b 100%);
}

.appsinsight-cat-card[data-orb="6"] .appsinsight-cat-card__orb {
	background: radial-gradient(circle at 32% 28%, #fff 0%, transparent 42%),
		linear-gradient(145deg, #fbbf24 0%, #d97706 50%, #78350f 100%);
}

@media (prefers-reduced-motion: reduce) {
	.appsinsight-cat-card__orb {
		transform: none;
	}
}

.appsinsight-cat-card__body {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	padding: 0.35rem 1.35rem 1.25rem;
	min-height: 0;
}

.appsinsight-cat-card__title {
	flex-shrink: 0;
	font-size: 1.0625rem;
	font-weight: 700;
	margin: 0 0 0.65rem;
	line-height: 1.35;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.appsinsight-cat-card__title a {
	color: #12141c;
	text-decoration: none;
}

.appsinsight-cat-card__title a:hover {
	color: var(--appsinsight-accent, #f91942);
}

/* Fills space between title and CTA; scrolls inside fixed card height */
.appsinsight-cat-card__links-scroll {
	flex: 1 1 0;
	display: flex;
	flex-direction: column;
	min-height: 0;
	overflow: hidden;
	margin-bottom: 0.65rem;
}

.appsinsight-cat-card__links {
	list-style: none;
	margin: 0;
	padding: 0 0.2rem 0 0;
	font-size: 0.875rem;
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
	scrollbar-color: rgba(15, 23, 42, 0.25) transparent;
}

.appsinsight-cat-card__links li {
	margin-bottom: 0.4rem;
}

.appsinsight-cat-card__links a {
	color: #3d4454;
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: color 0.2s, border-color 0.2s;
}

.appsinsight-cat-card__links a:hover {
	color: var(--appsinsight-accent, #f91942);
	border-bottom-color: color-mix(in srgb, var(--appsinsight-accent, #f91942) 35%, transparent);
}

@supports not (color: color-mix(in srgb, red, blue)) {
	.appsinsight-cat-card__links a:hover {
		border-bottom-color: rgba(249, 25, 66, 0.35);
	}
}

.appsinsight-cat-card__browse {
	flex-shrink: 0;
	align-self: stretch;
	margin-top: auto;
	text-align: center;
	font-weight: 600;
	font-size: 0.875rem;
	padding: 0.55rem 1rem;
	border-radius: 8px;
	line-height: 1.35;
	border-color: color-mix(in srgb, var(--appsinsight-accent, #f91942) 55%, #d1d5db);
	color: var(--appsinsight-accent, #f91942);
}

@supports not (color: color-mix(in srgb, red, blue)) {
	.appsinsight-cat-card__browse {
		border-color: rgba(249, 25, 66, 0.45);
	}
}

.appsinsight-cat-card__browse:hover {
	background: color-mix(in srgb, var(--appsinsight-accent, #f91942) 8%, #fff);
	color: var(--appsinsight-accent, #f91942);
}

@supports not (color: color-mix(in srgb, red, blue)) {
	.appsinsight-cat-card__browse:hover {
		background: rgba(249, 25, 66, 0.06);
	}
}

/* Manual capability boxes (Customizer JSON) */
/* Type scale: title > link rows ≈ footer > SERVICES/LOCATIONS labels */
.appsinsight-cap-box .appsinsight-cap-box__title {
	font-size: clamp(1.0625rem, 2.4vw, 1.75rem);
	line-height: 1.3;
	margin-bottom: 0.85rem;
}

.appsinsight-cap-box .appsinsight-cap-box__visual {
	min-height: 7.5rem;
	padding: 1rem 1rem 0.35rem;
}

.appsinsight-cap-box__image-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-height: 6.5rem;
}

.appsinsight-cap-box__image {
	max-width: 100%;
	max-height: 6.25rem;
	width: auto;
	height: auto;
	object-fit: contain;
	border-radius: 10px;
}

.appsinsight-cap-box__scroll {
	gap: 1rem;
	padding-top: 0.125rem;
}

.appsinsight-cap-box__group {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.5rem;
}

/* Label chips */
.appsinsight-cap-box__tag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: fit-content;
	max-width: 100%;
	margin: 0;
	padding: 0.3rem 0.7rem;
	font-size: 0.85rem;
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #1d2327;
	border-radius: 4px;
	background: #dddddd;
	border: none;
	box-shadow: none;
}

.appsinsight-cap-box__pipe-links {
	font-size: clamp(0.9375rem, 1.9vw, 1rem);
	line-height: 1.65;
	color: #3d4454;
	word-break: break-word;
	letter-spacing: 0.01em;
}

.appsinsight-cap-box__pipe-links a {
	color: #3d4454;
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: color 0.2s, border-color 0.2s;
}

.appsinsight-cap-box__pipe-links a:hover {
	color: var(--appsinsight-accent, #f91942);
	border-bottom-color: color-mix(in srgb, var(--appsinsight-accent, #f91942) 35%, transparent);
}

@supports not (color: color-mix(in srgb, red, blue)) {
	.appsinsight-cap-box__pipe-links a:hover {
		border-bottom-color: rgba(249, 25, 66, 0.35);
	}
}

.appsinsight-cap-box__sep {
	display: inline-block;
	color: #b8c0cc;
	margin: 0 0.5rem;
	font-weight: 400;
	font-size: 0.9em;
	vertical-align: baseline;
}

.appsinsight-cap-box__text {
	color: #3d4454;
}

.appsinsight-cap-box__footer {
	flex-shrink: 0;
	margin: 0.5rem 0 0;
	padding-top: 0.5rem;
	border-top: 1px solid rgba(15, 23, 42, 0.08);
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.4;
	color: #64748b;
	text-align: center;
}

.appsinsight-categories__footer-cta {
	margin-top: 2.5rem;
}

.appsinsight-categories__footer-cta .button {
	background: var(--appsinsight-accent, #f91942);
	border-color: var(--appsinsight-accent, #f91942);
	color: #fff;
	padding: 0.65rem 1.75rem;
	border-radius: 8px;
	font-weight: 600;
}

.appsinsight-categories__footer-cta .button:hover {
	filter: brightness(1.05);
	color: #fff;
}

/* Agencies tabs + carousel */
.appsinsight-agencies .appsinsight-section__lead {
	font-size: 1.15rem;
	line-height: 1.6;
}

.appsinsight-agencies .appsinsight-tabs__tab {
	font-size: 1.15rem;
}

.appsinsight-agencies .appsinsight-agency-card__title {
	margin: 0;
	font-weight: 700;
}

.appsinsight-agencies .appsinsight-agency-card__title-link {
	font-weight: 700;
}

.appsinsight-agencies .appsinsight-agency-card__meta {
	font-size: 0.9375rem;
	opacity: 0.82;
}

.appsinsight-agencies .appsinsight-empty {
	font-size: 1.15rem;
	color: rgba(255, 255, 255, 0.88);
}

.appsinsight-agencies .appsinsight-section__cta .button {
	font-size: 1.45rem;
}

.appsinsight-agencies .star-rating,
.appsinsight-agencies .rating-counter {
	font-size: 1.15rem;
}

.appsinsight-tabs__list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	justify-content: center;
	margin-bottom: 1.75rem;
}

.appsinsight-tabs__tab {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.2);
	color: #fff;
	padding: 0.5rem 1.1rem;
	border-radius: 4px;
	cursor: pointer;
	font-size: 0.95rem;
	transition: background 0.2s, border-color 0.2s;
}

.appsinsight-tabs__tab:hover,
.appsinsight-tabs__tab:focus {
	background: rgba(255, 255, 255, 0.15);
	outline: none;
}

.appsinsight-tabs__tab.is-active {
	background: #fff;
	color: #1a1d2e;
	border-color: #fff;
}

.appsinsight-tabs__panel:not(.is-active) {
	display: none;
}

.appsinsight-tabs__panel.is-active {
	display: block;
}

/* Agencies row: prev/next circles, no visible scrollbar */
.appsinsight-carousel {
	position: relative;
	display: flex;
	align-items: stretch;
	gap: 0.65rem;
	margin: 0;
	width: 100%;
}

.appsinsight-carousel--empty .appsinsight-carousel__viewport {
	overflow: visible;
}

.appsinsight-carousel__viewport {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
}

.appsinsight-carousel__track {
	display: flex;
	gap: 1rem;
	overflow-x: auto;
	padding: 0.5rem 0;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.appsinsight-carousel__track::-webkit-scrollbar {
	display: none;
	width: 0;
	height: 0;
}

.appsinsight-carousel__arrow {
	flex: 0 0 auto;
	align-self: center;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	margin: 0;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	cursor: pointer;
	transition:
		background 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease,
		opacity 0.2s ease;
}

.appsinsight-carousel__arrow:hover:not(:disabled) {
	background: rgba(255, 255, 255, 0.22);
	border-color: rgba(255, 255, 255, 0.55);
	color: #fff;
}

.appsinsight-carousel__arrow:focus {
	outline: none;
}

.appsinsight-carousel__arrow:focus-visible {
	outline: 2px solid var(--appsinsight-accent, #f91942);
	outline-offset: 2px;
}

.appsinsight-carousel__arrow:disabled {
	opacity: 0.35;
	cursor: not-allowed;
}

@media (max-width: 480px) {
	.appsinsight-carousel__arrow {
		width: 2.35rem;
		height: 2.35rem;
	}

	.appsinsight-carousel__arrow svg {
		width: 18px;
		height: 18px;
	}
}

/* Agencies carousel: four cards per visible row (viewport = track container for cqi) */
.appsinsight-agencies .appsinsight-carousel__viewport {
	container-type: inline-size;
	container-name: appsinsight-agency-carousel;
}

@supports (width: 1cqi) {
	.appsinsight-agencies .appsinsight-carousel__track .appsinsight-agency-card {
		flex: 0 0 calc((100cqi - 3 * 1rem) / 4);
		width: calc((100cqi - 3 * 1rem) / 4);
		max-width: calc((100cqi - 3 * 1rem) / 4);
		min-width: 0;
	}
}

/* ~four across when cqi is unavailable (approx. viewport minus arrows + gutters) */
@supports not (width: 1cqi) {
	@media (min-width: 1024px) {
		.appsinsight-agencies .appsinsight-carousel__track .appsinsight-agency-card {
			flex: 0 0 min(17.5rem, calc((100vw - 9rem) / 4));
			max-width: min(17.5rem, calc((100vw - 9rem) / 4));
			min-width: 0;
		}
	}
}

.appsinsight-agency-card {
	position: relative;
	flex: 0 0 min(17.5rem, 86vw);
	scroll-snap-align: start;
	display: flex;
	flex-direction: column;
	min-height: 100%;
	padding: 0;
	overflow: hidden;
	border-radius: 18px;
	color: #fff;
	background: linear-gradient(
		155deg,
		rgba(255, 255, 255, 0.12) 0%,
		rgba(255, 255, 255, 0.05) 42%,
		rgba(10, 12, 18, 0.55) 100%
	);
	border: 1px solid rgba(255, 255, 255, 0.16);
	box-shadow:
		0 4px 6px rgba(0, 0, 0, 0.18),
		0 22px 48px rgba(0, 0, 0, 0.38),
		inset 0 1px 0 rgba(255, 255, 255, 0.1);
	backdrop-filter: blur(18px) saturate(150%);
	-webkit-backdrop-filter: blur(18px) saturate(150%);
	transition:
		transform 0.3s ease,
		box-shadow 0.3s ease,
		border-color 0.3s ease;
}

.appsinsight-agency-card:hover {
	transform: translateY(-5px);
	border-color: rgba(249, 25, 66, 0.38);
	box-shadow:
		0 10px 22px rgba(0, 0, 0, 0.22),
		0 28px 56px rgba(249, 25, 66, 0.14),
		inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

.appsinsight-agency-card__media {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 100%;
	min-height: 6.75rem;
	padding: 1.15rem 1rem 0.85rem;
	text-decoration: none;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.2) 0%, rgba(18, 20, 30, 0.35) 100%);
	border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.appsinsight-agency-card__logo-glass {
	position: relative;
	display: grid;
	grid-template: 1fr / 1fr;
	place-items: center;
	width: 5.75rem;
	height: 5.75rem;
	flex-shrink: 0;
	overflow: hidden;
	border-radius: 1rem;
	isolation: isolate;
	background: linear-gradient(160deg, #ffffff 0%, rgba(248, 250, 252, 0.97) 100%);
	border: 1px solid rgba(15, 23, 42, 0.08);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 1),
		0 10px 26px rgba(0, 0, 0, 0.14);
	backdrop-filter: blur(12px) saturate(140%);
	-webkit-backdrop-filter: blur(12px) saturate(140%);
}

.appsinsight-agency-card__logo-glass::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: inherit;
	pointer-events: none;
	background: radial-gradient(ellipse 95% 70% at 35% 0%, rgba(255, 255, 255, 0.88) 0%, transparent 52%);
	opacity: 0.5;
}

.appsinsight-agency-card__logo-img {
	position: relative;
	z-index: 1;
	grid-area: 1 / 1;
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	object-position: center;
}

.appsinsight-agency-card__logo-fallback {
	position: relative;
	z-index: 1;
	grid-area: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-size: 1.65rem;
	font-weight: 800;
	color: #1e293b;
	letter-spacing: -0.03em;
}

.appsinsight-agency-card__body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;
	padding: 1rem 1.1rem 1.15rem;
	gap: 0;
}

.appsinsight-agency-card__title {
	margin: 0 0 0.35rem;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.02em;
}

.appsinsight-agency-card__title-row {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.35rem;
	max-width: 100%;
}

.appsinsight-agency-card .appsinsight-verified-badge {
	width: 1.55rem;
	height: 1.55rem;
}

.appsinsight-agency-card__title-link {
	color: #fff;
	text-decoration: none;
	transition: color 0.2s ease;
}

.appsinsight-agency-card__title-link:hover,
.appsinsight-agency-card__title-link:focus {
	color: var(--appsinsight-accent, #f91942);
}

.appsinsight-agency-card__meta {
	font-size: 0.8125rem;
	line-height: 1.45;
	margin: 0 0 0.5rem;
	color: rgba(226, 232, 240, 0.78);
}

.appsinsight-agency-card__rating {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.55rem;
	margin: 0 0 0.55rem;
}

.appsinsight-agency-card__stars {
	display: inline-flex;
	align-items: center;
	line-height: 1;
}

.appsinsight-agency-card__score {
	font-size: 0.95rem;
	font-weight: 700;
	color: rgba(255, 255, 255, 0.95);
	font-variant-numeric: tabular-nums;
}

.appsinsight-agency-card__count {
	font-size: 0.8125rem;
	font-weight: 600;
	color: rgba(203, 213, 225, 0.75);
}

.appsinsight-agency-card__excerpt {
	margin: 0 0 0.75rem;
	font-size: 0.8125rem;
	line-height: 1.5;
	color: rgba(203, 213, 225, 0.88);
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	flex: 1 1 auto;
	min-height: 0;
}

.appsinsight-agency-card__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	width: 100%;
	margin-top: auto;
	padding: 0.62rem 1rem;
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	text-decoration: none;
	color: rgba(255, 255, 255, 0.96) !important;
	border-radius: 999px;
	background: linear-gradient(
		135deg,
		rgba(255, 255, 255, 0.18) 0%,
		rgba(255, 255, 255, 0.06) 48%,
		rgba(255, 255, 255, 0.03) 100%
	);
	border: 1px solid rgba(255, 255, 255, 0.32);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.45),
		inset 0 -1px 0 rgba(15, 23, 42, 0.12),
		0 10px 32px rgba(0, 0, 0, 0.28);
	backdrop-filter: blur(20px) saturate(180%);
	-webkit-backdrop-filter: blur(20px) saturate(180%);
	transition:
		background 0.25s ease,
		border-color 0.25s ease,
		box-shadow 0.25s ease,
		transform 0.2s ease,
		color 0.2s ease;
}

.appsinsight-agency-card__cta-icon {
	display: inline-flex;
	line-height: 0;
	flex-shrink: 0;
	opacity: 0.92;
}

.appsinsight-agency-card__cta-icon svg {
	display: block;
}

.appsinsight-agency-card__cta:hover,
.appsinsight-agency-card__cta:focus {
	color: #fff !important;
	background: linear-gradient(
		135deg,
		rgba(249, 25, 66, 0.35) 0%,
		rgba(255, 255, 255, 0.14) 55%,
		rgba(255, 255, 255, 0.08) 100%
	);
	border-color: rgba(249, 25, 66, 0.55);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.55),
		0 12px 36px rgba(249, 25, 66, 0.22);
	transform: translateY(-1px);
}

.appsinsight-agency-card__cta:focus-visible {
	outline: 2px solid var(--appsinsight-accent, #f91942);
	outline-offset: 2px;
}

.appsinsight-empty {
	text-align: center;
	max-width: 32rem;
	margin: 1rem auto;
	color: #555;
}

.appsinsight-empty--on-dark {
	color: rgba(255, 255, 255, 0.8);
}

/* Reviews — Recent Reviews grid + pill pager */
.appsinsight-reviews.appsinsight-section--muted {
	background: #f0f2f5;
	color: #1d2327;
}

.appsinsight-reviews__header {
	text-align: center;
	margin: 0 auto 2.25rem;
	max-width: 42rem;
}

.appsinsight-reviews__title {
	margin: 0 0 0.65rem;
	color: #12141c;
}

.appsinsight-reviews__emoji {
	display: inline-block;
	margin-left: 0.2em;
	font-style: normal;
}

.appsinsight-reviews__accent {
	display: block;
	width: 2.75rem;
	height: 3px;
	margin: 0 auto;
	border-radius: 2px;
	background: var(--appsinsight-accent, #f91942);
}

.appsinsight-reviews__slider {
	margin-bottom: 0.5rem;
}

.appsinsight-reviews__page[hidden] {
	display: none !important;
}

.appsinsight-reviews__page.is-active {
	display: block;
}

.appsinsight-reviews__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.25rem;
}

@media (max-width: 1199px) {
	.appsinsight-reviews__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 575px) {
	.appsinsight-reviews__grid {
		grid-template-columns: 1fr;
	}
}

/* Reset parent Listeo blockquote (FA opening quote + border-left) */
.appsinsight-review-card {
	position: relative;
	margin: 0;
	padding: 1.2rem 3.35rem 1.15rem 1.25rem;
	background: #fff;
	border: 1px solid #e8eaef;
	border-left: 1px solid #e8eaef;
	border-radius: 10px;
	box-shadow: 0 2px 12px rgba(15, 23, 42, 0.06);
	display: flex;
	flex-direction: column;
	min-height: 0;
}

.appsinsight-review-card::before {
	display: none !important;
	content: none !important;
}

/* Closing quotation mark — top right (typographic right double quote U+201D) */
.appsinsight-review-card::after {
	content: '\201d';
	position: absolute;
	top: 0.35rem;
	right: 0.55rem;
	font-size: 4.25rem;
	line-height: 1;
	font-family: Georgia, 'Times New Roman', Times, serif;
	font-weight: 400;
	color: #d8dce3;
	pointer-events: none;
	z-index: 0;
}

.appsinsight-review-card__text,
.appsinsight-review-card .appsinsight-star-row,
.appsinsight-review-card__footer {
	position: relative;
	z-index: 1;
}

.appsinsight-review-card__text {
	font-size: 1.05rem;
	line-height: 1.55;
	margin: 0 0 0.85rem;
	color: #3d4454;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}

.appsinsight-star-row {
	display: flex;
	gap: 0.2rem;
	align-items: center;
	line-height: 1;
}

.appsinsight-review-card .appsinsight-star-row {
	margin: 0 0 1rem;
}

.appsinsight-star-row__star {
	display: block;
	width: 1.1rem;
	height: 1.05rem;
	position: relative;
	font-size: 1rem;
	line-height: 1;
}

.appsinsight-star-row__star::before {
	content: '\2605';
	position: absolute;
	left: 0;
	top: 0;
	color: #e5e7eb;
	line-height: 1;
}

.appsinsight-star-row__star.is-filled::before {
	color: #f5c518;
}

/* Software + agency cards: fractional stars on dark glass */
.appsinsight-software-card .appsinsight-star-row--software,
.appsinsight-agency-card .appsinsight-star-row--software {
	gap: 0.22rem;
}

.appsinsight-software-card .appsinsight-star-row--software .appsinsight-star-row__star,
.appsinsight-agency-card .appsinsight-star-row--software .appsinsight-star-row__star {
	width: 1.2rem;
	height: 1.15rem;
	font-size: 1.12rem;
}

.appsinsight-software-card .appsinsight-star-row--software .appsinsight-star-row__star::before,
.appsinsight-agency-card .appsinsight-star-row--software .appsinsight-star-row__star::before {
	color: rgba(255, 255, 255, 0.3);
}

.appsinsight-software-card .appsinsight-star-row--software .appsinsight-star-row__star.is-filled::before,
.appsinsight-agency-card .appsinsight-star-row--software .appsinsight-star-row__star.is-filled::before {
	color: #f5c518;
}

.appsinsight-software-card .appsinsight-star-row--software .appsinsight-star-row__star.is-partial,
.appsinsight-agency-card .appsinsight-star-row--software .appsinsight-star-row__star.is-partial {
	position: relative;
}

.appsinsight-software-card .appsinsight-star-row--software .appsinsight-star-row__star.is-partial::before,
.appsinsight-agency-card .appsinsight-star-row--software .appsinsight-star-row__star.is-partial::before {
	color: rgba(255, 255, 255, 0.3);
}

.appsinsight-software-card .appsinsight-star-row--software .appsinsight-star-row__star.is-partial::after,
.appsinsight-agency-card .appsinsight-star-row--software .appsinsight-star-row__star.is-partial::after {
	content: '\2605';
	position: absolute;
	left: 0;
	top: 0;
	line-height: 1;
	color: #f5c518;
	clip-path: inset(0 calc(100% - var(--star-fill, 50%)) 0 0);
}

.appsinsight-star-row--lg .appsinsight-star-row__star {
	width: 1.2rem;
	height: 1.15rem;
	font-size: 1.1rem;
}

.appsinsight-review-card__footer {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin-top: auto;
	padding-top: 0.25rem;
}

.appsinsight-review-card__avatar {
	width: 44px !important;
	height: 44px !important;
	border-radius: 50%;
	flex-shrink: 0;
	object-fit: cover;
}

.appsinsight-review-card__byline {
	min-width: 0;
	flex: 1 1 auto;
}

.appsinsight-review-card__reviewer {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.35;
	color: #6b7280;
	font-weight: 400;
}

.appsinsight-review-card__listing {
	margin: 0.15rem 0 0;
	font-size: 1rem;
	line-height: 1.3;
	font-weight: 700;
}

.appsinsight-review-card__listing a {
	color: #12141c;
	text-decoration: none;
}

.appsinsight-review-card__listing a:hover,
.appsinsight-review-card__listing a:focus {
	color: var(--appsinsight-accent, #f91942);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.appsinsight-reviews__pager {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	margin: 2rem auto 0;
	padding: 0.45rem 1rem;
	background: #e4e6ea;
	border-radius: 999px;
	width: fit-content;
	max-width: 100%;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
}

.appsinsight-reviews__pager-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: transparent;
	color: #4b5563;
	cursor: pointer;
	transition:
		background 0.2s ease,
		color 0.2s ease,
		opacity 0.2s ease;
}

.appsinsight-reviews__pager-arrow:hover:not(:disabled) {
	background: rgba(255, 255, 255, 0.65);
	color: #1f2937;
}

.appsinsight-reviews__pager-arrow:focus {
	outline: none;
}

.appsinsight-reviews__pager-arrow:focus-visible {
	outline: 2px solid var(--appsinsight-accent, #f91942);
	outline-offset: 2px;
}

.appsinsight-reviews__pager-arrow:disabled {
	opacity: 0.35;
	cursor: not-allowed;
}

.appsinsight-reviews__dots {
	display: flex;
	align-items: center;
	gap: 0.45rem;
}

.appsinsight-reviews__dot {
	width: 9px;
	height: 9px;
	padding: 0;
	border: 1px solid #9ca3af;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
	transition:
		background 0.2s ease,
		border-color 0.2s ease,
		transform 0.2s ease;
}

.appsinsight-reviews__dot:hover {
	border-color: #6b7280;
}

.appsinsight-reviews__dot.is-active {
	background: #4b5563;
	border-color: #4b5563;
	transform: scale(1.1);
}

.appsinsight-reviews__dot:focus-visible {
	outline: 2px solid var(--appsinsight-accent, #f91942);
	outline-offset: 2px;
}

.appsinsight-reviews__empty {
	text-align: center;
	max-width: 36rem;
	margin: 0 auto 1rem;
}

.appsinsight-reviews__cta {
	margin-top: 2rem;
}

/* Popular software & tools — premium four-up */
.appsinsight-software.appsinsight-section--dark {
	background:
		radial-gradient(ellipse 80% 50% at 50% -20%, rgba(99, 102, 241, 0.12) 0%, transparent 55%),
		linear-gradient(180deg, #12141c 0%, #1a1d2e 45%, #12141c 100%);
	color: #f3f4f6;
}

.appsinsight-software .appsinsight-software__header {
	text-align: center;
	max-width: 48rem;
	margin: 0 auto 2.75rem;
}

.appsinsight-software .appsinsight-software__title {
	text-align: center;
}

.appsinsight-software .appsinsight-software__lead {
	text-align: center;
}

.appsinsight-software__title {
	margin: 0 0 0.85rem;
	color: #fff;
}

.appsinsight-software__accent {
	display: block;
	width: 3rem;
	height: 3px;
	margin: 0 auto 1.25rem;
	border-radius: 2px;
	background: linear-gradient(90deg, var(--appsinsight-accent, #f91942), #fb7185);
}

.appsinsight-software__lead {
	font-size: 1.2rem;
	line-height: 1.65;
	margin: 0;
	color: rgba(243, 244, 246, 0.88);
}

.appsinsight-software__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
	align-items: stretch;
}

@media (min-width: 640px) {
	.appsinsight-software__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1100px) {
	.appsinsight-software__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 1.35rem;
	}
}

@media (max-width: 639px) {
	.appsinsight-software-card {
		min-height: 0;
	}
}

.appsinsight-software-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 28rem;
	padding: 0;
	overflow: hidden;
	border-radius: 18px;
	background: linear-gradient(155deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.03) 100%);
	border: 1px solid rgba(255, 255, 255, 0.14);
	box-shadow:
		0 4px 6px rgba(0, 0, 0, 0.15),
		0 20px 50px rgba(0, 0, 0, 0.35),
		inset 0 1px 0 rgba(255, 255, 255, 0.08);
	transition:
		transform 0.3s ease,
		box-shadow 0.3s ease,
		border-color 0.3s ease;
}

.appsinsight-software-card:hover {
	transform: translateY(-6px);
	border-color: rgba(249, 25, 66, 0.35);
	box-shadow:
		0 8px 12px rgba(0, 0, 0, 0.2),
		0 28px 60px rgba(249, 25, 66, 0.12),
		inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.appsinsight-software-card__media {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 100%;
	min-height: 8.25rem;
	padding: 1.65rem 1.35rem 1.15rem;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.18) 0%, rgba(15, 17, 26, 0.35) 100%);
	border-bottom: 1px solid rgba(255, 255, 255, 0.07);
	text-decoration: none;
}

/* Square frosted “light plate” — bright white field so dark / transparent logos read clearly */
.appsinsight-software-card__logo-glass {
	position: relative;
	display: grid;
	grid-template: 1fr / 1fr;
	place-items: center;
	box-sizing: border-box;
	width: 7.5rem;
	height: 7.5rem;
	flex-shrink: 0;
	padding: 0;
	overflow: hidden;
	border-radius: 1.15rem;
	isolation: isolate;
	background: linear-gradient(
		160deg,
		#ffffff 0%,
		rgba(255, 255, 255, 0.98) 45%,
		rgba(248, 250, 252, 0.96) 100%
	);
	border: 1px solid rgba(15, 23, 42, 0.08);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 1),
		inset 0 -1px 0 rgba(15, 23, 42, 0.04),
		0 10px 28px rgba(0, 0, 0, 0.12),
		0 1px 3px rgba(0, 0, 0, 0.06);
	backdrop-filter: blur(14px) saturate(140%);
	-webkit-backdrop-filter: blur(14px) saturate(140%);
}

.appsinsight-software-card__logo-glass::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: inherit;
	pointer-events: none;
	background: radial-gradient(ellipse 95% 70% at 35% 0%, rgba(255, 255, 255, 0.9) 0%, transparent 52%);
	opacity: 0.55;
}

.appsinsight-software-card__logo-img {
	position: relative;
	z-index: 1;
	grid-area: 1 / 1;
	display: block;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	object-position: center;
	border-radius: 0;
}

.appsinsight-software-card__media-fallback {
	position: relative;
	z-index: 1;
	grid-area: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	min-width: 0;
	min-height: 0;
	border-radius: 0;
	font-size: 2rem;
	font-weight: 700;
	color: #1f2937;
	background: linear-gradient(145deg, rgba(243, 244, 246, 0.95), rgba(229, 231, 235, 0.88));
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.appsinsight-software-card__media--placeholder {
	min-height: 8.25rem;
	cursor: default;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.18) 0%, rgba(15, 17, 26, 0.35) 100%);
	border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.appsinsight-software-card__logo-glass--demo {
	padding: 0;
	border-color: rgba(15, 23, 42, 0.08);
	background: linear-gradient(
		145deg,
		color-mix(in srgb, var(--sw-accent, #6366f1) 18%, white) 0%,
		color-mix(in srgb, var(--sw-accent-to, #8b5cf6) 14%, white) 100%
	);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.95),
		inset 0 -1px 0 rgba(15, 23, 42, 0.04),
		0 10px 28px rgba(0, 0, 0, 0.1);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

.appsinsight-software-card__logo-glass--demo::before {
	background: radial-gradient(ellipse 90% 65% at 40% 0%, rgba(255, 255, 255, 0.85) 0%, transparent 55%);
	opacity: 0.65;
}

@supports not (color: color-mix(in srgb, red, blue)) {
	.appsinsight-software-card__logo-glass--demo {
		background: linear-gradient(145deg, #f5f3ff 0%, #faf5ff 100%);
	}
}

.appsinsight-software-card__initials {
	position: relative;
	z-index: 1;
	font-size: 2.15rem;
	font-weight: 800;
	color: #1e293b;
	letter-spacing: -0.04em;
	text-shadow: none;
}

.appsinsight-software-card__logo-glass--demo .appsinsight-software-card__initials {
	color: color-mix(in srgb, var(--sw-accent, #4f46e5) 72%, #0f172a);
}

@supports not (color: color-mix(in srgb, red, blue)) {
	.appsinsight-software-card__logo-glass--demo .appsinsight-software-card__initials {
		color: #4338ca;
	}
}

.appsinsight-software-card__body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	padding: 1.35rem 1.35rem 1.5rem;
	min-height: 0;
}

.appsinsight-software-card__title {
	font-size: clamp(1.55rem, 2.8vw, 1.85rem);
	font-weight: 700;
	line-height: 1.2;
	margin: 0 0 0.5rem;
	letter-spacing: -0.02em;
}

.appsinsight-software-card__title-row {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.35rem;
	max-width: 100%;
}

.appsinsight-software-card__title-link {
	color: #fff;
	text-decoration: none;
	transition: color 0.2s ease;
}

.appsinsight-software-card__title-link:hover,
.appsinsight-software-card__title-link:focus {
	color: var(--appsinsight-accent, #f91942);
}

.appsinsight-software-card__title-text {
	color: #fff;
}

.appsinsight-software-card--demo .appsinsight-software-card__title {
	color: #fff;
}

/* Twitter-style verified badge (software) — PNG + white disc behind center tick */
.appsinsight-verified-badge {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 1.8rem;
	height: 1.8rem;
	line-height: 1;
	vertical-align: middle;
}

.appsinsight-verified-badge__disc {
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 0;
	width: 42%;
	height: 42%;
	max-width: 0.775rem;
	max-height: 0.775rem;
	background: #fff;
	border-radius: 50%;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.9);
	transform: translate(-50%, -50%);
}

.appsinsight-verified-badge__img {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.appsinsight-software-card__rating {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
	margin: 0 0 0.65rem;
}

.appsinsight-software-card__stars {
	display: inline-flex;
	align-items: center;
	line-height: 1;
}

.appsinsight-software-card__score {
	display: inline-block;
	font-size: 1.15rem;
	font-weight: 700;
	color: rgba(255, 255, 255, 0.95);
	font-variant-numeric: tabular-nums;
	line-height: 1.2;
}

.appsinsight-software-card__excerpt {
	font-size: 1.05rem !important;
	line-height: 1.6;
	margin: 0 0 1rem;
	color: rgba(226, 232, 240, 0.95);
	flex: 1 1 auto;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	overflow: hidden;
}

.appsinsight-software-card__tags {
	list-style: none;
	margin: 0 0 1.15rem;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	font-size: 0.95rem;
}

.appsinsight-software-card__tags a,
.appsinsight-software-card__tag-pill {
	display: inline-block;
	padding: 0.28rem 0.65rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.14);
	color: rgba(255, 255, 255, 0.92);
	text-decoration: none;
	font-weight: 500;
	transition:
		background 0.2s ease,
		border-color 0.2s ease;
}

.appsinsight-software-card__tags a:hover,
.appsinsight-software-card__tags a:focus {
	background: rgba(249, 25, 66, 0.15);
	border-color: rgba(249, 25, 66, 0.45);
	color: #fff;
}

.appsinsight-software-card__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	width: 100%;
	margin-top: auto;
	padding: 0.75rem 1.75rem;
	font-size: 1.05rem;
	font-weight: 600;
	border-radius: 10px;
	text-decoration: none;
	color: #fff !important;
	background: linear-gradient(135deg, var(--appsinsight-accent, #f91942) 0%, #e11d48 100%);
	border: 1px solid rgba(255, 255, 255, 0.12);
	box-shadow: 0 4px 14px rgba(249, 25, 66, 0.35);
	transition:
		filter 0.2s ease,
		box-shadow 0.2s ease,
		transform 0.2s ease;
}

.appsinsight-software-card__cta-icon {
	display: inline-flex;
	line-height: 0;
	flex-shrink: 0;
}

.appsinsight-software-card__cta-icon svg {
	display: block;
	width: 18px;
	height: 18px;
}

.appsinsight-software-card__cta:hover,
.appsinsight-software-card__cta:focus {
	filter: brightness(1.06);
	box-shadow: 0 6px 20px rgba(249, 25, 66, 0.45);
	transform: translateY(-1px);
	color: #fff !important;
}

.appsinsight-software__demo-hint {
	text-align: center;
	font-size: 0.95rem;
	color: rgba(255, 255, 255, 0.55);
	margin: 1rem 0 0;
}

.appsinsight-software__footer-cta {
	margin-top: 2.5rem;
	text-align: center;
}

.appsinsight-software__archive-btn {
	padding: 0.75rem 1.75rem;
	font-size: 1.05rem;
	font-weight: 600;
	border-radius: 10px;
}

/* Trusted data — light band, floating icon cards (between software & process) */
.appsinsight-trusted-data {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(ellipse 70% 55% at 18% 20%, rgba(99, 102, 241, 0.06) 0%, transparent 55%),
		radial-gradient(ellipse 60% 50% at 88% 75%, rgba(249, 25, 66, 0.04) 0%, transparent 50%),
		linear-gradient(180deg, #fbfcfe 0%, #f4f6fa 42%, #eef2f7 100%);
	color: #0f172a;
}

.appsinsight-trusted-data__stage {
	position: relative;
	margin: 0 auto;
	max-width: 1080px;
	min-height: clamp(22rem, 52vw, 32rem);
	padding: clamp(2.75rem, 6vw, 4.5rem) 0.5rem;
}

.appsinsight-trusted-data__orbit {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 1;
}

.appsinsight-trusted-data__float {
	position: absolute;
	z-index: 1;
	width: 4.35rem;
	height: 4.35rem;
}

.appsinsight-trusted-data__float-panel {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: #fff;
	border-radius: 1.2rem;
	border: 1px solid rgba(15, 23, 42, 0.06);
	box-shadow:
		0 22px 48px rgba(15, 23, 42, 0.1),
		0 8px 20px rgba(15, 23, 42, 0.05),
		inset 0 1px 0 rgba(255, 255, 255, 1);
}

.appsinsight-trusted-data__float-gem {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.1rem;
	height: 3.1rem;
	border-radius: 0.85rem;
}

.appsinsight-trusted-data__float-gem--emerald {
	background: linear-gradient(145deg, #34d399, #059669);
}

.appsinsight-trusted-data__float-gem--amber {
	background: linear-gradient(145deg, #fbbf24, #d97706);
}

.appsinsight-trusted-data__float-gem--violet {
	background: linear-gradient(145deg, #c084fc, #7c3aed);
}

.appsinsight-trusted-data__float-gem--rose {
	background: linear-gradient(145deg, #fb7185, #e11d48);
}

.appsinsight-trusted-data__float-gem--sky {
	background: linear-gradient(145deg, #38bdf8, #0284c7);
}

.appsinsight-trusted-data__float-gem--indigo {
	background: linear-gradient(145deg, #818cf8, #4f46e5);
}

.appsinsight-trusted-data__float--1 {
	top: 6%;
	left: 1%;
	transform: rotate(-11deg);
}

.appsinsight-trusted-data__float--2 {
	top: 38%;
	left: 0;
	transform: rotate(7deg);
}

.appsinsight-trusted-data__float--3 {
	bottom: 4%;
	left: 4%;
	transform: rotate(-6deg);
}

.appsinsight-trusted-data__float--4 {
	top: 8%;
	right: 1%;
	left: auto;
	transform: rotate(9deg);
}

.appsinsight-trusted-data__float--5 {
	top: 40%;
	right: 0;
	left: auto;
	transform: rotate(-8deg);
}

.appsinsight-trusted-data__float--6 {
	bottom: 6%;
	right: 3%;
	left: auto;
	transform: rotate(6deg);
}

.appsinsight-trusted-data__center {
	position: relative;
	z-index: 2;
	max-width: 40rem;
	margin: 0 auto;
	padding: 0.5rem 1rem 1rem;
	text-align: center;
}

.appsinsight-trusted-data__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	margin: 0 0 1rem;
	padding: 0.32rem 0.85rem 0.32rem 0.55rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--appsinsight-accent, #f91942);
	background: #fff;
	border: 1px solid rgba(249, 25, 66, 0.22);
	border-radius: 999px;
	box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06);
}

.appsinsight-trusted-data__eyebrow-dot {
	width: 0.45rem;
	height: 0.45rem;
	border-radius: 50%;
	background: var(--appsinsight-accent, #f91942);
	flex-shrink: 0;
}

.appsinsight-trusted-data__title {
	margin: 0 0 1rem;
	color: #0f172a;
}

.appsinsight-trusted-data__lead {
	margin: 0;
	font-size: 1.05rem;
	line-height: 1.65;
	color: #64748b;
	max-width: 36rem;
	margin-inline: auto;
}

.appsinsight-reduced-motion .appsinsight-trusted-data__float {
	transform: none !important;
}

@media (max-width: 900px) {
	.appsinsight-trusted-data__float--1 {
		top: 2%;
		left: 2%;
	}

	.appsinsight-trusted-data__float--4 {
		top: 2%;
		right: 2%;
	}

	.appsinsight-trusted-data__float--2 {
		top: 32%;
	}

	.appsinsight-trusted-data__float--5 {
		top: 34%;
	}
}

@media (max-width: 640px) {
	.appsinsight-trusted-data__stage {
		min-height: 0;
		padding-bottom: 2rem;
	}

	.appsinsight-trusted-data__orbit {
		position: static;
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 0.85rem 0.65rem;
		max-width: 17.5rem;
		margin: 0 auto 1.75rem;
		pointer-events: auto;
	}

	.appsinsight-trusted-data__float {
		position: relative;
		top: auto !important;
		left: auto !important;
		right: auto !important;
		bottom: auto !important;
		width: 100%;
		height: auto;
		aspect-ratio: 1;
		margin: 0 auto;
		max-width: 4.5rem;
		transform: rotate(-4deg) !important;
	}

	.appsinsight-trusted-data__float:nth-child(even) {
		transform: rotate(5deg) !important;
	}

	.appsinsight-trusted-data__center {
		padding-top: 0;
	}
}

/* How we help — sticky + scroll narrative (replaces old 3-card grid) */
.appsinsight-confidence {
	padding: 0;
	overflow: visible;
}

.appsinsight-confidence__shell {
	background: linear-gradient(165deg, #0f1117 0%, #161922 42%, #12141c 100%);
	color: #f3f4f6;
	border-radius: 0;
	padding: 4.5rem 0;
	margin: 0;
}

.appsinsight-confidence__container {
	max-width: 1200px;
}

.appsinsight-confidence__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) auto minmax(0, 1.15fr);
	gap: clamp(1rem, 3vw, 2.5rem);
	align-items: start;
}

.appsinsight-confidence__sticky {
	position: sticky;
	top: clamp(4.5rem, 12vh, 7rem);
	padding-bottom: 1rem;
}

.appsinsight-confidence__eyebrow {
	display: inline-block;
	margin: 0 0 0.85rem;
	padding: 0.28rem 0.75rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--appsinsight-accent, #f91942);
	border: 1px solid rgba(249, 25, 66, 0.45);
	border-radius: 999px;
	background: rgba(249, 25, 66, 0.08);
}

/* Match “Share your project brief” scale (section header + lead) */
.appsinsight-confidence__title {
	margin: 0 0 0.75rem;
	color: #fff;
}

.appsinsight-confidence__lead {
	font-size: 1.05rem;
	line-height: 1.6;
	margin: 0 0 1.35rem;
	color: rgba(226, 232, 240, 0.9);
}

.appsinsight-confidence__cta-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin: 0 0 1.75rem;
}

.appsinsight-confidence__cta.button {
	border-radius: 10px;
	padding: 0.65rem 1.35rem;
	font-weight: 600;
}

.appsinsight-confidence__cta-secondary.button.border {
	border-color: rgba(255, 255, 255, 0.35);
	color: #fff;
	background: transparent;
}

.appsinsight-confidence__cta-secondary.button.border:hover,
.appsinsight-confidence__cta-secondary.button.border:focus {
	border-color: var(--appsinsight-accent, #f91942);
	color: #fff;
}

.appsinsight-confidence__figure {
	margin: 0;
	border-radius: 18px;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.1);
	box-shadow:
		0 24px 60px rgba(0, 0, 0, 0.45),
		inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.appsinsight-confidence__photo {
	display: block;
	width: 100%;
	height: auto;
	vertical-align: middle;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	transform: scale(1.01);
}

/* Center rail */
.appsinsight-confidence__rail {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	width: 2.25rem;
	min-height: 100%;
	padding: 0.5rem 0;
	align-self: stretch;
}

.appsinsight-confidence__rail-line {
	position: absolute;
	left: 50%;
	top: 0.75rem;
	bottom: 0.75rem;
	width: 2px;
	transform: translateX(-50%);
	background: linear-gradient(180deg, rgba(249, 25, 66, 0.15), rgba(249, 25, 66, 0.55), rgba(249, 25, 66, 0.15));
	border-radius: 2px;
	pointer-events: none;
}

.appsinsight-confidence__rail-node {
	position: relative;
	z-index: 1;
	flex: 1 1 0;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 2.5rem;
}

.appsinsight-confidence__rail-dot {
	display: block;
	width: 0.65rem;
	height: 0.65rem;
	border-radius: 50%;
	background: transparent;
	border: 2px solid rgba(249, 25, 66, 0.55);
	box-shadow: 0 0 0 2px rgba(15, 17, 23, 0.9);
	transition:
		transform 0.35s ease,
		background 0.35s ease,
		border-color 0.35s ease,
		box-shadow 0.35s ease;
}

.appsinsight-confidence__rail-node.is-active .appsinsight-confidence__rail-dot {
	background: var(--appsinsight-accent, #f91942);
	border-color: #fb7185;
	transform: scale(1.35);
	box-shadow:
		0 0 0 3px rgba(15, 17, 23, 0.95),
		0 0 22px rgba(249, 25, 66, 0.45);
}

/* Scroll track — height drives page scroll inside section feel */
.appsinsight-confidence__track {
	display: flex;
	flex-direction: column;
	gap: 1.35rem;
	padding-bottom: 2rem;
	min-width: 0;
	position: relative;
	z-index: 1;
}

.appsinsight-confidence__card {
	position: relative;
	padding: 1.5rem 1.4rem 1.55rem;
	border-radius: 16px;
	background: linear-gradient(155deg, rgba(255, 255, 255, 0.07) 0%, rgba(255, 255, 255, 0.02) 100%);
	border: 1px solid rgba(255, 255, 255, 0.12);
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.28);
	/* Always visible (scroll-reveal used opacity:0 before and could leave the column blank if IO never fired). */
	opacity: 1;
	transform: none;
	transition:
		border-color 0.3s ease,
		box-shadow 0.3s ease;
}

.appsinsight-confidence__card:hover {
	border-color: rgba(249, 25, 66, 0.35);
	box-shadow: 0 20px 48px rgba(249, 25, 66, 0.12);
}

.appsinsight-confidence__card-kicker {
	margin: 0 0 0.45rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--appsinsight-accent, #f91942);
}

.appsinsight-confidence__card-title {
	margin: 0 0 0.65rem;
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.25;
	color: #fff;
	letter-spacing: -0.02em;
}

.appsinsight-confidence__card-body {
	margin: 0;
	font-size: 1.05rem;
	line-height: 1.6;
	color: rgba(203, 213, 225, 0.95);
}

.appsinsight-reduced-motion .appsinsight-confidence__card {
	transition: none;
}

@media (max-width: 991px) {
	.appsinsight-confidence__layout {
		grid-template-columns: 1fr;
	}

	.appsinsight-confidence__rail {
		display: none;
	}

	.appsinsight-confidence__sticky {
		position: relative;
		top: auto;
	}

	.appsinsight-confidence__photo {
		aspect-ratio: 16 / 10;
		max-height: 22rem;
		object-position: center 20%;
	}
}

/* Align CTA — pill bar inside process / confidence section (matched palette) */
.appsinsight-confidence__banner-strip {
	margin-top: clamp(2rem, 4vw, 3.25rem);
	padding-top: clamp(1.75rem, 3vw, 2.5rem);
	border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.appsinsight-align-banner {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 1rem 1.35rem;
	padding: 0.85rem 1.15rem 0.85rem 0.65rem;
	border-radius: 999px;
	background: linear-gradient(165deg, #1c2433 0%, #151b28 100%);
	border: 1px solid rgba(255, 255, 255, 0.1);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.06),
		0 12px 40px rgba(0, 0, 0, 0.25);
}

.appsinsight-align-banner__avatars {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	padding-left: 0.25rem;
}

.appsinsight-align-banner__face {
	display: block;
	width: 2.875rem;
	height: 2.875rem;
	flex-shrink: 0;
	border-radius: 50%;
	border: 2px solid #fff;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
	margin-left: -0.75rem;
	background-size: cover;
	background-position: center;
}

.appsinsight-align-banner__face:first-child {
	margin-left: 0;
}

.appsinsight-align-banner__face--1 {
	background-image: linear-gradient(145deg, #94a3b8, #475569);
}

.appsinsight-align-banner__face--2 {
	background-image: linear-gradient(145deg, #cbd5e1, #64748b);
}

.appsinsight-align-banner__face--3 {
	background-image: linear-gradient(145deg, #fca5a5, #b91c1c);
}

.appsinsight-align-banner__face--4 {
	background-image: linear-gradient(145deg, #fcd34d, #b45309);
}

.appsinsight-align-banner__text {
	flex: 1 1 14rem;
	margin: 0;
	text-align: center;
	font-size: clamp(0.95rem, 2vw, 1.1rem);
	font-weight: 500;
	line-height: 1.4;
	color: #fff;
	letter-spacing: -0.01em;
}

.appsinsight-align-banner__accent {
	font-weight: 800;
}

.appsinsight-align-banner__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.4rem 1.15rem 0.4rem 0.4rem;
	border-radius: 999px;
	background: #fff;
	text-decoration: none;
	border: 1px solid rgba(255, 255, 255, 0.35);
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.18);
	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease;
}

.appsinsight-align-banner__cta:hover,
.appsinsight-align-banner__cta:focus {
	transform: translateY(-1px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);
}

.appsinsight-align-banner__cta-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.35rem;
	height: 2.35rem;
	border-radius: 50%;
	background: var(--appsinsight-accent, #f91942);
	color: #fff;
	line-height: 0;
}

.appsinsight-align-banner__cta-icon svg {
	display: block;
}

.appsinsight-align-banner__cta-label {
	font-weight: 700;
	font-size: 0.95rem;
	color: var(--appsinsight-accent, #f91942);
	letter-spacing: -0.01em;
}

@media (max-width: 639px) {
	.appsinsight-align-banner {
		flex-direction: column;
		align-items: stretch;
		border-radius: 22px;
		padding: 1.15rem 1.2rem;
	}

	.appsinsight-align-banner__avatars {
		justify-content: center;
		padding-left: 0;
	}

	.appsinsight-align-banner__text {
		text-align: center;
		order: 2;
	}

	.appsinsight-align-banner__cta {
		justify-content: center;
		order: 3;
	}
}

/* Brief / contact — split layout (title & intro lead: no font-size overrides) */
.appsinsight-brief__intro {
	margin-bottom: clamp(2rem, 4vw, 3rem);
}

.appsinsight-brief__kicker {
	margin: 0 0 0.5rem;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #94a3b8;
}

.appsinsight-brief__kicker::before {
	content: '';
	display: inline-block;
	width: 0.35rem;
	height: 0.35rem;
	margin-right: 0.45rem;
	border-radius: 50%;
	background: #cbd5e1;
	vertical-align: 0.1em;
}

.appsinsight-brief h2 {
	margin: 0 0 0.75rem;
	color: #0f172a;
	font-family: inherit;
	font-size: 1.85rem;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.02em;
}

.appsinsight-brief__intro-lead {
	margin: 0;
	line-height: 1.6;
	color: #64748b;
}

.appsinsight-brief__split {
	align-items: stretch;
}

@media (min-width: 992px) {
	.appsinsight-brief__split.row {
		display: flex;
		flex-wrap: wrap;
		align-items: stretch;
	}

	.appsinsight-brief__split > .col-lg-5,
	.appsinsight-brief__split > .col-lg-7 {
		display: flex;
		flex-direction: column;
	}

	.appsinsight-brief__split > .col-lg-7 .appsinsight-brief__form-wrap {
		flex: 1 1 auto;
	}

	.appsinsight-brief__split > .col-lg-5 .appsinsight-brief__visual {
		flex: 1 1 auto;
		align-self: stretch;
		min-height: 0;
		width: 100%;
	}
}

.appsinsight-brief__visual {
	position: relative;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 24px 60px rgba(15, 23, 42, 0.12);
}

.appsinsight-brief__visual-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.appsinsight-brief__visual-overlay {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: clamp(1.25rem, 3vw, 2rem);
	background: linear-gradient(
		165deg,
		rgba(249, 25, 66, 0.05) 0%,
		rgba(15, 23, 42, 0.12) 38%,
		rgba(15, 23, 42, 0.75) 100%
	);
}

.appsinsight-brief__visual-title {
	margin: 0 0 0.45rem;
	font-size: 1.35rem;
	font-weight: 800;
	line-height: 1.2;
	color: #fff;
	letter-spacing: -0.02em;
}

.appsinsight-brief__visual-text {
	margin: 0 0 1.1rem;
	font-size: 1.15rem;
	line-height: 1.6;
	color: rgba(248, 250, 252, 0.95);
	max-width: 24rem;
}

.appsinsight-brief__visual-cta {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	align-self: flex-start;
	padding: 0.65rem 1.5rem 0.65rem 1.45rem;
	border-radius: 999px;
	background: linear-gradient(135deg, var(--appsinsight-accent, #f91942) 0%, #e11d48 100%);
	color: #fff !important;
	font-weight: 700;
	font-size: 1.1rem;
	text-decoration: none;
	border: 1px solid rgba(255, 255, 255, 0.12);
	box-shadow: 0 4px 14px rgba(249, 25, 66, 0.35);
	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease,
		filter 0.2s ease;
}

.appsinsight-brief__visual-cta:hover,
.appsinsight-brief__visual-cta:focus {
	transform: translateY(-2px);
	box-shadow: 0 8px 22px rgba(249, 25, 66, 0.45);
	filter: brightness(1.05);
	color: #fff !important;
}

.appsinsight-brief__visual-cta-icon {
	display: inline-flex;
	line-height: 0;
}

.appsinsight-brief__form-wrap {
	--ai-icon-user: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
	--ai-icon-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22,6 12,13 2,6'/%3E%3C/svg%3E");
	--ai-icon-subject: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='16' y1='13' x2='8' y2='13'/%3E%3Cline x1='16' y1='17' x2='8' y2='17'/%3E%3Cline x1='10' y1='9' x2='8' y2='9'/%3E%3C/svg%3E");
	--ai-icon-message: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E");
	--ai-icon-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
	--ai-icon-link: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'/%3E%3C/svg%3E");
	--ai-icon-hash: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='4' y1='9' x2='20' y2='9'/%3E%3Cline x1='4' y1='15' x2='20' y2='15'/%3E%3Cline x1='10' y1='3' x2='8' y2='21'/%3E%3Cline x1='16' y1='3' x2='14' y2='21'/%3E%3C/svg%3E");
	--ai-icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
	--ai-icon-upload: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='17 8 12 3 7 8'/%3E%3Cline x1='12' y1='3' x2='12' y2='15'/%3E%3C/svg%3E");
	--ai-icon-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");
	--ai-icon-send: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='22' y1='2' x2='11' y2='13'/%3E%3Cpolygon points='22 2 15 22 11 13 2 9 22 2'/%3E%3C/svg%3E");
	background-color: #f4f6f8;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	padding: clamp(1.5rem, 3vw, 2.25rem);
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

.appsinsight-brief__form-wrap .wpcf7-form {
	margin: 0;
}

.appsinsight-brief__form-wrap .wpcf7-form-control-wrap {
	position: relative;
	display: block;
	margin-bottom: 1rem;
}

/* CF7 field icons (data-name / name / type fallbacks) */
.appsinsight-brief__form-wrap .wpcf7-form-control-wrap::before {
	content: none;
}

.appsinsight-brief__form-wrap .wpcf7-form-control-wrap:has(.wpcf7-acceptance)::before,
.appsinsight-brief__form-wrap .wpcf7-form-control-wrap:has(input[type='checkbox'])::before,
.appsinsight-brief__form-wrap .wpcf7-form-control-wrap:has(input[type='radio'])::before {
	content: none !important;
	background-image: none !important;
}

.appsinsight-brief__form-wrap .wpcf7-form-control-wrap[data-name='your-name']::before,
.appsinsight-brief__form-wrap .wpcf7-form-control-wrap[data-name='name']::before,
.appsinsight-brief__form-wrap .wpcf7-form-control-wrap[data-name='first-name']::before,
.appsinsight-brief__form-wrap .wpcf7-form-control-wrap[data-name='last-name']::before,
.appsinsight-brief__form-wrap .wpcf7-form-control-wrap:has(input[name='your-name'])::before,
.appsinsight-brief__form-wrap .wpcf7-form-control-wrap:has(input[name='name'])::before,
.appsinsight-brief__form-wrap .wpcf7-form-control-wrap:has(input[name='first-name'])::before,
.appsinsight-brief__form-wrap .wpcf7-form-control-wrap:has(input[name='last-name'])::before {
	content: '';
	position: absolute;
	left: 0.95rem;
	top: 50%;
	width: 1.2rem;
	height: 1.2rem;
	transform: translateY(-50%);
	background: transparent var(--ai-icon-user) center / contain no-repeat;
	pointer-events: none;
	z-index: 1;
	opacity: 0.92;
}

.appsinsight-brief__form-wrap .wpcf7-form-control-wrap[data-name='your-email']::before,
.appsinsight-brief__form-wrap .wpcf7-form-control-wrap[data-name='email']::before,
.appsinsight-brief__form-wrap .wpcf7-form-control-wrap:has(input[type='email'])::before {
	content: '';
	position: absolute;
	left: 0.95rem;
	top: 50%;
	width: 1.2rem;
	height: 1.2rem;
	transform: translateY(-50%);
	background: transparent var(--ai-icon-mail) center / contain no-repeat;
	pointer-events: none;
	z-index: 1;
	opacity: 0.92;
}

.appsinsight-brief__form-wrap .wpcf7-form-control-wrap[data-name='your-subject']::before,
.appsinsight-brief__form-wrap .wpcf7-form-control-wrap[data-name='subject']::before,
.appsinsight-brief__form-wrap .wpcf7-form-control-wrap:has(input[name='your-subject'])::before,
.appsinsight-brief__form-wrap .wpcf7-form-control-wrap:has(input[name='subject'])::before {
	content: '';
	position: absolute;
	left: 0.95rem;
	top: 50%;
	width: 1.2rem;
	height: 1.2rem;
	transform: translateY(-50%);
	background: transparent var(--ai-icon-subject) center / contain no-repeat;
	pointer-events: none;
	z-index: 1;
	opacity: 0.92;
}

.appsinsight-brief__form-wrap .wpcf7-form-control-wrap[data-name='your-message']::before,
.appsinsight-brief__form-wrap .wpcf7-form-control-wrap[data-name='message']::before,
.appsinsight-brief__form-wrap .wpcf7-form-control-wrap:has(textarea)::before {
	content: '';
	position: absolute;
	left: 0.95rem;
	top: 0.95rem;
	width: 1.2rem;
	height: 1.2rem;
	transform: none;
	background: transparent var(--ai-icon-message) center / contain no-repeat;
	pointer-events: none;
	z-index: 1;
	opacity: 0.92;
}

.appsinsight-brief__form-wrap .wpcf7-form-control-wrap[data-name='your-phone']::before,
.appsinsight-brief__form-wrap .wpcf7-form-control-wrap[data-name='phone']::before,
.appsinsight-brief__form-wrap .wpcf7-form-control-wrap:has(input[type='tel'])::before {
	content: '';
	position: absolute;
	left: 0.95rem;
	top: 50%;
	width: 1.2rem;
	height: 1.2rem;
	transform: translateY(-50%);
	background: transparent var(--ai-icon-phone) center / contain no-repeat;
	pointer-events: none;
	z-index: 1;
	opacity: 0.92;
}

.appsinsight-brief__form-wrap .wpcf7-form-control-wrap:has(input[type='url'])::before {
	content: '';
	position: absolute;
	left: 0.95rem;
	top: 50%;
	width: 1.2rem;
	height: 1.2rem;
	transform: translateY(-50%);
	background: transparent var(--ai-icon-link) center / contain no-repeat;
	pointer-events: none;
	z-index: 1;
	opacity: 0.92;
}

.appsinsight-brief__form-wrap .wpcf7-form-control-wrap:has(input[type='number'])::before {
	content: '';
	position: absolute;
	left: 0.95rem;
	top: 50%;
	width: 1.2rem;
	height: 1.2rem;
	transform: translateY(-50%);
	background: transparent var(--ai-icon-hash) center / contain no-repeat;
	pointer-events: none;
	z-index: 1;
	opacity: 0.92;
}

.appsinsight-brief__form-wrap .wpcf7-form-control-wrap:has(select)::before {
	content: '';
	position: absolute;
	left: 0.95rem;
	top: 50%;
	width: 1.2rem;
	height: 1.2rem;
	transform: translateY(-50%);
	background: transparent var(--ai-icon-chevron) center / contain no-repeat;
	pointer-events: none;
	z-index: 1;
	opacity: 0.92;
}

.appsinsight-brief__form-wrap .wpcf7-form-control-wrap:has(input[type='file'])::before {
	content: '';
	position: absolute;
	left: 0.95rem;
	top: 50%;
	width: 1.2rem;
	height: 1.2rem;
	transform: translateY(-50%);
	background: transparent var(--ai-icon-upload) center / contain no-repeat;
	pointer-events: none;
	z-index: 1;
	opacity: 0.92;
}

.appsinsight-brief__form-wrap .wpcf7-form-control-wrap:has(input[type='date'])::before,
.appsinsight-brief__form-wrap .wpcf7-form-control-wrap:has(input[type='datetime-local'])::before {
	content: '';
	position: absolute;
	left: 0.95rem;
	top: 50%;
	width: 1.2rem;
	height: 1.2rem;
	transform: translateY(-50%);
	background: transparent var(--ai-icon-calendar) center / contain no-repeat;
	pointer-events: none;
	z-index: 1;
	opacity: 0.92;
}

/* Left padding when an icon pseudo is shown (avoid double-padding on nested spans) */
.appsinsight-brief__form-wrap .wpcf7-form-control-wrap:where(
		[data-name='your-name'],
		[data-name='name'],
		[data-name='first-name'],
		[data-name='last-name'],
		[data-name='your-email'],
		[data-name='email'],
		[data-name='your-subject'],
		[data-name='subject'],
		[data-name='your-message'],
		[data-name='message'],
		[data-name='your-phone'],
		[data-name='phone']
	)
	input,
.appsinsight-brief__form-wrap .wpcf7-form-control-wrap:where(
		[data-name='your-name'],
		[data-name='name'],
		[data-name='first-name'],
		[data-name='last-name'],
		[data-name='your-email'],
		[data-name='email'],
		[data-name='your-subject'],
		[data-name='subject'],
		[data-name='your-message'],
		[data-name='message'],
		[data-name='your-phone'],
		[data-name='phone']
	)
	select,
.appsinsight-brief__form-wrap .wpcf7-form-control-wrap:where(
		[data-name='your-name'],
		[data-name='name'],
		[data-name='first-name'],
		[data-name='last-name'],
		[data-name='your-email'],
		[data-name='email'],
		[data-name='your-subject'],
		[data-name='subject'],
		[data-name='your-message'],
		[data-name='message'],
		[data-name='your-phone'],
		[data-name='phone']
	)
	textarea,
.appsinsight-brief__form-wrap .wpcf7-form-control-wrap:has(input[type='email']) input[type='email'],
.appsinsight-brief__form-wrap .wpcf7-form-control-wrap:has(input[type='tel']) input[type='tel'],
.appsinsight-brief__form-wrap .wpcf7-form-control-wrap:has(input[type='url']) input[type='url'],
.appsinsight-brief__form-wrap .wpcf7-form-control-wrap:has(input[type='number']) input[type='number'],
.appsinsight-brief__form-wrap .wpcf7-form-control-wrap:has(input[type='file']) input[type='file'],
.appsinsight-brief__form-wrap .wpcf7-form-control-wrap:has(input[type='date']) input[type='date'],
.appsinsight-brief__form-wrap .wpcf7-form-control-wrap:has(input[type='datetime-local']) input[type='datetime-local'],
.appsinsight-brief__form-wrap .wpcf7-form-control-wrap:has(select) select,
.appsinsight-brief__form-wrap .wpcf7-form-control-wrap:has(textarea) textarea,
.appsinsight-brief__form-wrap .wpcf7-form-control-wrap:has(input[name='your-name']) input,
.appsinsight-brief__form-wrap .wpcf7-form-control-wrap:has(input[name='name']) input,
.appsinsight-brief__form-wrap .wpcf7-form-control-wrap:has(input[name='first-name']) input,
.appsinsight-brief__form-wrap .wpcf7-form-control-wrap:has(input[name='last-name']) input,
.appsinsight-brief__form-wrap .wpcf7-form-control-wrap:has(input[name='your-subject']) input,
.appsinsight-brief__form-wrap .wpcf7-form-control-wrap:has(input[name='subject']) input {
	padding-left: 2.65rem;
}

.appsinsight-brief__form-wrap .wpcf7-form-control-wrap:focus-within::before {
	opacity: 1;
}

.appsinsight-brief__form-wrap label {
	display: block;
	margin-bottom: 0.35rem;
	font-size: 0.88rem;
	font-weight: 700;
	color: #334155;
}

.appsinsight-brief__form-wrap input[type='text'],
.appsinsight-brief__form-wrap input[type='email'],
.appsinsight-brief__form-wrap input[type='tel'],
.appsinsight-brief__form-wrap input[type='url'],
.appsinsight-brief__form-wrap input[type='number'],
.appsinsight-brief__form-wrap select,
.appsinsight-brief__form-wrap textarea {
	width: 100%;
	max-width: 100%;
	padding: 0.7rem 0.95rem;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	background: #fff;
	font-size: 1.1rem;
	line-height: 1.45;
	color: #0f172a;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

.appsinsight-brief__form-wrap input::placeholder,
.appsinsight-brief__form-wrap textarea::placeholder {
	font-size: 1.1rem;
	color: #64748b;
	opacity: 1;
}

.appsinsight-brief__form-wrap input::-webkit-input-placeholder,
.appsinsight-brief__form-wrap textarea::-webkit-input-placeholder {
	font-size: 1.1rem;
	color: #64748b;
}

.appsinsight-brief__form-wrap input::-moz-placeholder,
.appsinsight-brief__form-wrap textarea::-moz-placeholder {
	font-size: 1.1rem;
	color: #64748b;
	opacity: 1;
}

.appsinsight-brief__form-wrap textarea {
	min-height: 8.5rem;
	resize: vertical;
}

.appsinsight-brief__form-wrap input:focus,
.appsinsight-brief__form-wrap select:focus,
.appsinsight-brief__form-wrap textarea:focus {
	outline: none;
	border-color: rgba(249, 25, 66, 0.4);
	box-shadow: 0 0 0 2px rgba(249, 25, 66, 0.12);
}

/* Submit: input[type=submit] cannot use flex — use symmetric padding + line-height for vertical center */
.appsinsight-brief__form-wrap .wpcf7-submit,
.appsinsight-brief__form-wrap input.wpcf7-submit,
.appsinsight-brief__form-wrap button.wpcf7-submit {
	-webkit-appearance: none;
	appearance: none;
	margin-top: 0.35rem;
	padding: 0.75rem 1.35rem 0.75rem 2.45rem;
	border-radius: 8px;
	border: 0;
	background-color: transparent;
	background-image: var(--ai-icon-send), linear-gradient(135deg, var(--appsinsight-accent, #f91942) 0%, #e11d48 100%);
	background-position: 0.85rem 50%, 0 0;
	background-size: 1.05rem 1.05rem, 100% 100%;
	background-repeat: no-repeat;
	color: #fff !important;
	font-weight: 700;
	font-size: 1.1rem;
	line-height: 1.25;
	cursor: pointer;
	box-shadow: 0 2px 8px rgba(249, 25, 66, 0.28);
	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease,
		filter 0.2s ease;
}

.appsinsight-brief__form-wrap input.wpcf7-submit {
	display: inline-block;
	vertical-align: middle;
	text-align: center;
}

.appsinsight-brief__form-wrap button.wpcf7-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
}

.appsinsight-brief__form-wrap .wpcf7-submit:hover,
.appsinsight-brief__form-wrap .wpcf7-submit:focus,
.appsinsight-brief__form-wrap input.wpcf7-submit:hover,
.appsinsight-brief__form-wrap input.wpcf7-submit:focus,
.appsinsight-brief__form-wrap button.wpcf7-submit:hover,
.appsinsight-brief__form-wrap button.wpcf7-submit:focus {
	background-image: var(--ai-icon-send), linear-gradient(135deg, var(--appsinsight-accent, #f91942) 0%, #e11d48 100%);
	filter: brightness(1.05);
	transform: translateY(-1px);
	box-shadow: 0 4px 14px rgba(249, 25, 66, 0.35);
	color: #fff !important;
}

.appsinsight-brief__form-wrap .wpcf7-response-output {
	margin: 1rem 0 0;
	border-radius: 8px;
}

.appsinsight-brief__fineprint {
	margin: 1rem 0 0;
	font-size: 0.82rem;
	color: #64748b;
}

@media (max-width: 991px) {
	.appsinsight-brief__split > .col-lg-5,
	.appsinsight-brief__split > .col-lg-7 {
		display: block;
	}

	.appsinsight-brief__visual {
		min-height: clamp(20rem, 48vw, 26rem);
		margin-bottom: 1.75rem;
		flex: none;
	}
}

/* Blog — magazine (featured + side list), dark */
.appsinsight-blog.appsinsight-section--dark {
	background: linear-gradient(180deg, #12151f 0%, #1a1f2e 48%, #151924 100%);
	color: #e8eaef;
}

.appsinsight-blog__header {
	margin-bottom: clamp(2rem, 4vw, 3rem);
}

.appsinsight-blog__lead {
	color: #94a3b8 !important;
	opacity: 1 !important;
}

.appsinsight-blog__grid {
	align-items: flex-start;
}

.appsinsight-blog__grid > [class*='col-'] {
	margin-bottom: 0;
}

/* Hero card */
.appsinsight-blog-card--hero {
	position: relative;
}

.appsinsight-blog-card__media {
	position: relative;
	border-radius: 18px;
	overflow: hidden;
	margin: 0 0 1.25rem;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35);
}

.appsinsight-blog-card__media-link {
	display: block;
	aspect-ratio: 16 / 10;
	background: #252a3a;
}

.appsinsight-blog-card__media-link--placeholder {
	min-height: 14rem;
	background: linear-gradient(135deg, #2a3144 0%, #1e2433 100%);
}

.appsinsight-blog-card__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.appsinsight-blog-card__media-link:hover .appsinsight-blog-card__image,
.appsinsight-blog-card__media-link:focus .appsinsight-blog-card__image {
	transform: scale(1.03);
}

.appsinsight-blog-card__badge {
	position: absolute;
	top: 1rem;
	left: 1rem;
	z-index: 2;
	padding: 0.35rem 0.85rem;
	border-radius: 999px;
	font-size: 1.0rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #fff !important;
	text-decoration: none;
	background: linear-gradient(135deg, var(--appsinsight-accent, #f91942) 0%, #e11d48 100%);
	box-shadow: 0 4px 14px rgba(249, 25, 66, 0.4);
}

.appsinsight-blog-card__badge:hover,
.appsinsight-blog-card__badge:focus {
	filter: brightness(1.08);
	color: #fff !important;
}

.appsinsight-blog-card__body {
	padding: 0 0.15rem;
}

.appsinsight-blog-card__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.5rem;
	margin: 0 0 0.85rem;
	font-size: 0.9rem;
	color: #94a3b8;
}

.appsinsight-blog-card__avatar {
	display: inline-flex;
	border-radius: 50%;
	overflow: hidden;
	border: 2px solid rgba(255, 255, 255, 0.12);
}

.appsinsight-blog-card__avatar-img {
	display: block;
	width: 2.75rem;
	height: 2.75rem;
}

.appsinsight-blog-card__author a {
	color: #cbd5e1;
	font-weight: 600;
	text-decoration: none;
}

.appsinsight-blog-card__author a:hover,
.appsinsight-blog-card__author a:focus {
	color: #fff;
}

.appsinsight-blog-card__sep {
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--appsinsight-accent, #f91942), #e11d48);
	flex-shrink: 0;
}

.appsinsight-blog-card__date {
	color: #94a3b8;
}

.appsinsight-blog-card__cat {
	color: #f47298;
	font-weight: 600;
	font-size: 0.85rem;
	text-decoration: none;
}

.appsinsight-blog-card__cat:hover,
.appsinsight-blog-card__cat:focus {
	color: #fda4af;
}

.appsinsight-blog-card__title {
	margin: 0 0 0.75rem;
	font-size: clamp(1.35rem, 2.5vw, 1.75rem);
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -0.02em;
}

.appsinsight-blog-card__title a {
	color: #fff;
	text-decoration: none;
	transition: color 0.2s ease;
}

.appsinsight-blog-card__title a:hover,
.appsinsight-blog-card__title a:focus {
	color: #fda4af;
}

.appsinsight-blog-card__excerpt {
	margin: 0 0 1rem;
	font-size: 1rem;
	line-height: 1.65;
	color: #94a3b8;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.appsinsight-blog-card__read {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.92rem;
	font-weight: 700;
	color: #fda4af !important;
	text-decoration: none;
	transition: gap 0.2s ease, color 0.2s ease;
}

.appsinsight-blog-card__read:hover,
.appsinsight-blog-card__read:focus {
	gap: 0.55rem;
	color: #fff !important;
}

/* Side list */
.appsinsight-blog-side {
	list-style: none;
	margin: 0;
	padding: 0;
}

.appsinsight-blog-side__item {
	border-bottom: 1px solid rgba(148, 163, 184, 0.15);
	padding: 1.15rem 0;
}

.appsinsight-blog-side__item:first-child {
	padding-top: 0;
}

.appsinsight-blog-side__item:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.appsinsight-blog-item {
	display: flex;
	gap: 1rem;
	align-items: flex-start;
}

.appsinsight-blog-item__thumb {
	flex: 0 0 34%;
	max-width: 140px;
	border-radius: 14px;
	overflow: hidden;
	background: #252a3a;
	aspect-ratio: 4 / 3;
	align-self: stretch;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
}

.appsinsight-blog-item__thumb--placeholder {
	min-height: 5.5rem;
	background: linear-gradient(145deg, #2f3648, #232936);
}

.appsinsight-blog-item__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}

.appsinsight-blog-item__thumb:hover .appsinsight-blog-item__img,
.appsinsight-blog-item__thumb:focus .appsinsight-blog-item__img {
	transform: scale(1.05);
}

.appsinsight-blog-item__body {
	flex: 1;
	min-width: 0;
}

.appsinsight-blog-item__cat {
	display: inline-block;
	margin: 0 0 0.35rem;
	font-size: 1.0rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #f47298 !important;
	text-decoration: none;
}

.appsinsight-blog-item__cat--text {
	color: #f47298;
	cursor: default;
}

.appsinsight-blog-item__cat:hover,
.appsinsight-blog-item__cat:focus {
	color: #fda4af !important;
}

.appsinsight-blog-item__title {
	margin: 0 0 0.4rem;
	font-size: 1.02rem;
	font-weight: 700;
	line-height: 1.35;
}

.appsinsight-blog-item__title a {
	color: #f8fafc;
	text-decoration: none;
	transition: color 0.2s ease;
}

.appsinsight-blog-item__title a:hover,
.appsinsight-blog-item__title a:focus {
	color: #fda4af;
}

.appsinsight-blog-item__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.45rem;
	margin: 0 0 0.45rem;
	font-size: 0.8rem;
	color: #94a3b8;
}

.appsinsight-blog-item__author a {
	color: #cbd5e1;
	font-weight: 600;
	text-decoration: none;
}

.appsinsight-blog-item__author a:hover,
.appsinsight-blog-item__author a:focus {
	color: #fff;
}

.appsinsight-blog-item__sep {
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--appsinsight-accent, #f91942), #e11d48);
	flex-shrink: 0;
}

.appsinsight-blog-item__date {
	color: #94a3b8;
}

.appsinsight-blog-item__excerpt {
	margin: 0;
	font-size: 0.88rem;
	line-height: 1.55;
	color: #94a3b8;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.appsinsight-blog__cta {
	margin-top: 2.5rem;
}

.appsinsight-blog__cta-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.75rem 1.75rem;
	border-radius: 999px;
	font-weight: 700;
	font-size: 1.35rem;
	text-decoration: none;
	color: #fff !important;
	background: linear-gradient(135deg, var(--appsinsight-accent, #f91942) 0%, #e11d48 100%);
	border: 1px solid rgba(255, 255, 255, 0.1);
	box-shadow: 0 6px 20px rgba(249, 25, 66, 0.35);
	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease,
		filter 0.2s ease;
}

.appsinsight-blog__cta-btn:hover,
.appsinsight-blog__cta-btn:focus {
	filter: brightness(1.06);
	transform: translateY(-2px);
	box-shadow: 0 10px 28px rgba(249, 25, 66, 0.4);
	color: #fff !important;
}

@media (max-width: 991px) {
	.appsinsight-blog-side__item:first-child {
		padding-top: 1.15rem;
		border-top: 1px solid rgba(148, 163, 184, 0.15);
		margin-top: 0.5rem;
	}

	.appsinsight-blog-item__thumb {
		max-width: 120px;
	}
}

@media (max-width: 575px) {
	.appsinsight-blog-item {
		flex-direction: column;
	}

	.appsinsight-blog-item__thumb {
		max-width: none;
		width: 100%;
		aspect-ratio: 16 / 9;
	}
}

/* Additional page content */
.appsinsight-home-additional-content {
	padding: 3rem 0 4rem;
	background: #fff;
}

/* Archive software cards */
.appsinsight-software-archive-card {
	margin-bottom: 2rem;
}

.appsinsight-software-archive-card__title {
	font-size: 1.15rem;
	margin: 0.75rem 0;
}

.appsinsight-software-archive-card__title-row {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.35rem;
}

.appsinsight-software-archive-card__title-link {
	text-decoration: none;
}

.appsinsight-software-single__title {
	display: block;
}

.appsinsight-software-single__title-row {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.4rem;
}

/* -------------------------------------------------------------------------
 * IT Directory homepage — unified body copy + paragraph rhythm under main.appsinsight-it-home.
 * Section H2s, hero H1, and card titles keep larger dedicated rules above.
 * ------------------------------------------------------------------------- */
.appsinsight-it-home p {
	margin-top: 0;
	margin-bottom: var(--appsinsight-home-p-margin, 0.95rem);
	line-height: var(--appsinsight-home-copy-lh, 1.68);
}

.appsinsight-it-home p:last-child {
	margin-bottom: 0;
}

.appsinsight-it-home .appsinsight-section__lead {
	font-size: var(--appsinsight-home-copy-fs);
	line-height: var(--appsinsight-home-copy-lh);
	margin-top: 0;
	margin-bottom: 0.35rem;
}

.appsinsight-it-home .appsinsight-hero--light .appsinsight-hero__lead,
.appsinsight-it-home .appsinsight-hero--light .appsinsight-hero__lead p {
	font-size: var(--appsinsight-home-copy-fs);
	line-height: var(--appsinsight-home-copy-lh);
}

.appsinsight-it-home .appsinsight-popular-glass__slide-title {
	font-size: var(--appsinsight-home-copy-fs);
	line-height: var(--appsinsight-home-copy-lh);
}

.appsinsight-it-home .appsinsight-popular-glass__slide-meta {
	font-size: var(--appsinsight-home-copy-fs);
	line-height: var(--appsinsight-home-copy-lh);
}

.appsinsight-it-home .appsinsight-categories__lead,
.appsinsight-it-home .appsinsight-categories__lead p {
	font-size: var(--appsinsight-home-copy-fs);
	line-height: var(--appsinsight-home-copy-lh);
}

.appsinsight-it-home .appsinsight-cat-card__title {
	font-size: 1.125rem;
	line-height: 1.35;
}

.appsinsight-it-home .appsinsight-cat-card__links,
.appsinsight-it-home .appsinsight-cat-card__links a {
	font-size: var(--appsinsight-home-copy-fs);
	line-height: var(--appsinsight-home-copy-lh);
}

.appsinsight-it-home .appsinsight-cat-card__browse {
	font-size: var(--appsinsight-home-copy-fs);
	line-height: var(--appsinsight-home-copy-lh);
}

.appsinsight-it-home .appsinsight-cap-box__pipe-links {
	font-size: var(--appsinsight-home-copy-fs);
	line-height: var(--appsinsight-home-copy-lh);
}

.appsinsight-it-home .appsinsight-cap-box__footer {
	font-size: var(--appsinsight-home-copy-fs);
	line-height: var(--appsinsight-home-copy-lh);
}

.appsinsight-it-home .appsinsight-agencies .appsinsight-section__lead {
	font-size: var(--appsinsight-home-copy-fs);
	line-height: var(--appsinsight-home-copy-lh);
}

.appsinsight-it-home .appsinsight-agencies .appsinsight-tabs__tab {
	font-size: var(--appsinsight-home-copy-fs);
	line-height: 1.35;
}

.appsinsight-it-home .appsinsight-agencies .appsinsight-agency-card__title {
	line-height: 1.3;
}

.appsinsight-it-home .appsinsight-agency-card__meta {
	font-size: var(--appsinsight-home-copy-fs);
	line-height: var(--appsinsight-home-copy-lh);
}

.appsinsight-it-home .appsinsight-agencies .appsinsight-agency-card__excerpt {
	font-size: var(--appsinsight-home-copy-fs);
	line-height: var(--appsinsight-home-copy-lh);
}

.appsinsight-it-home .appsinsight-agencies .appsinsight-agency-card__cta {
	font-size: 0.9375rem;
}

.appsinsight-it-home .appsinsight-agencies .appsinsight-empty {
	font-size: var(--appsinsight-home-copy-fs);
	line-height: var(--appsinsight-home-copy-lh);
}

.appsinsight-it-home .appsinsight-review-card__text {
	font-size: var(--appsinsight-home-copy-fs);
	line-height: var(--appsinsight-home-copy-lh);
}

.appsinsight-it-home .appsinsight-review-card__reviewer {
	font-size: var(--appsinsight-home-copy-fs);
	line-height: var(--appsinsight-home-copy-lh);
}

.appsinsight-it-home .appsinsight-review-card__listing {
	font-size: 1.0625rem;
	line-height: 1.35;
}

.appsinsight-it-home .appsinsight-software__lead {
	font-size: var(--appsinsight-home-copy-fs);
	line-height: var(--appsinsight-home-copy-lh);
}

.appsinsight-it-home .appsinsight-software-card__excerpt {
	font-size: var(--appsinsight-home-copy-fs) !important;
	line-height: var(--appsinsight-home-copy-lh) !important;
}

.appsinsight-it-home .appsinsight-software-card__tags {
	font-size: var(--appsinsight-home-copy-fs);
	line-height: var(--appsinsight-home-copy-lh);
}

.appsinsight-it-home .appsinsight-software__demo-hint {
	font-size: var(--appsinsight-home-copy-fs);
	line-height: var(--appsinsight-home-copy-lh);
}

.appsinsight-it-home .appsinsight-trusted-data__lead {
	font-size: var(--appsinsight-home-copy-fs);
	line-height: var(--appsinsight-home-copy-lh);
}

.appsinsight-it-home .appsinsight-confidence__lead {
	font-size: var(--appsinsight-home-copy-fs);
	line-height: var(--appsinsight-home-copy-lh);
	margin: 0 0 1.35rem;
}

.appsinsight-it-home .appsinsight-confidence__card-body {
	font-size: var(--appsinsight-home-copy-fs);
	line-height: var(--appsinsight-home-copy-lh);
}

.appsinsight-it-home .appsinsight-confidence__card-title {
	font-size: 1.125rem;
	line-height: 1.3;
}

.appsinsight-it-home .appsinsight-align-banner__text {
	font-size: var(--appsinsight-home-copy-fs);
	line-height: var(--appsinsight-home-copy-lh);
}

.appsinsight-it-home .appsinsight-brief__intro-lead {
	font-size: var(--appsinsight-home-copy-fs);
	line-height: var(--appsinsight-home-copy-lh);
}

.appsinsight-it-home .appsinsight-blog__lead {
	font-size: var(--appsinsight-home-copy-fs);
	line-height: var(--appsinsight-home-copy-lh);
	opacity: 0.92;
}

.appsinsight-it-home .appsinsight-blog-card__excerpt,
.appsinsight-it-home .appsinsight-blog-item__excerpt {
	font-size: var(--appsinsight-home-copy-fs);
	line-height: var(--appsinsight-home-copy-lh);
}

.appsinsight-it-home .appsinsight-blog-card__meta,
.appsinsight-it-home .appsinsight-blog-item__meta,
.appsinsight-it-home .appsinsight-blog-card__date,
.appsinsight-it-home .appsinsight-blog-item__date {
	font-size: var(--appsinsight-home-copy-fs);
	line-height: var(--appsinsight-home-copy-lh);
}

.appsinsight-it-home .appsinsight-blog-card__author a,
.appsinsight-it-home .appsinsight-blog-item__author a {
	font-size: var(--appsinsight-home-copy-fs);
	line-height: var(--appsinsight-home-copy-lh);
}

/* IT Directory home: all h2s use the same font family + size as Contact (“Tell us what you need.”) */
.appsinsight-it-home h2,
.appsinsight-it-home h2.appsinsight-popular-glass__title,
.appsinsight-it-home .appsinsight-agencies .appsinsight-section__header h2 {
	font-family: inherit;
	font-size: 2.45rem;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.02em;
	text-transform: none;
}

/* IT Directory home: all h3s — single type scale */
.appsinsight-it-home h3,
.appsinsight-it-home h3.appsinsight-trusted-by__title,
.appsinsight-it-home h3.appsinsight-cat-card__title,
.appsinsight-it-home h3.appsinsight-confidence__card-title,
.appsinsight-it-home h3.appsinsight-brief__visual-title,
.appsinsight-it-home h3.appsinsight-blog-card__title,
.appsinsight-it-home h3.appsinsight-blog-item__title,
.appsinsight-it-home h3.appsinsight-software-card__title,
.appsinsight-it-home .appsinsight-agencies h3.appsinsight-agency-card__title {
	font-size: 1.425rem;
}

/* Eyebrows, step labels, Contact kicker, Read article link — 0.93rem */
.appsinsight-it-home .appsinsight-confidence__eyebrow,
.appsinsight-it-home .appsinsight-confidence__card-kicker,
.appsinsight-it-home .appsinsight-trusted-data__eyebrow,
.appsinsight-it-home .appsinsight-brief__kicker,
.appsinsight-it-home .appsinsight-blog-card__read {
	font-size: 1.0rem;
	line-height: 1.45;
}

/* Screen reader */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}
