/**
 * Image and content.
 *
 * Feature — Figma why-us-section (475:1813).
 * Presence — Figma PresenceSection (475:2259).
 */

.image-content {
	--image-content-pad-block: var(--space-120);
	--image-content-gap: 4.125rem; /* 66px */
	--image-content-media-w: 38.375rem; /* 614px */
	--image-content-copy-w: 35.5rem; /* 568px */
	--image-content-media-ratio: 614 / 508;

	position: relative;
	overflow: hidden;
	padding-block: var(--image-content-pad-block);
	background-color: var(--color-bg);
}

.image-content__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--image-content-gap);
}

.image-content--image-right .image-content__inner {
	flex-direction: row-reverse;
}

.image-content__media {
	flex: 1 1 28rem;
	width: var(--image-content-media-w);
	max-width: var(--image-content-media-w);
	min-width: 0;
}

.image-content__img {
	width: 100%;
	height: auto;
	aspect-ratio: var(--image-content-media-ratio);
	object-fit: cover;
}

.image-content__copy {
	flex: 1 1 22rem;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-16);
	max-width: var(--image-content-copy-w);
	min-width: 0;
}

.image-content__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.625rem;
	margin: 0;
	padding-block: 0.625rem;
	color: var(--color-brand-secondary);
	font-family: var(--font-sans);
	font-size: var(--text-eyebrow-size);
	font-weight: var(--text-body-weight);
	letter-spacing: var(--text-eyebrow-letter-spacing);
	line-height: var(--text-eyebrow-line-height);
	text-transform: uppercase;
}

.image-content__eyebrow::before {
	content: '';
	flex: 0 0 auto;
	width: 1rem;
	height: 1px;
	background-color: currentColor;
}

.image-content__heading {
	margin: 0;
	color: var(--color-near-black);
	font-family: var(--font-sans);
	font-size: var(--text-display-md-size);
	font-weight: var(--text-display-md-weight);
	line-height: var(--text-heading-line-height);
	letter-spacing: var(--text-heading-letter-spacing);
	text-transform: uppercase;
	white-space: pre-line;
}

.image-content__body {
	margin: 0;
	color: var(--color-text-tertiary);
	font-family: var(--font-sans);
	font-size: var(--text-body-lg-size);
	font-weight: var(--text-body-lg-weight);
	line-height: var(--text-body-line-height);
	letter-spacing: var(--text-body-letter-spacing);
}

.image-content__body > *:first-child {
	margin-top: 0;
}

.image-content__body > *:last-child {
	margin-bottom: 0;
}

.image-content__body p {
	margin: 0 0 var(--space-16);
}

.image-content__points {
	display: flex;
	flex-direction: column;
	gap: var(--space-16);
	margin: var(--space-16) 0 0;
	padding: 0;
	list-style: none;
	width: 100%;
}

.image-content__point {
	position: relative;
	margin: 0;
	padding-left: 1.75rem; /* 28px — Figma text inset */
	color: var(--color-text-secondary);
	font-family: var(--font-sans);
	font-size: var(--text-body-lg-size);
	font-weight: var(--text-body-lg-weight);
	line-height: 1.5;
	letter-spacing: 0;
}

.image-content__point::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.375rem;
	width: 0.75rem;
	height: 0.75rem;
	background-color: var(--color-brand-secondary);
	transform: rotate(45deg);
}

.image-content__cta {
	margin-top: var(--space-16);
}

.image-content--deco::after {
	--image-content-deco-inset: -30.875rem;
	content: '';
	position: absolute;
	z-index: 0;
	pointer-events: none;
	top: 50%;
	width: 57.75rem;
	height: 57.75rem;
	background: url('../../img/section-deco.svg') center / contain no-repeat;
}

.image-content--deco-right::after {
	left: auto;
	right: var(--image-content-deco-inset);
	transform: translateY(-50%) rotate(90deg);
}

.image-content--deco-left::after {
	left: var(--image-content-deco-inset);
	right: auto;
	transform: translateY(-50%) rotate(-90deg);
}

/* Presence — Figma 475:2259 */
.image-content--presence {
	--image-content-pad-block: var(--space-96);
	--image-content-gap: var(--space-64);
	--image-content-media-w: 37rem; /* 592px */
	--image-content-copy-w: 37rem;
	--image-content-media-ratio: 592 / 500;
}

.image-content--presence .image-content__inner {
	align-items: flex-start;
}

.image-content--presence .image-content__media {
	box-sizing: border-box;
	background-color: var(--color-bg-card);
	border: 1px solid var(--color-blue-200);
}

.image-content--presence .image-content__copy {
	gap: 0;
}

.image-content--presence .image-content__eyebrow {
	gap: var(--space-16);
	padding-block: 0;
	line-height: 1.25rem;
}

.image-content--presence .image-content__eyebrow::before {
	height: 0.5px;
}

.image-content--presence .image-content__heading {
	margin-top: var(--space-24);
	font-size: var(--text-h1-size);
	font-weight: var(--text-display-md-weight);
}

.image-content--presence .image-content__body {
	margin-top: var(--space-32);
	color: var(--color-text-secondary);
	font-size: 1.125rem; /* 18px — Presence body, not on type board */
	line-height: 1.625;
	letter-spacing: 0;
}

.image-content--presence .image-content__points {
	margin-top: var(--space-24);
}

.image-content--presence .image-content__cta {
	margin-top: var(--space-32);
	background-color: var(--btn-angled-brand-bg);
	color: var(--btn-angled-brand-text);
	border-color: var(--btn-angled-brand-border);
	border-width: 0;
	border-radius: 0;
	min-height: 2.90625rem; /* 46.5px */
	padding-block: 0.75rem;
	padding-inline: 1.5rem;
	font-size: var(--btn-angled-font-size);
	font-weight: var(--btn-angled-font-weight);
	letter-spacing: var(--btn-angled-letter-spacing);
	line-height: var(--btn-angled-line-height);
	text-transform: uppercase;
}

.image-content--presence .image-content__cta:hover {
	background-color: var(--btn-angled-brand-bg-hover);
	color: var(--btn-angled-brand-text-hover);
	border-color: var(--btn-angled-brand-border-hover);
}

.image-content--presence .image-content__cta:active {
	background-color: var(--btn-angled-brand-bg-active);
	color: var(--btn-angled-brand-text-active);
	border-color: var(--btn-angled-brand-border-active);
}

.image-content--presence .image-content__cta:focus-visible {
	outline-color: var(--color-brand-secondary);
}

@media (max-width: 1439px) {
	.image-content {
		--image-content-pad-block: var(--space-64);
		--image-content-gap: var(--space-32);
	}

	.image-content__inner,
	.image-content--image-right .image-content__inner {
		flex-direction: column;
		align-items: stretch;
	}

	.image-content__media,
	.image-content__copy {
		width: 100%;
		max-width: none;
	}

	.image-content--deco::after {
		--image-content-deco-inset: -22.5rem;
		width: 40rem;
		height: 40rem;
	}
}

@media (max-width: 767px) {
	.image-content__heading,
	.image-content--presence .image-content__heading {
		font-size: var(--text-h2-size);
	}

	.image-content--deco::after {
		display: none;
	}
}
