/* TriggerTech Difference — video + copy on a dark ground (design.md §triggertech-difference).
   Note the section dark is #21211f (not the footer's #141412). */

.tt-difference {
	position: relative;
	overflow: hidden;
	background: #21211f;
}

.tt-difference__inner {
	display: flex;
	align-items: center;
	gap: 47px;
	min-height: 620px;
	padding-left: 40px;
	padding-right: 76px;
}

/* Video (poster + play facade) */
.tt-difference__video {
	position: relative;
	flex: 0 1 824px;
	width: 824px;
	max-width: 55%;
	aspect-ratio: 824 / 463;
	overflow: hidden;
}

.tt-difference__poster,
.tt-difference__iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	object-fit: cover;
}

.tt-difference__play {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 70px;
	height: 80px;
	padding: 0;
	border: 0;
	background: transparent;
	color: rgba(255, 255, 255, 0.9);
	cursor: pointer;
	transition: transform 0.2s ease, color 0.2s ease;
}

.tt-difference__play svg {
	width: 100%;
	height: 100%;
}

.tt-difference__play:hover {
	color: #fff;
	transform: translate(-50%, -50%) scale(1.08);
}

/* Text */
.tt-difference__text {
	flex: 1 1 auto;
	max-width: 580px;
}

.tt-difference__eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 16px;
	font-family: var(--wp--preset--font-family--barlow-condensed, "Barlow Condensed", sans-serif) !important;
	font-size: 16px;
	line-height: 1.45;
	letter-spacing: 2.4px;
	text-transform: uppercase;
	color: var(--wp--preset--color--red-bright, #ff4349) !important;
}

.tt-difference__eyebrow::before {
	content: "";
	flex: none;
	width: 40px;
	height: 1px;
	background: var(--wp--preset--color--red, #cf2026);
}

.tt-difference__title {
	margin: 0 0 24px;
	max-width: 554px;
	font-family: var(--wp--preset--font-family--oswald, "Oswald", sans-serif) !important;
	font-weight: 600 !important;
	font-size: 62px;
	line-height: 1.05;
	text-transform: uppercase;
	color: #fff !important;
}

.tt-difference__body {
	margin: 0 0 32px;
	font-family: var(--wp--preset--font-family--barlow, "Barlow", sans-serif) !important;
	font-size: 16px;
	line-height: 1.6;
	color: var(--wp--preset--color--off-white, #dadada) !important;
}

.tt-difference__cta {
	font-size: 18px;
	letter-spacing: 0.9px;
	padding: 12px 16px;
}

/* ---- Mobile (≤767px) ----------------------------------------------------- */
@media (max-width: 767px) {
	/* Video is full-bleed at the very top — the design's is 440 × 249 at x=0,
	   y=0 (node 33:760), i.e. no side padding and nothing above it, with the
	   copy starting 28px below. The container keeps its 20px gutter for the
	   copy, so the video cancels it with a negative inline margin. */
	.tt-difference__inner {
		flex-direction: column;
		align-items: stretch;
		gap: 28px;
		padding: 0 20px 40px;
	}

	.tt-difference__video {
		flex: none;
		width: auto;
		max-width: none;
		margin-inline: -20px;
		aspect-ratio: 440 / 249;
	}

	/* Title sits tight under the eyebrow here — 5px between their boxes
	   (nodes 14:24 → 6002:3), against 16px on desktop. */
	.tt-difference__eyebrow {
		margin-bottom: 5px;
	}

	.tt-difference__title {
		font-size: 42px;
	}
}
