/* stylelint-disable no-descending-specificity */
/**
 * Page Templates Styles
 *
 * Styles for Services, Case Studies, and Team pages
 */

/* ==========================================================================
   CSS Custom Properties
   ========================================================================== */

:root {
	--brand-cyan: #22d3ee;
	--brand-purple: #8F4AFB;
	--brand-pink: #ec4899;
	--brand-gradient: linear-gradient(90deg, var(--brand-cyan), var(--brand-purple), var(--brand-pink));
	--footer-darkblue: #1F618E;
	--footer-lightblue: #4F95C5;
}

/* ==========================================================================
   Site Header
   ========================================================================== */

.site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
	background: var(--wp--preset--color--slate-50);
	border-bottom: 1px solid var(--wp--preset--color--slate-200);
}

.site-header__inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

@media (min-width: 768px) {
	.site-header__inner {
		padding: 0;
	}
}

.site-header__logo-link {
	display: block;
}

.site-header__logo {
	height: 1.5rem;
	width: auto;
}

.site-header__nav {
	display: none;
	align-items: center;
	gap: 2rem;
}

@media (min-width: 768px) {
	.site-header__nav {
		display: flex;
	}
}

.site-header__menu {
	display: flex;
	gap: 2rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-header__menu a {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--slate-500);
	text-decoration: none;
	transition: color 0.2s ease;
}

.site-header__menu a:hover,
.site-header__menu a.is-active {
	color: var(--wp--preset--color--contrast);
}

.site-header__contact {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--base);
	background: var(--wp--preset--color--contrast);
	padding: 0.5rem 1rem;
	text-decoration: none;
	transition: background 0.2s ease;
}

.site-header__contact:hover {
	background: var(--wp--preset--color--slate-800);
}

/* Mobile menu toggle */
.site-header__menu-toggle {
	display: flex;
	flex-direction: column;
	gap: 5px;
	background: none;
	border: none;
	cursor: pointer;
	padding: 0.5rem;
}

@media (min-width: 768px) {
	.site-header__menu-toggle {
		display: none;
	}
}

.site-header__menu-toggle span {
	display: block;
	width: 24px;
	height: 2px;
	background: var(--wp--preset--color--contrast);
	transition: transform 0.2s ease, opacity 0.2s ease;
}

/* Mobile menu */
.mobile-menu {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: var(--wp--preset--color--slate-50);
	z-index: 99;
	display: none;
	padding-top: 5rem;
}

.mobile-menu.is-open {
	display: block;
}

.mobile-menu__nav ul {
	list-style: none;
	margin: 0;
	padding: 2rem;
}

.mobile-menu__nav li {
	margin-bottom: 1rem;
}

.mobile-menu__nav a {
	font-size: 1.5rem;
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

/* ==========================================================================
   Site Footer
   ========================================================================== */

.site-footer {
	background: var(--wp--preset--color--slate-100);
	padding: 4rem 1.5rem 2rem;
}

@media (min-width: 768px) {
	.site-footer {
		padding: 5rem 3rem 2rem;
	}
}

.site-footer__inner {
	max-width: 1200px;
	margin: 0 auto;
}

.site-footer__top {
	display: grid;
	grid-template-columns: 1fr;
	gap: 3rem;
	margin-bottom: 3rem;
	padding-bottom: 3rem;
	border-bottom: 1px solid var(--wp--preset--color--slate-200);
}

@media (min-width: 768px) {
	.site-footer__top {
		grid-template-columns: 1fr 2fr;
	}
}

.site-footer__brand {
	max-width: 300px;
}

.site-footer__logo {
	height: 1.5rem;
	width: auto;
	margin-bottom: 1rem;
}

.site-footer__tagline {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--slate-500);
	line-height: 1.6;
}

.site-footer__links {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2rem;
}

@media (min-width: 768px) {
	.site-footer__links {
		grid-template-columns: repeat(3, 1fr);
	}
}

.site-footer__column h4 {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
	margin-bottom: 1rem;
}

.site-footer__column ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-footer__column li {
	margin-bottom: 0.5rem;
}

.site-footer__column a {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--slate-500);
	text-decoration: none;
	transition: color 0.2s ease;
}

.site-footer__column a:hover {
	color: var(--wp--preset--color--contrast);
}

.site-footer__bottom {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

@media (min-width: 768px) {
	.site-footer__bottom {
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
	}
}

.site-footer__copyright {
	font-size: var(--wp--preset--font-size--x-small);
	color: var(--wp--preset--color--slate-400);
}

.site-footer__legal {
	display: flex;
	gap: 1.5rem;
}

.site-footer__legal a {
	font-size: var(--wp--preset--font-size--x-small);
	color: var(--wp--preset--color--slate-400);
	text-decoration: none;
	transition: color 0.2s ease;
}

.site-footer__legal a:hover {
	color: var(--wp--preset--color--contrast);
}

/* ==========================================================================
   Page Hero (Shared)
   ========================================================================== */

.page-hero {
	padding: 10rem 0 4rem;
	background: var(--wp--preset--color--slate-50);
}

@media (min-width: 768px) {
	.page-hero {
		padding: 12rem 0 6rem;
	}
}

.page-hero__content {
	max-width: 800px;
}

.page-hero__label {
	font-size: var(--wp--preset--font-size--x-small);
	text-transform: uppercase;
	letter-spacing: 0.3em;
	color: var(--wp--preset--color--slate-400);
	margin-bottom: 1rem;
}

.page-hero__title {
	font-size: clamp(2rem, 5vw, 3.5rem);
	font-weight: 400;
	color: var(--wp--preset--color--contrast);
	line-height: 1.2;
	margin-bottom: 1.5rem;
}

.page-hero__description {
	font-size: clamp(1.125rem, 2vw, 1.375rem);
	color: var(--wp--preset--color--slate-500);
	line-height: 1.6;
	max-width: 600px;
}

/* ==========================================================================
   Services Page
   ========================================================================== */

.page-services {
	min-height: 100vh;
}

/* Services Hero */
.services-hero {
	padding: 10rem 0 3rem;
	background: var(--wp--preset--color--slate-50);
	border-bottom: 1px solid var(--wp--preset--color--slate-200);
}

@media (min-width: 768px) {
	.services-hero {
		padding: 12rem 0 4rem;
	}
}

.services-hero__label {
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: var(--wp--preset--color--slate-400);
	margin-bottom: 1.25rem;
}

.services-hero__description {
	font-size: clamp(1.125rem, 2vw, 1.375rem);
	color: var(--wp--preset--color--slate-500);
	line-height: 1.6;
	max-width: 640px;
	margin-top: 1.5rem;
}

/* Services Card Grid */
.services-card-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
		max-width: 1200px;
	margin: 0 auto;
	padding: 0 0 80px;
}

@media (min-width: 640px) {
	.services-card-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1024px) {
	.services-card-grid {
		grid-template-columns: repeat(3, 1fr);
		padding: 0 0 100px;
	}
}

/* Service Card — mirrors fan-card structure */
.svc-card {
	position: relative;
	border-radius: 14px;
	overflow: hidden;
	text-decoration: none;
	color: #1a1a2e;
	display: flex;
	flex-direction: column;
	transition: box-shadow 0.3s ease;
}

.svc-card:hover {
	box-shadow: 0 16px 48px rgb(0 0 0 / 8%);
}

.svc-card__border {
	position: absolute;
	inset: 0;
	border-radius: 14px;
	overflow: hidden;
	z-index: 0;
	background: #e3e5e8;
}

.svc-card__border-gradient {
	position: absolute;
	inset: 0;
	opacity: 0%;
	transition: opacity 0.4s ease;
	background: radial-gradient(400px circle at var(--card-mouse-x, 50%) var(--card-mouse-y, 50%),
			var(--card-color, #6366f1),
			color-mix(in srgb, var(--card-color, #6366f1) 40%, transparent) 50%,
			transparent 100%);
}

.svc-card:hover .svc-card__border-gradient {
	opacity: 100%;
}

.svc-card__inner {
	position: relative;
	z-index: 1;
	margin: 1px;
	border-radius: 13px;
	overflow: hidden;
	background: #f7f8fa;
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 28px 24px 20px;
}

.svc-card__icon {
	width: 40px;
	height: 40px;
	margin-bottom: 1.25rem;
	color: var(--card-color, var(--brand-purple));
}

.svc-card__icon svg {
	width: 100%;
	height: 100%;
}

.svc-card__body {
	flex: 1;
}

.svc-card__title {
	font-size: 18px;
	font-weight: 700;
	color: #1a1a2e;
	margin-bottom: 0.5rem;
	line-height: 1.3;
}

.svc-card__description {
	font-size: 14px;
	color: #555;
	line-height: 1.6;
	margin: 0 0 1rem;
		display: -webkit-box;
		-webkit-line-clamp: 3;
		-webkit-box-orient: vertical;
		overflow: hidden;
}

.svc-card__capabilities {
	list-style: none;
	margin: 0 0 0.5rem;
	padding: 0;
}

.svc-card__capabilities li {
	font-size: 13px;
	color: #555;
	padding-left: 1.25rem;
	position: relative;
	margin-bottom: 0.35rem;
		line-height: 1.5;
}

.svc-card__capabilities li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.5em;
	width: 6px;
	height: 6px;
	background: var(--brand-gradient);
	border-radius: 50%;
}

.svc-card__footer {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-top: auto;
	padding-top: 12px;
	font-size: 14px;
	font-weight: 600;
	color: #635bff;
}

.svc-card__footer svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	margin-top: 1px;
}
/* Services CTA */
.services-cta {
	background: var(--wp--preset--color--contrast);
	padding: 6rem 0;
}

@media (min-width: 768px) {
	.services-cta {
		padding: 8rem 0;
	}
}

.services-cta__content {
	max-width: 600px;
	margin: 0 auto;
	text-align: center;
}

.services-cta__title {
	font-size: clamp(1.5rem, 4vw, 2.5rem);
	font-weight: 600;
	color: var(--wp--preset--color--base);
	margin-bottom: 1rem;
	letter-spacing: -0.02em;
}

.services-cta__description {
	font-size: var(--wp--preset--font-size--medium);
	color: var(--wp--preset--color--slate-400);
	margin-bottom: 2rem;
	line-height: 1.6;
}

.services-cta__button {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
	background: var(--wp--preset--color--base);
	padding: 1rem 2rem;
	border-radius: 10px;
	text-decoration: none;
	transition: background 0.2s ease, box-shadow 0.2s ease;
}

.services-cta__button:hover {
	background: var(--wp--preset--color--slate-100);
	box-shadow: 0 8px 24px rgb(0 0 0 / 15%);
}

.services-cta__button .arrow {
	transition: transform 0.2s ease;
}

.services-cta__button:hover .arrow {
	transform: translateX(4px);
}

/* ==========================================================================
   Case Studies Page
   ========================================================================== */

.page-case-studies {
	/* background: var(--wp--preset--color--slate-50); */
	min-height: 100vh;
}

.case-studies-filters {
	padding: 0 0 3rem;
	overflow-x: auto;
}

@media (min-width: 768px) {
	.case-studies-filters {
		padding: 0 0 4rem;
	}
}

.case-studies-filters__inner {
	display: flex;
	gap: 0.5rem;
	white-space: nowrap;
}

.filter-button {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--slate-500);
	background: transparent;
	border: 1px solid var(--wp--preset--color--slate-200);
	padding: 0.5rem 1rem;
	cursor: pointer;
	transition: all 0.2s ease;
}

.filter-button:hover {
	border-color: var(--wp--preset--color--slate-400);
	color: var(--wp--preset--color--contrast);
}

.filter-button.is-active {
	background: var(--wp--preset--color--contrast);
	border-color: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}

.case-studies-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 3rem;
	padding: 0 0 6rem;
	max-width: 1400px;
	margin: 0 auto;
}

@media (min-width: 768px) {
	.case-studies-grid {
		grid-template-columns: repeat(2, 1fr);
		padding: 0 0 8rem;
	}
}

.case-study-card {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--slate-200);
	overflow: hidden;
	transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.case-study-card:hover {
	border-color: var(--wp--preset--color--slate-300);
	box-shadow: 0 8px 30px rgb(0 0 0 / 8%);
}

.case-study-card__link {
	text-decoration: none;
	color: inherit;
	display: block;
}

.case-study-card__image-container {
	position: relative;
	aspect-ratio: 16 / 10;
	overflow: hidden;
}

.case-study-card__image {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	transition: transform 0.5s ease;
}

.case-study-card:hover .case-study-card__image {
	transform: scale(1.05);
}

.case-study-card__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, transparent 50%, rgb(0 0 0 / 50%));
	opacity: 0%;
	transition: opacity 0.3s ease;
}

.case-study-card:hover .case-study-card__overlay {
	opacity: 100%;
}

.case-study-card__content {
	padding: 1.5rem;
}

.case-study-card__meta {
	display: flex;
	justify-content: space-between;
	margin-bottom: 0.75rem;
}

.case-study-card__client,
.case-study-card__year {
	font-size: var(--wp--preset--font-size--x-small);
	color: var(--wp--preset--color--slate-400);
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

.case-study-card__title {
	font-size: var(--wp--preset--font-size--large);
	font-weight: 500;
	color: var(--wp--preset--color--contrast);
	margin-bottom: 0.5rem;
	transition: color 0.2s ease;
}

.case-study-card:hover .case-study-card__title {
	color: var(--brand-purple);
}

.case-study-card__tagline {
	font-size: var(--wp--preset--font-size--medium);
	color: var(--wp--preset--color--slate-500);
	margin-bottom: 1rem;
}

.case-study-card__services {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 1rem;
}

.service-tag {
	font-size: var(--wp--preset--font-size--x-small);
	color: var(--wp--preset--color--slate-500);
	background: var(--wp--preset--color--slate-100);
	padding: 0.25rem 0.5rem;
}

.case-study-card__results {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--wp--preset--color--slate-100);
	padding-top: 1rem;
}

.case-study-card__results li {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--slate-500);
	padding-left: 1.25rem;
	position: relative;
	margin-bottom: 0.25rem;
}

.case-study-card__results li::before {
	content: '✓';
	position: absolute;
	left: 0;
	color: var(--brand-cyan);
}

/* Case Studies CTA */
.case-studies-cta {
	background: var(--wp--preset--color--slate-100);
	padding: 6rem 0;
}

@media (min-width: 768px) {
	.case-studies-cta {
		padding: 8rem 0;
	}
}

.case-studies-cta__content {
	max-width: 600px;
	margin: 0 auto;
	text-align: center;
}

.case-studies-cta__title {
	font-size: clamp(1.5rem, 4vw, 2.5rem);
	font-weight: 400;
	color: var(--wp--preset--color--contrast);
	margin-bottom: 1rem;
}

.case-studies-cta__description {
	font-size: var(--wp--preset--font-size--medium);
	color: var(--wp--preset--color--slate-500);
	margin-bottom: 2rem;
}

.case-studies-cta__button {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	font-size: var(--wp--preset--font-size--medium);
	color: var(--wp--preset--color--base);
	background: var(--wp--preset--color--contrast);
	padding: 1rem 2rem;
	text-decoration: none;
	transition: background 0.2s ease;
}

.case-studies-cta__button:hover {
	background: var(--wp--preset--color--slate-800);
}

.case-studies-cta__button .arrow {
	transition: transform 0.2s ease;
}

.case-studies-cta__button:hover .arrow {
	transform: translateX(4px);
}

/* ==========================================================================
   Team Page
   ========================================================================== */

.page-team {
	background: var(--wp--preset--color--slate-50);
	min-height: 100vh;
}

.team-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
	padding: 0 0 6rem;
	max-width: 1400px;
	margin: 0 auto;
}

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

@media (min-width: 1024px) {
	.team-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 3rem;
		padding: 0 0 8rem;
	}
}

.team-card {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--slate-200);
	overflow: hidden;
	transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.team-card:hover {
	border-color: var(--wp--preset--color--slate-300);
	box-shadow: 0 4px 20px rgb(0 0 0 / 5%);
}

.team-card__image-container {
	position: relative;
	aspect-ratio: 1;
	background: var(--wp--preset--color--slate-100);
	overflow: hidden;
}

.team-card__image {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center top;
	opacity: 0%;
	transition: opacity 0.3s ease;
}

.team-card__image-container:has(.team-card__image[style*="url"]) .team-card__image {
	opacity: 100%;
}

.team-card__image-placeholder {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, var(--wp--preset--color--slate-200), var(--wp--preset--color--slate-300));
}

.team-card__image-placeholder span {
	font-size: 3rem;
	font-weight: 500;
	color: var(--wp--preset--color--slate-400);
}

.team-card__content {
	padding: 1.5rem;
}

.team-card__name {
	font-size: var(--wp--preset--font-size--large);
	font-weight: 500;
	color: var(--wp--preset--color--contrast);
	margin-bottom: 0.25rem;
}

.team-card__role {
	font-size: var(--wp--preset--font-size--small);
	color: var(--brand-purple);
	margin-bottom: 1rem;
}

.team-card__bio {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--slate-500);
	line-height: 1.6;
	margin-bottom: 1rem;
}

.team-card__expertise {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 1rem;
}

.expertise-tag {
	font-size: var(--wp--preset--font-size--x-small);
	color: var(--wp--preset--color--slate-500);
	background: var(--wp--preset--color--slate-100);
	padding: 0.25rem 0.5rem;
}

.team-card__linkedin {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--slate-500);
	text-decoration: none;
	transition: color 0.2s ease;
}

.team-card__linkedin:hover {
	color: var(--wp--preset--color--contrast);
}

.team-card__linkedin svg {
	width: 16px;
	height: 16px;
}

/* Team Values */
.team-values {
	background: var(--wp--preset--color--base);
	padding: 6rem 0;
	border-top: 1px solid var(--wp--preset--color--slate-200);
	border-bottom: 1px solid var(--wp--preset--color--slate-200);
}

@media (min-width: 768px) {
	.team-values {
		padding: 8rem 0;
	}
}

.team-values__header {
	text-align: center;
	margin-bottom: 4rem;
}

.team-values__title {
	font-size: clamp(1.5rem, 4vw, 2.5rem);
	font-weight: 400;
	color: var(--wp--preset--color--contrast);
	margin-bottom: 1rem;
}

.team-values__description {
	font-size: var(--wp--preset--font-size--medium);
	color: var(--wp--preset--color--slate-500);
}

.team-values__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
	max-width: 1000px;
	margin: 0 auto;
}

@media (min-width: 768px) {
	.team-values__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

.value-card {
	padding: 2rem;
	border: 1px solid var(--wp--preset--color--slate-200);
}

.value-card__title {
	font-size: var(--wp--preset--font-size--large);
	font-weight: 500;
	color: var(--wp--preset--color--contrast);
	margin-bottom: 0.75rem;
	position: relative;
	padding-left: 1.5rem;
}

.value-card__title::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.25em;
	width: 8px;
	height: 8px;
	background: var(--brand-gradient);
	border-radius: 50%;
}

.value-card__description {
	font-size: var(--wp--preset--font-size--medium);
	color: var(--wp--preset--color--slate-500);
	line-height: 1.6;
	padding-left: 1.5rem;
}

/* Team CTA */
.team-cta {
	background: var(--wp--preset--color--slate-100);
	padding: 6rem 0;
}

@media (min-width: 768px) {
	.team-cta {
		padding: 8rem 0;
	}
}

.team-cta__content {
	max-width: 600px;
	margin: 0 auto;
	text-align: center;
}

.team-cta__title {
	font-size: clamp(1.5rem, 4vw, 2.5rem);
	font-weight: 400;
	color: var(--wp--preset--color--contrast);
	margin-bottom: 1rem;
}

.team-cta__description {
	font-size: var(--wp--preset--font-size--medium);
	color: var(--wp--preset--color--slate-500);
	margin-bottom: 2rem;
}

.team-cta__button {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	font-size: var(--wp--preset--font-size--medium);
	color: var(--wp--preset--color--base);
	background: var(--wp--preset--color--contrast);
	padding: 1rem 2rem;
	text-decoration: none;
	transition: background 0.2s ease;
}

.team-cta__button:hover {
	background: var(--wp--preset--color--slate-800);
}

.team-cta__button .arrow {
	transition: transform 0.2s ease;
}

.team-cta__button:hover .arrow {
	transform: translateX(4px);
}

/* ==========================================================================
   Single Case Study
   ========================================================================== */

.single-case-study {
	min-height: 100vh;
}

/* Case Study Hero */
.case-study-hero {
	position: relative;
	min-height: 60vh;
	display: flex;
	align-items: flex-end;
	padding: 8rem 1.5rem 4rem;
	background-color: var(--wp--preset--color--slate-900);
	background-size: cover;
	background-position: center;
}

@media (min-width: 768px) {
	.case-study-hero {
		min-height: 70vh;
		padding: 10rem 3rem 6rem;
	}
}

.case-study-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgb(0 0 0 / 80%) 0%, rgb(0 0 0 / 40%) 50%, rgb(0 0 0 / 20%) 100%);
}

.case-study-hero__content {
	position: relative;
	z-index: 1;
	max-width: 800px;
}

.case-study-hero__meta {
	display: flex;
	gap: 1rem;
	margin-bottom: 1rem;
}

.case-study-hero__client,
.case-study-hero__year {
	font-size: var(--wp--preset--font-size--x-small);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: rgb(255 255 255 / 70%);
}

.case-study-hero__title {
	font-size: clamp(2rem, 5vw, 3.5rem);
	font-weight: 400;
	color: var(--wp--preset--color--base);
	line-height: 1.2;
	margin-bottom: 1rem;
}

.case-study-hero__tagline {
	font-size: clamp(1.125rem, 2vw, 1.5rem);
	color: rgb(255 255 255 / 80%);
	margin-bottom: 1.5rem;
}

.case-study-hero__services {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.case-study-hero__services .service-tag {
	background: rgb(255 255 255 / 15%);
	color: rgb(255 255 255 / 90%);
	backdrop-filter: blur(10px);
}

/* Case Study Details */
.case-study-details {
	padding: 4rem 1.5rem;
	max-width: 1200px;
	margin: 0 auto;
}

@media (min-width: 768px) {
	.case-study-details {
		padding: 6rem 3rem;
	}
}

.case-study-details__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 3rem;
}

@media (min-width: 1024px) {
	.case-study-details__grid {
		grid-template-columns: 280px 1fr;
		gap: 5rem;
	}
}

/* Case Study Sidebar */
.case-study-sidebar {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

@media (min-width: 1024px) {
	.case-study-sidebar {
		position: sticky;
		top: 8rem;
		height: fit-content;
	}
}

.case-study-sidebar__item h3 {
	font-size: var(--wp--preset--font-size--x-small);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--wp--preset--color--slate-400);
	margin-bottom: 0.5rem;
}

.case-study-sidebar__item p {
	font-size: var(--wp--preset--font-size--medium);
	color: var(--wp--preset--color--contrast);
}

.case-study-sidebar__item ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.case-study-sidebar__item li {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--slate-600);
	padding: 0.25rem 0;
}

.case-study-sidebar__results li {
	padding-left: 1.25rem;
	position: relative;
}

.case-study-sidebar__results li::before {
	content: '✓';
	position: absolute;
	left: 0;
	color: var(--brand-cyan);
}

/* Case Study Content */
.case-study-content {
	display: flex;
	flex-direction: column;
	gap: 3rem;
}

.case-study-section h2 {
	font-size: var(--wp--preset--font-size--large);
	font-weight: 500;
	color: var(--wp--preset--color--contrast);
	margin-bottom: 1.5rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid var(--wp--preset--color--slate-200);
}

.case-study-section__content {
	font-size: var(--wp--preset--font-size--medium);
	color: var(--wp--preset--color--slate-600);
	line-height: 1.8;
}

.case-study-section__content p {
	margin-bottom: 1rem;
}

/* Case Study Testimonial */
.case-study-testimonial {
	background: var(--wp--preset--color--slate-100);
	padding: 2.5rem;
	margin-top: 1rem;
}

.case-study-testimonial blockquote {
	margin: 0;
}

.case-study-testimonial blockquote p {
	font-size: var(--wp--preset--font-size--large);
	color: var(--wp--preset--color--contrast);
	line-height: 1.6;
	margin-bottom: 1.5rem;
	font-style: italic;
}

.case-study-testimonial cite {
	display: block;
	font-style: normal;
	font-size: var(--wp--preset--font-size--medium);
	color: var(--wp--preset--color--contrast);
	font-weight: 500;
}

.case-study-testimonial cite span {
	display: block;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--slate-500);
	font-weight: 400;
	margin-top: 0.25rem;
}

/* Case Study Navigation */
.case-study-nav {
	border-top: 1px solid var(--wp--preset--color--slate-200);
	padding: 0 1.5rem;
}

@media (min-width: 768px) {
	.case-study-nav {
		padding: 0 3rem;
	}
}

.case-study-nav__inner {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
}

@media (min-width: 768px) {
	.case-study-nav__inner {
		flex-direction: row;
	}
}

.case-study-nav__link {
	flex: 1;
	padding: 2rem 0;
	text-decoration: none;
	transition: background 0.2s ease;
}

@media (min-width: 768px) {
	.case-study-nav__link {
		padding: 3rem 2rem;
	}

	.case-study-nav__link--prev {
		border-right: 1px solid var(--wp--preset--color--slate-200);
	}

	.case-study-nav__link--next {
		text-align: right;
	}
}

.case-study-nav__link:hover {
	background: var(--wp--preset--color--slate-100);
}

.case-study-nav__label {
	display: block;
	font-size: var(--wp--preset--font-size--x-small);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--wp--preset--color--slate-400);
	margin-bottom: 0.5rem;
}

.case-study-nav__title {
	display: block;
	font-size: var(--wp--preset--font-size--medium);
	color: var(--wp--preset--color--contrast);
	font-weight: 500;
}

/* Case Study CTA */
.case-study-cta {
	background: var(--wp--preset--color--contrast);
	padding: 6rem 1.5rem;
}

@media (min-width: 768px) {
	.case-study-cta {
		padding: 8rem 3rem;
	}
}

.case-study-cta__content {
	max-width: 600px;
	margin: 0 auto;
	text-align: center;
}

.case-study-cta__title {
	font-size: clamp(1.5rem, 4vw, 2.5rem);
	font-weight: 400;
	color: var(--wp--preset--color--base);
	margin-bottom: 1rem;
}

.case-study-cta__description {
	font-size: var(--wp--preset--font-size--medium);
	color: var(--wp--preset--color--slate-400);
	margin-bottom: 2rem;
}

.case-study-cta__button {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	font-size: var(--wp--preset--font-size--medium);
	color: var(--wp--preset--color--contrast);
	background: var(--wp--preset--color--base);
	padding: 1rem 2rem;
	text-decoration: none;
	transition: background 0.2s ease;
}

.case-study-cta__button:hover {
	background: var(--wp--preset--color--slate-100);
}

.case-study-cta__button .arrow {
	transition: transform 0.2s ease;
}

.case-study-cta__button:hover .arrow {
	transform: translateX(4px);
}

/* ==========================================================================
   Single Service
   ========================================================================== */

.single-service {
	/* background: var(--wp--preset--color--slate-50); */
	min-height: 100vh;
}

/* Service Hero */
.service-hero {
	padding: 10rem 1.5rem 4rem;
	background: var(--wp--preset--color--slate-50);
	border-bottom: 1px solid var(--wp--preset--color--slate-200);
}

@media (min-width: 768px) {
	.service-hero {
		padding: 12rem 3rem 6rem;
	}
}

.service-hero__content {
	max-width: 800px;
}

.service-hero__icon {
	width: 64px;
	height: 64px;
	margin-bottom: 2rem;
	color: var(--brand-purple);
}

.service-hero__icon svg {
	width: 100%;
	height: 100%;
}

.service-hero__title {
	font-size: clamp(2rem, 5vw, 3.5rem);
	font-weight: 400;
	color: var(--wp--preset--color--contrast);
	line-height: 1.2;
	margin-bottom: 1.5rem;
}

.service-hero__excerpt {
	font-size: clamp(1.125rem, 2vw, 1.375rem);
	color: var(--wp--preset--color--slate-500);
	line-height: 1.6;
}

/* Service Content */
.service-content {
	padding: 4rem 1.5rem;
	max-width: 1200px;
	margin: 0 auto;
}

@media (min-width: 768px) {
	.service-content {
		padding: 6rem 3rem;
	}
}

.service-content__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 3rem;
}

@media (min-width: 1024px) {
	.service-content__grid {
		grid-template-columns: 1fr 320px;
		gap: 5rem;
	}
}

.service-content__description {
	font-size: var(--wp--preset--font-size--medium);
	color: var(--wp--preset--color--slate-600);
	line-height: 1.8;
}

.service-content__description p {
	margin-bottom: 1.5rem;
}

.service-content__description h2,
.service-content__description h3 {
	color: var(--wp--preset--color--contrast);
	margin-top: 2rem;
	margin-bottom: 1rem;
}

/* Service Capabilities */
.service-capabilities {
	background: var(--wp--preset--color--base);
	padding: 2rem;
	border: 1px solid var(--wp--preset--color--slate-200);
	height: fit-content;
}

@media (min-width: 1024px) {
	.service-capabilities {
		position: sticky;
		top: 8rem;
	}
}

.service-capabilities h2 {
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 500;
	color: var(--wp--preset--color--contrast);
	margin-bottom: 1.5rem;
}

.service-capabilities ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.service-capabilities li {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	padding: 0.75rem 0;
	border-bottom: 1px solid var(--wp--preset--color--slate-100);
}

.service-capabilities li:last-child {
	border-bottom: none;
}

.service-capabilities li svg {
	flex-shrink: 0;
	color: var(--brand-cyan);
	margin-top: 0.125rem;
}

.service-capabilities li span {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--slate-600);
}

/* Service Related Case Studies */
.service-related {
	background: var(--wp--preset--color--base);
	padding: 6rem 1.5rem;
	border-top: 1px solid var(--wp--preset--color--slate-200);
}

@media (min-width: 768px) {
	.service-related {
		padding: 8rem 3rem;
	}
}

.service-related__header {
	text-align: center;
	margin-bottom: 3rem;
}

.service-related__header h2 {
	font-size: clamp(1.5rem, 4vw, 2rem);
	font-weight: 400;
	color: var(--wp--preset--color--contrast);
	margin-bottom: 0.5rem;
}

.service-related__header p {
	font-size: var(--wp--preset--font-size--medium);
	color: var(--wp--preset--color--slate-500);
}

.service-related__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
	max-width: 1200px;
	margin: 0 auto;
}

@media (min-width: 768px) {
	.service-related__grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

.service-related__card {
	text-decoration: none;
	display: block;
	border: 1px solid var(--wp--preset--color--slate-200);
	transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.service-related__card:hover {
	border-color: var(--wp--preset--color--slate-300);
	box-shadow: 0 4px 20px rgb(0 0 0 / 5%);
}

.service-related__card-image {
	aspect-ratio: 16 / 10;
	background-size: cover;
	background-position: center;
}

.service-related__card-content {
	padding: 1.5rem;
}

.service-related__card-client {
	display: block;
	font-size: var(--wp--preset--font-size--x-small);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--wp--preset--color--slate-400);
	margin-bottom: 0.5rem;
}

.service-related__card h3 {
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 500;
	color: var(--wp--preset--color--contrast);
	margin-bottom: 0.5rem;
}

.service-related__card p {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--slate-500);
}

/* Service Other Services */
.service-others {
	padding: 6rem 1.5rem;
	border-top: 1px solid var(--wp--preset--color--slate-200);
}

@media (min-width: 768px) {
	.service-others {
		padding: 8rem 3rem;
	}
}

.service-others__header {
	text-align: center;
	margin-bottom: 3rem;
}

.service-others__header h2 {
	font-size: clamp(1.5rem, 4vw, 2rem);
	font-weight: 400;
	color: var(--wp--preset--color--contrast);
}

.service-others__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem;
	max-width: 800px;
	margin: 0 auto;
}

@media (min-width: 768px) {
	.service-others__grid {
		grid-template-columns: repeat(4, 1fr);
	}
}

.service-others__card {
	text-decoration: none;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 2rem 1rem;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--slate-200);
	transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.service-others__card:hover {
	border-color: var(--wp--preset--color--slate-300);
	box-shadow: 0 4px 20px rgb(0 0 0 / 5%);
}

.service-others__card-icon {
	width: 40px;
	height: 40px;
	margin-bottom: 1rem;
	color: var(--brand-purple);
}

.service-others__card-icon svg {
	width: 100%;
	height: 100%;
}

.service-others__card h3 {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	color: var(--wp--preset--color--contrast);
}

/* Service CTA */
.service-cta {
	background: var(--wp--preset--color--contrast);
	padding: 6rem 1.5rem;
}

@media (min-width: 768px) {
	.service-cta {
		padding: 8rem 3rem;
	}
}

.service-cta__content {
	max-width: 600px;
	margin: 0 auto;
	text-align: center;
}

.service-cta__title {
	font-size: clamp(1.5rem, 4vw, 2.5rem);
	font-weight: 400;
	color: var(--wp--preset--color--base);
	margin-bottom: 1rem;
}

.service-cta__description {
	font-size: var(--wp--preset--font-size--medium);
	color: var(--wp--preset--color--slate-400);
	margin-bottom: 2rem;
}

.service-cta__button {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	font-size: var(--wp--preset--font-size--medium);
	color: var(--wp--preset--color--contrast);
	background: var(--wp--preset--color--base);
	padding: 1rem 2rem;
	text-decoration: none;
	transition: background 0.2s ease;
}

.service-cta__button:hover {
	background: var(--wp--preset--color--slate-100);
}

.service-cta__button .arrow {
	transition: transform 0.2s ease;
}

.service-cta__button:hover .arrow {
	transform: translateX(4px);
}

/* ==========================================================================
   Singular Template (Case Study & Service single pages)
   ========================================================================== */

/* Hero — two-column layout with guide lines and accent shape */
.singular-hero {
	--hero-accent: #6366f1;
	--hero-angle-height: calc(100vw * 0.212);
	position: relative;
	padding: 8rem 0 4rem;
	padding-bottom: calc(4rem + var(--hero-angle-height));
	background: #f6f9fc;
	overflow: hidden;
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--hero-angle-height)), 0 100%);
}

@media (min-width: 768px) {
	.singular-hero {
		padding: 10rem 0 5rem;
		padding-bottom: calc(5rem + var(--hero-angle-height));
	}
}

@media (min-width: 1024px) {
	.singular-hero {
		padding: 11rem 0 6rem;
		padding-bottom: calc(6rem + var(--hero-angle-height));
		min-height: 600px;
	}
}

.singular-hero::after {
	display: none;
}

/* Dashed vertical guide lines */
.singular-hero__guides {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
}

.singular-hero__guides-inner {
	display: flex;
	justify-content: space-between;
	height: 100%;
}

.singular-hero__guide {
	width: 1px;
	height: 100%;
	background-image: linear-gradient(to bottom,
			rgb(66 71 112 / 9%) 50%,
			transparent 50%);
	background-size: 1px 8px;
}

.singular-hero__guide:first-child,
.singular-hero__guide:last-child {
	background-image: none;
	background-color: rgb(66 71 112 / 6%);
}

/* StripeSet — skewed container anchored bottom-right */
.singular-hero__accent {
	position: absolute;
	top: 40%;
	bottom: calc(var(--hero-angle-height) + 40px);
	left: 0;
	right: 0;
	height: 220px;
	transform: skewY(-12deg);
	transform-origin: 100% 100%;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
}

/* Stripe — solid accent bar from center to right */
.singular-hero__accent::before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	right: -90%;
	background: var(--hero-accent);
}

.singular-hero__accent::after {
	display: none;
}

@media (max-width: 1023px) {
	.singular-hero__accent {
		top: auto;
		bottom: 0;
	}

	.singular-hero__accent::before {
		left: 20%;
	}
}

/* Second decorative element — not used */
.singular-hero__color-shape {
	display: none;
}

.singular-hero__container {
	position: relative;
	z-index: 2;
}

/* Hero container — two-column */
/* .singular-hero__container {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 3rem;
}

@media (min-width: 1024px) {
	.singular-hero__container {
		flex-direction: row;
		align-items: center;
		gap: 4rem;
	}
}

*/
/* Copy column */
/* .singular-hero__copy {
	flex: 1;
	min-width: 0;
}

@media (min-width: 1024px) {
	.singular-hero__copy {
		max-width: 560px;
		width: 100%;
		padding-right: 2rem;
	}
}

*/
.singular-hero__caption {
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.01em;
	color: var(--hero-accent);
	margin-bottom: 1.25rem;
}

.singular-hero__title {
	font-size: clamp(2.25rem, 5vw, 4rem);
	font-weight: 600;
	line-height: 1.05;
	letter-spacing: -0.02em;
	color: transparent;
	background: linear-gradient(160deg,
			#0a2540 40%,
			var(--hero-accent) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	margin-bottom: 1.5rem;
}

.singular-hero__description {
	font-size: clamp(1.05rem, 1.8vw, 1.2rem);
	color: #425466;
	line-height: 1.7;
	max-width: 700px;
	margin-bottom: 1.5rem;
}

.singular-hero__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 1.75rem;
}

.singular-hero__tag {
	font-size: 12px;
	font-weight: 600;
	color: #425466;
	background: rgb(0 0 0 / 5%);
	padding: 0.3rem 0.75rem;
	border-radius: 100px;
	letter-spacing: 0.02em;
}

/* CTA group */
.singular-hero__ctas {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1.5rem;
	margin-top: 2rem;
}

.singular-hero__cta-primary {
	display: inline-flex;
	align-items: center;
	font-size: 15px;
	font-weight: 600;
	color: white;
	background: var(--hero-accent);
	padding: 0.8rem 1.75rem;
	border-radius: 100px;
	text-decoration: none;
	transition: filter 0.2s ease, box-shadow 0.2s ease;
}

.singular-hero__cta-primary:hover {
	filter: brightness(1.1);
	box-shadow: 0 6px 20px color-mix(in srgb, var(--hero-accent) 35%, transparent);
}

.singular-hero__cta-primary svg {
	transition: transform 0.2s ease;
}

.singular-hero__cta-primary:hover svg {
	transform: translateX(3px);
}

.singular-hero__cta-secondary {
	display: inline-flex;
	align-items: center;
	font-size: 15px;
	font-weight: 600;
	color: var(--hero-accent);
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.singular-hero__cta-secondary:hover {
	opacity: 75%;
}

.singular-hero__cta-secondary svg {
	transition: transform 0.2s ease;
}

.singular-hero__cta-secondary:hover svg {
	transform: translateX(3px);
}

/* Visual column */
.singular-hero__visual {
	position: relative;
	flex-shrink: 0;
}

@media (min-width: 1024px) {
	.singular-hero__visual {
		width: 50%;
		max-width: none;
	}
}

.singular-hero__graphic {
	display: none;
}

/* Singular Body */
.singular-body {
	padding: 4rem 0;
}

@media (min-width: 768px) {
	.singular-body {
		padding: 5rem 0 6rem;
	}
}

.singular-content {
	font-size: 1.4rem;
		color: rgb(0 0 0 / 0.6);
		line-height: 1.75;
}

.singular-content p {
	color: rgb(0 0 0 / 0.6);
	margin-bottom: 1.5rem;
	line-height: 1.75;
}

.singular-content h2,
.singular-content h2.wp-block-heading {
	font-size: 2.25rem !important;
	line-height: 1.25 !important;
	color: black !important;
	font-weight: 500;
	letter-spacing: -0.02em;
	margin-top: 3rem;
	margin-bottom: 1rem;
}

.singular-content h3,
.singular-content h3.wp-block-heading {
	font-size: 1.5rem !important;
	line-height: 1.3 !important;
	color: black !important;
	font-weight: 400;
	letter-spacing: -0.01em;
	margin-top: 2.5rem;
	margin-bottom: 0.75rem;
}

.singular-content h4,
.singular-content h4.wp-block-heading {
	font-size: 1.25rem !important;
	line-height: 1.4 !important;
	color: black !important;
	font-weight: 400;
		margin-top: 2rem;
		margin-bottom: 0.5rem;
}

.singular-content hr,
.singular-content .wp-block-separator {
	border: none;
	border-top: 1px solid rgb(0 0 0 / 0.1);
	margin: 2.5rem 0;
}

.singular-content img {
	border-radius: 14px;
	margin: 2rem 0;
}

.singular-content ul,
.singular-content ol,
.singular-content .wp-block-list {
	font-size: inherit;
	line-height: inherit;
	color: rgb(0 0 0 / 0.6);
	padding-left: 1.5rem;
	margin-bottom: 1.5rem;
	list-style-type: disc;
}

.singular-content ol,
.singular-content ol.wp-block-list {
	list-style-type: decimal;
}

.singular-content li {
	font-size: inherit;
	line-height: inherit;
	margin-bottom: 0.75rem;
}

.singular-content strong {
	color: black;
	font-weight: 600;
}
/* Singular Sidebar */
.singular-sidebar {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.singular-sidebar__section {
	border: 1px solid var(--wp--preset--color--slate-200);
	border-radius: 14px;
	padding: 1.5rem;
	background: #f7f8fa;
}

.singular-sidebar__heading {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--wp--preset--color--slate-400);
	margin-bottom: 1.25rem;
}

.singular-sidebar__results {
	list-style: none;
	margin: 0;
	padding: 0;
}

.singular-sidebar__results li {
	display: flex;
	flex-direction: column;
	padding: 0.75rem 0;
	border-bottom: 1px solid var(--wp--preset--color--slate-200);
}

.singular-sidebar__results li:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.singular-sidebar__results li:first-child {
	padding-top: 0;
}

.singular-sidebar__value {
	font-size: 22px;
	font-weight: 700;
	color: #1a1a2e;
	line-height: 1.2;
	margin-bottom: 2px;
}

.singular-sidebar__label {
	font-size: 13px;
	color: var(--wp--preset--color--slate-500);
	line-height: 1.4;
}

.singular-sidebar__cta {
	border: 1px solid var(--wp--preset--color--slate-200);
	border-radius: 14px;
	padding: 1.5rem;
	background: #f7f8fa;
}

.singular-sidebar__cta-title {
	font-size: 16px;
	font-weight: 700;
	color: #1a1a2e;
	margin-bottom: 1rem;
}

.singular-sidebar__cta-button {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 14px;
	font-weight: 600;
	color: var(--wp--preset--color--base);
	background: var(--wp--preset--color--contrast);
	padding: 0.625rem 1.25rem;
	border-radius: 8px;
	text-decoration: none;
	transition: background 0.2s ease, box-shadow 0.2s ease;
}

.singular-sidebar__cta-button:hover {
	background: var(--wp--preset--color--slate-800);
	box-shadow: 0 4px 16px rgb(0 0 0 / 15%);
}

.singular-sidebar__arrow {
	transition: transform 0.2s ease;
}

.singular-sidebar__cta-button:hover .singular-sidebar__arrow {
	transform: translateX(3px);
}

/* Related Section */
.singular-related {
	background: white;
	padding: 5rem 0;
	border-top: 1px solid var(--wp--preset--color--slate-200);
}

@media (min-width: 768px) {
	.singular-related {
		padding: 6rem 0;
	}
}

.singular-carousel__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid var(--wp--preset--color--slate-200);
	border-radius: 10px;
	background: white;
	color: var(--wp--preset--color--contrast);
	cursor: pointer;
	transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.singular-carousel__btn:hover {
	border-color: var(--wp--preset--color--slate-400);
	background: var(--wp--preset--color--slate-50);
	box-shadow: 0 2px 8px rgb(0 0 0 / 6%);
}

.singular-carousel__btn svg {
	width: 16px;
	height: 16px;
}
/* ==========================================================================
   No Content Messages
   ========================================================================== */

.no-services,
.no-case-studies,
.no-team-members {
	grid-column: 1 / -1;
	text-align: center;
	padding: 4rem 2rem;
	font-size: var(--wp--preset--font-size--medium);
	color: var(--wp--preset--color--slate-400);
	background: var(--wp--preset--color--base);
	border: 1px dashed var(--wp--preset--color--slate-300);
}
