/*
Theme Name: Numerique
Theme URI: https://numerique.vamtam.com
Text Domain: numerique
Description: Welcome to Numérique, a modern Digital Marketing and SEO Theme. This lovely niche theme is built and suitable for any business operating in the Digital Marketing industry. The theme features carefully designed layouts ideal for every contemporary digital marketing agency, SEO services company, creative agency, web development agency, social media marketing agency or digital studio. It is suitable for users with zero programming skills and advanced developers.
Author: VamTam
Author URI: https://vamtam.com
Version: 5.9
Tested Up To: 6.1
Requires PHP: 7.4
License: Envato
License URI: https://themeforest.net/licenses
Tags: one-column, two-columns, three-columns, four-columns, left-sidebar, right-sidebar, custom-background, custom-colors, custom-header, custom-menu, featured-image-header, featured-images, full-width-template, post-formats, theme-options, threaded-comments, translation-ready
*/

/* Oxford vertical pages */
.ox-polished,
.ox-polished * {
	box-sizing: border-box;
}

.ox-polished {
	width: min(1260px, calc(100vw - 32px));
	margin: 48px auto;
	display: grid;
	grid-template-columns: 34% 66%;
	background: #05045d;
	color: #fff;
	font-family: Inter, Arial, sans-serif;
	box-shadow: 0 24px 70px rgba(5, 4, 93, .18);
	overflow: hidden;
}

.ox-side {
	position: relative;
	background: linear-gradient(180deg, #263071 0%, #202967 100%);
	padding: 34px 36px 36px;
	border-right: 3px solid #d2b35f;
	min-height: 560px;
	display: flex;
	flex-direction: column;
}

.ox-brand {
	align-self: flex-end;
	font-weight: 900;
	line-height: .9;
	font-size: 23px;
	letter-spacing: -.5px;
}

.ox-brand span {
	color: #ffc400;
}

.ox-brand small {
	display: block;
	color: #fff;
	font-size: 14px;
	letter-spacing: 2px;
	text-align: right;
	margin-top: 4px;
}

.ox-num {
	margin-top: 58px;
	font-family: Georgia, serif;
	font-size: clamp(82px, 8vw, 118px);
	line-height: .78;
	color: #d2b35f;
	font-weight: 700;
}

.ox-kicker {
	margin-top: 28px;
	color: #f0d982;
	font-size: 11px;
	letter-spacing: 9px;
	font-weight: 600;
}

.ox-name {
	margin-top: 36px;
	max-width: 330px;
	font-family: Georgia, serif;
	font-size: clamp(28px, 2.45vw, 34px);
	line-height: 1.02;
	font-weight: 700;
	color: #fff;
	overflow-wrap: normal;
}

.ox-rule {
	width: 62px;
	height: 4px;
	background: #d2b35f;
	margin: 58px 0 64px;
}

.ox-copy {
	max-width: 315px;
	color: rgba(255, 255, 255, .88);
	font-size: 14px;
	line-height: 1.45;
	font-style: italic;
}

.ox-foot {
	margin-top: auto;
	display: flex;
	align-items: center;
	gap: 16px;
	color: #d2b35f;
	font-size: 10px;
	letter-spacing: 7px;
	font-weight: 600;
}

.ox-mark {
	width: 68px;
	height: 64px;
	color: #d2b35f;
	flex: 0 0 auto;
}

.ox-mark-wide {
	width: 150px;
}

.ox-main {
	background: #f7f4ee;
	padding: 60px 64px 20px 44px;
	display: grid;
	gap: 18px;
	align-content: start;
}

.ox-item {
	background: #fff;
	color: #111827;
	border: 1px solid #e6dfcf;
	border-left: 6px solid #d2b35f;
	padding: 28px 24px 24px;
	min-height: 146px;
	transition: transform .2s ease, box-shadow .2s ease;
}

.ox-item:hover {
	transform: translateX(4px);
	box-shadow: 0 16px 32px rgba(0, 0, 0, .10);
}

.ox-head {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 30px;
}

.ox-icon {
	width: 38px;
	height: 38px;
	color: #1f2b63;
	flex: 0 0 38px;
}

.ox-item h3 {
	margin: 0;
	color: #141b3d;
	font-family: Georgia, serif;
	font-size: clamp(19px, 1.55vw, 22px);
	line-height: 1.22;
	font-weight: 700;
	letter-spacing: 0;
}

.ox-item p {
	margin: 0;
	color: #111827;
	font-size: 13px;
	line-height: 1.45;
	letter-spacing: 0;
}

.ox-dot {
	color: #b7994d;
	padding: 0 8px;
}

.ox-services-main {
	background: #f7f4ee;
	padding: 128px 42px 56px 36px;
	display: grid;
	gap: 14px;
	align-content: start;
}

.ox-services-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 6px;
}

.ox-service-tile {
	min-height: 146px;
	background: #fff;
	border: 1px solid #e6dfcf;
	border-top: 6px solid #d2b35f;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 16px;
	padding: 18px 14px;
	color: #1f2b63;
	text-align: center;
	transition: transform .2s ease, box-shadow .2s ease;
}

.ox-service-tile:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 32px rgba(0, 0, 0, .10);
}

.ox-service-icon {
	width: 52px;
	height: 52px;
	color: #1f2b63;
	flex: 0 0 52px;
}

.ox-service-tile h3 {
	margin: 0;
	color: #141b3d;
	font-family: Georgia, serif;
	font-size: 15px;
	line-height: 1.05;
	font-weight: 700;
	letter-spacing: 0;
}

.ox-services-callout {
	background: #202967;
	border-left: 9px solid #d2b35f;
	color: #fff;
	margin-top: 0;
	padding: 34px 32px;
	min-height: 242px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.ox-services-kicker {
	color: #f0d982;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 12px;
	margin-bottom: 32px;
}

.ox-services-callout p {
	margin: 0;
	max-width: 770px;
	font-family: Georgia, serif;
	font-size: clamp(22px, 2.1vw, 27px);
	line-height: 1.08;
	font-style: italic;
	color: #fff;
}

.ox-services-tags {
	margin-top: 46px;
	color: rgba(255, 255, 255, .86);
	font-size: 15px;
	letter-spacing: 7px;
}

@media (max-width: 900px) {
	.ox-polished {
		grid-template-columns: 1fr;
		margin: 28px auto;
	}

	.ox-side {
		min-height: auto;
		border-right: 0;
		border-bottom: 3px solid #d2b35f;
	}

	.ox-brand {
		align-self: flex-start;
	}

	.ox-brand small {
		text-align: left;
	}

	.ox-rule {
		margin: 30px 0 34px;
	}

	.ox-main {
		padding: 24px 18px;
	}

	.ox-item {
		padding: 20px;
		min-height: auto;
	}

	.ox-head {
		align-items: flex-start;
		margin-bottom: 16px;
	}

	.ox-services-main {
		padding: 24px 18px;
	}

	.ox-services-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.ox-services-callout {
		padding: 26px 22px;
		min-height: auto;
	}

	.ox-services-kicker,
	.ox-services-tags {
		letter-spacing: 5px;
	}
}

@media (max-width: 520px) {
	.ox-services-grid {
		grid-template-columns: 1fr;
	}
}

.ox-duo,
.ox-duo * {
	box-sizing: border-box;
}

.ox-duo {
	width: min(1328px, 100vw);
	min-height: 747px;
	margin: 0 auto;
	background: #141b49;
	color: #fff;
	font-family: Inter, Arial, sans-serif;
	padding: 24px 48px 10px;
	position: relative;
	overflow: hidden;
}

.ox-duo-brand {
	position: absolute;
	top: 32px;
	right: 30px;
	font-weight: 900;
	line-height: .9;
	font-size: 34px;
	letter-spacing: -1px;
}

.ox-duo-brand span {
	color: #ffc400;
}

.ox-duo-brand small {
	display: block;
	color: #fff;
	font-size: 13px;
	letter-spacing: 5px;
	text-align: right;
	margin-top: 5px;
}

.ox-duo-top-rule,
.ox-duo-foot-rule {
	width: 36px;
	height: 3px;
	background: #d2b35f;
}

.ox-duo-top-rule {
	margin: 30px 0 34px;
}

.ox-duo h1 {
	margin: 0;
	max-width: 820px;
	color: #fff;
	font-family: Georgia, serif;
	font-size: clamp(36px, 3.4vw, 46px);
	line-height: 1.04;
	font-weight: 700;
	letter-spacing: 0;
}

.ox-duo-subtitle {
	margin: 22px 0 32px;
	color: rgba(255, 255, 255, .86);
	font-size: 16px;
	line-height: 1.4;
	font-style: italic;
}

.ox-duo-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.ox-duo-card {
	background: #222a63;
	border: 1px solid rgba(255, 255, 255, .06);
	border-top: 11px solid #d2b35f;
	min-height: 486px;
	padding: 40px 44px 36px;
	position: relative;
}

.ox-duo-icon {
	width: 70px;
	height: 70px;
	color: #d2b35f;
}

.ox-duo-num {
	position: absolute;
	top: 44px;
	right: 28px;
	color: #fff;
	font-family: Georgia, serif;
	font-size: 88px;
	line-height: .8;
	font-weight: 700;
}

.ox-duo-card h2 {
	margin: 62px 0 30px;
	color: #fff;
	font-family: Georgia, serif;
	font-size: clamp(27px, 2.4vw, 34px);
	line-height: 1.08;
	font-weight: 700;
	letter-spacing: 0;
}

.ox-duo-card-rule {
	width: 52px;
	height: 4px;
	background: #d2b35f;
	margin-bottom: 34px;
}

.ox-duo-copy {
	margin: 0 0 46px;
	color: rgba(255, 255, 255, .86);
	font-size: 14px;
	line-height: 1.5;
	font-style: italic;
}

.ox-duo-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 12px;
	color: #fff;
	font-size: 15px;
	line-height: 1.15;
}

.ox-duo-list li {
	position: relative;
	padding-left: 22px;
}

.ox-duo-list li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: .35em;
	width: 9px;
	height: 9px;
	background: #d2b35f;
	transform: rotate(45deg);
}

.ox-duo-foot {
	margin-top: 13px;
	color: rgba(255, 255, 255, .55);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 7px;
}

.ox-duo-foot-rule {
	margin-bottom: 8px;
}

@media (max-width: 900px) {
	.ox-duo {
		padding: 26px 20px;
	}

	.ox-duo-brand {
		position: static;
		margin-bottom: 28px;
		width: max-content;
	}

	.ox-duo-brand small {
		text-align: right;
	}

	.ox-duo-grid {
		grid-template-columns: 1fr;
	}

	.ox-duo-card {
		min-height: auto;
		padding: 30px 24px;
	}

	.ox-duo-num {
		font-size: 66px;
	}

	.ox-duo-card h2 {
		margin-top: 44px;
	}
}
