.wda-agency-portfolio-showcase-widget,
.aps-portfolio-section,
.aps-portfolio-section * {
	box-sizing: border-box;
}

.aps-portfolio-section {
	--aps-heading-font: "Syne", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--aps-body-font: "Figtree", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--aps-primary: var(--e-global-color-primary, #0057ff);
	--aps-secondary: var(--e-global-color-accent, var(--e-global-color-secondary, #ff4d1c));
	--aps-text: var(--e-global-color-text, #0a0a0a);
	--aps-muted: rgba(10, 10, 10, 0.5);
	--aps-section-bg: var(--e-global-color-background, #fafafa);
	--aps-accent: var(--e-global-color-accent, #ff4d1c);
	background: var(--aps-section-bg);
	color: var(--aps-text);
	font-family: var(--aps-body-font);
	padding: 8rem 0 10rem;
}



.aps-container {
	width: 100%;
	max-width: 120rem;
	margin: 0 auto;
	padding: 0 5rem;
}

.aps-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 2.5rem;
	margin-bottom: 5rem;
}

.aps-header__copy {
	min-width: 0;
}

.aps-eyebrow {
	display: inline-block;
	font-family: var(--aps-body-font);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	line-height: 1.2;
	text-transform: uppercase;
	color: var(--aps-primary);
}

.aps-heading {
	margin: 1rem 0 0;
	font-family: var(--aps-heading-font);
	font-size: clamp(2.5rem, 5vw, 4.5rem);
	font-weight: 800;
	line-height: 0.95;
	letter-spacing: -0.04em;
	text-transform: uppercase;
	color: var(--aps-text);
}

.aps-heading__accent {
	color: var(--aps-secondary);
}

.aps-description {
	max-width: 28rem;
	margin: 1rem 0 0;
	font-family: var(--aps-body-font);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.625;
	color: var(--aps-muted);
}

.aps-header-cta {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	flex: 0 0 auto;
	font-family: var(--aps-heading-font);
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.2;
	color: var(--aps-text);
	text-decoration: none;
	transition: color 0.25s ease;
}

.aps-header-cta:hover,
.aps-header-cta:focus {
	color: var(--aps-primary);
	text-decoration: none;
}

.aps-arrow-svg {
	width: 1em;
	height: 1em;
	flex: 0 0 auto;
}

.aps-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
}

.aps-card {
	--aps-card-base-height: 20rem;
	--aps-desktop-card-height: 24rem;
	--aps-shade-bottom: rgba(10, 10, 10, 0.70);
	--aps-shade-mid: rgba(10, 10, 10, 0.10);
	position: relative;
	display: block;
	height: var(--aps-card-base-height);
	min-height: 14rem;
	border-radius: 1rem;
	overflow: hidden;
	cursor: pointer;
	text-decoration: none;
	color: inherit;
	background: #111;
	isolation: isolate;
}

.aps-card:hover,
.aps-card:focus {
	text-decoration: none;
	outline: none;
}

.aps-card__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1);
	transition: transform 0.7s cubic-bezier(.16,1,.3,1);
	z-index: 0;
}

.aps-card:hover .aps-card__image,
.aps-card:focus .aps-card__image {
	transform: scale(1.05);
}

.aps-card__shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, var(--aps-shade-bottom), var(--aps-shade-mid), transparent);
	z-index: 1;
	pointer-events: none;
}

.aps-card__hover {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.5rem;
	text-align: center;
	background-color: var(--aps-primary);
	opacity: 0;
	transition: opacity 0.5s ease;
	z-index: 2;
	pointer-events: none;
}

.aps-card:hover .aps-card__hover,
.aps-card:focus .aps-card__hover {
	opacity: .85;
}

.aps-card__result {
	font-family: var(--aps-heading-font);
	font-size: clamp(2rem, 4vw, 3.75rem);
	font-weight: 800;
	line-height: 0.95;
	letter-spacing: -0.04em;
	color: #fff;
}

.aps-card__content {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1.25rem;
	padding: 2rem;
	z-index: 3;
	pointer-events: none;
}

.aps-card__text {
	min-width: 0;
}

.aps-card__title {
	margin: 0;
	font-family: var(--aps-heading-font);
	font-size: clamp(1.25rem, 2vw, 1.5rem);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: #fff;
}

.aps-card__meta {
	display: block;
	margin-top: 0.35rem;
	font-family: var(--aps-body-font);
	font-size: 0.75rem;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.60);
}

.aps-card__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	flex: 0 0 auto;
	border-radius: 999px;
	color: #fff;
	background-color: rgba(255,255,255,0.20);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
	transition: background-color 0.3s ease, color 0.3s ease, transform 0.3s ease;
}

.aps-card:hover .aps-card__arrow,
.aps-card:focus .aps-card__arrow {
	background-color: var(--aps-secondary);
	transform: translate(1px, -1px);
}

.aps-card__arrow .aps-arrow-svg {
	width: 50%;
	height: 50%;
}

@media (min-width: 768px) {
	.aps-card {
		--aps-card-base-height: 22rem;
	}
}

@media (min-width: 1024px) {
	.aps-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.aps-card {
		height: var(--aps-desktop-card-height);
	}

	.aps-card--wide-tall,
	.aps-card--wide-short {
		grid-column: span 2 / span 2;
	}

	.aps-card--wide-tall { --aps-desktop-card-height: 28rem; }
	.aps-card--small-short { --aps-desktop-card-height: 24rem; }
	.aps-card--small-tall { --aps-desktop-card-height: 28rem; }
	.aps-card--wide-short { --aps-desktop-card-height: 24rem; }
}

@media (max-width: 1023px) {
	.aps-header {
		align-items: flex-start;
		flex-direction: column;
		gap: 2rem;
	}
}

@media (max-width: 767px) {
	.aps-portfolio-section {
		padding: 4.5rem 0;
	}

	

.aps-container {
		padding: 0 1.5rem;
	}

	.aps-header {
		margin-bottom: 3rem;
	}

	.aps-heading {
		font-size: clamp(2.25rem, 13vw, 3.4rem);
	}

	.aps-description {
		font-size: 0.95rem;
	}

	.aps-card__content {
		padding: 1.5rem;
	}

	.aps-card__result {
		font-size: clamp(2rem, 10vw, 3rem);
	}
}
