/*
Theme Name: V.Max Twenty Seventeen Child
Theme URI: https://vmaxarchitecture.be/
Description: Theme enfant de Twenty Seventeen pour l'integration propre de l'accueil portail V.Max.
Author: V.Max
Template: twentyseventeen
Version: 1.0.0
Text Domain: vmax-twentyseventeen-child
*/

:root {
	--vmax-ink: #172019;
	--vmax-text: #2f3832;
	--vmax-muted: #657064;
	--vmax-line: #dde6da;
	--vmax-surface: #ffffff;
	--vmax-soft: #f5f8f2;
	--vmax-architecture: #9caf88;
	--vmax-trace: #82b5c9;
	--vmax-synergie: #ffbd59;
	--vmax-architecture-deep: #526646;
	--vmax-trace-deep: #327889;
	--vmax-synergie-deep: #9a6a00;
	--vmax-shadow-soft: 0 14px 36px rgba(23, 32, 25, 0.08);
	--vmax-max: 1120px;
}

body {
	color: var(--vmax-text);
	font-family: "Segoe UI", Roboto, Arial, sans-serif;
}

body:not(.home) .site-content {
	background:
		linear-gradient(180deg, rgba(245, 248, 242, 0.72), #fff 220px);
	padding: 46px 0 70px;
}

.wrap,
.navigation-top .wrap,
#masthead .wrap,
.site-footer .wrap {
	max-width: var(--vmax-max);
}

.site-title {
	font-size: clamp(1.8rem, 4vw, 2.45rem);
	letter-spacing: 0.08em;
	line-height: 1.05;
}

.site-title a,
.site-title a:hover,
.site-title a:focus {
	color: var(--vmax-ink);
}

.site-description {
	color: var(--vmax-muted);
	font-size: 1rem;
}

.navigation-top {
	border-bottom-color: var(--vmax-line);
	border-top-color: var(--vmax-line);
}

.main-navigation a {
	color: var(--vmax-ink);
	font-weight: 700;
}

.main-navigation a:hover,
.main-navigation a:focus,
.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a {
	color: var(--vmax-architecture-deep);
}

@media screen and (min-width: 48em) {
	.navigation-top .wrap {
		display: flex;
		justify-content: center;
	}

	.main-navigation {
		text-align: center;
		width: auto;
	}

	.main-navigation ul {
		text-align: center;
	}

	.main-navigation li {
		display: inline-block;
		float: none;
		text-align: left;
		vertical-align: top;
	}

	.main-navigation ul ul li {
		display: block;
		text-align: left;
	}
}

body:not(.home) .entry-title,
body:not(.home) .page-title {
	color: var(--vmax-ink);
	font-size: clamp(2rem, 4vw, 3.1rem);
	font-weight: 750;
	letter-spacing: 0;
	line-height: 1.12;
	text-transform: none;
}

body:not(.home) .entry-header {
	padding-bottom: 0.8rem;
}

body:not(.home) .entry-content {
	color: var(--vmax-text);
	font-size: 1.05rem;
	line-height: 1.62;
}

body:not(.home) .entry-content h1,
body:not(.home) .entry-content h2,
body:not(.home) .entry-content h3 {
	clear: none;
	color: var(--vmax-ink);
	font-weight: 750;
	line-height: 1.16;
	margin-bottom: 0.85rem;
	padding-top: 0;
}

body:not(.home) .entry-content h2 {
	font-size: clamp(1.7rem, 3vw, 2.35rem);
}

body:not(.home) .entry-content h3 {
	font-size: clamp(1.3rem, 2vw, 1.65rem);
}

body:not(.home) .entry-content p {
	margin-bottom: 1.05rem;
}

body:not(.home) .entry-content a {
	box-shadow: inset 0 -1px 0 var(--vmax-trace);
	color: var(--vmax-ink);
	font-weight: 650;
	transition: color 160ms ease, box-shadow 160ms ease;
}

body:not(.home) .entry-content a:hover,
body:not(.home) .entry-content a:focus {
	box-shadow: inset 0 -2px 0 var(--vmax-synergie);
	color: var(--vmax-trace-deep);
}

body:not(.home) .entry-content ul,
body:not(.home) .entry-content ol {
	margin-left: 1.2rem;
}

body:not(.home) .entry-content li + li {
	margin-top: 0.35rem;
}

body:not(.home) .entry-content img,
body:not(.home) .entry-content iframe,
body:not(.home) .entry-content video {
	border-radius: 10px;
	box-shadow: var(--vmax-shadow-soft);
}

body:not(.home) .entry-content .wp-block-button__link {
	background: var(--vmax-ink);
	border-radius: 999px;
	box-shadow: none;
	color: #fff;
	font-weight: 800;
	padding: 0.8rem 1.15rem;
}

body:not(.home) .entry-content .wp-block-button__link:hover,
body:not(.home) .entry-content .wp-block-button__link:focus {
	background: var(--vmax-architecture-deep);
	color: #fff;
}

body:not(.home) .entry-content .wp-block-group,
body:not(.home) .entry-content .wp-block-columns {
	margin-bottom: 2rem;
}

@media screen and (min-width: 48em) {
	body:not(.home):not(.page-template-home-portal-vmax) #primary {
		float: none;
		margin-left: auto;
		margin-right: auto;
		max-width: var(--vmax-max);
		width: 100%;
	}

	body:not(.home):not(.page-template-home-portal-vmax).page-two-column #primary .entry-header,
	body:not(.home):not(.page-template-home-portal-vmax).page-two-column:not(.archive) #primary .entry-header {
		float: none;
		margin-left: auto;
		margin-right: auto;
		max-width: 880px;
		padding-right: 0;
		width: 100%;
	}

	body:not(.home):not(.page-template-home-portal-vmax).page-two-column #primary .entry-content,
	body:not(.home):not(.page-template-home-portal-vmax).page-two-column:not(.archive) #primary .entry-content {
		float: none;
		margin-left: auto;
		margin-right: auto;
		max-width: 880px;
		width: 100%;
	}

	body:not(.home):not(.page-template-home-portal-vmax).page-one-column #primary,
	body:not(.home):not(.page-template-home-portal-vmax).page-one-column:not(.twentyseventeen-front-page) #primary {
		max-width: 880px;
	}
}

@media screen and (max-width: 47.99em) {
	body:not(.home) .site-content {
		padding: 32px 0 52px;
	}

	body:not(.home) .entry-title,
	body:not(.home) .page-title {
		font-size: 2rem;
	}

	body:not(.home) .entry-content {
		font-size: 1rem;
	}
}

/* Page Presentation */
.vmax-wrap {
	margin: 0 auto;
	max-width: var(--vmax-max);
}

.vmax-wrap * {
	box-sizing: border-box;
}

.vmax-presentation {
	display: grid;
	gap: clamp(34px, 5vw, 58px);
}

.vmax-hero {
	background:
		linear-gradient(135deg, rgba(156, 175, 136, 0.24), rgba(255, 255, 255, 0.92) 52%, rgba(130, 181, 201, 0.22));
	border: 1px solid var(--vmax-line);
	border-radius: 12px;
	padding: clamp(30px, 5vw, 58px);
}

.vmax-hero h1 {
	color: var(--vmax-ink);
	font-size: clamp(2.25rem, 4.8vw, 4.25rem);
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.06;
	margin: 0;
	max-width: 860px;
}

.vmax-hero p {
	color: var(--vmax-text);
	font-size: clamp(1.06rem, 1.8vw, 1.22rem);
	line-height: 1.62;
	margin: 1.25rem 0 0;
	max-width: 850px;
}

.vmax-kpis {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 26px;
}

.vmax-kpi {
	background: rgba(255, 255, 255, 0.78);
	border: 1px solid rgba(23, 32, 25, 0.08);
	border-radius: 999px;
	color: var(--vmax-architecture-deep);
	font-size: 0.9rem;
	font-weight: 800;
	padding: 8px 13px;
}

.vmax-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.vmax-pill,
.entry-content .vmax-pill {
	align-items: center;
	background: #fff;
	border: 1px solid var(--vmax-line);
	border-radius: 999px;
	box-shadow: none;
	color: var(--vmax-ink);
	display: inline-flex;
	font-weight: 800;
	justify-content: center;
	min-height: 42px;
	padding: 9px 14px;
	text-decoration: none;
	transition: background 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.vmax-pill:hover,
.vmax-pill:focus,
.entry-content .vmax-pill:hover,
.entry-content .vmax-pill:focus {
	background: var(--vmax-architecture);
	border-color: var(--vmax-architecture);
	color: var(--vmax-ink);
	transform: translateY(-1px);
}

.vmax-video {
	background: var(--vmax-ink);
	border-radius: 12px;
	box-shadow: var(--vmax-shadow-soft);
	overflow: hidden;
}

.vmax-video video {
	aspect-ratio: 16 / 9;
	box-shadow: none;
	display: block;
	height: auto;
	width: 100%;
}

.vmax-section {
	display: grid;
	gap: 18px;
}

.vmax-section > h2 {
	color: var(--vmax-ink);
	font-size: clamp(1.85rem, 3.2vw, 2.7rem);
	line-height: 1.12;
	margin: 0;
}

.vmax-section .lead {
	color: var(--vmax-muted);
	font-size: clamp(1.05rem, 1.7vw, 1.22rem);
	line-height: 1.62;
	margin: 0;
	max-width: 850px;
}

.vmax-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.vmax-chip {
	background: var(--vmax-soft);
	border: 1px solid var(--vmax-line);
	border-radius: 999px;
	color: var(--vmax-architecture-deep);
	font-size: 0.86rem;
	font-weight: 800;
	padding: 7px 10px;
}

.vmax-card-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 10px;
}

.vmax-card {
	background: #fff;
	border: 1px solid var(--vmax-line);
	border-radius: 12px;
	box-shadow: var(--vmax-shadow-soft);
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.vmax-card img {
	aspect-ratio: 16 / 8.5;
	border-radius: 0;
	box-shadow: none;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.vmax-tag {
	align-self: flex-start;
	background: var(--vmax-architecture);
	border-radius: 999px;
	color: var(--vmax-ink);
	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	margin: -18px 22px 0;
	padding: 8px 11px;
	position: relative;
	text-transform: uppercase;
}

.vmax-card:nth-child(2) .vmax-tag {
	background: var(--vmax-trace);
}

.vmax-card:nth-child(3) .vmax-tag {
	background: var(--vmax-synergie);
}

.vmax-card:nth-child(4) .vmax-tag {
	background: linear-gradient(90deg, var(--vmax-architecture), var(--vmax-trace));
}

.vmax-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 22px;
}

.vmax-card__body h3 {
	color: var(--vmax-ink);
	font-size: clamp(1.25rem, 2vw, 1.55rem);
	line-height: 1.18;
	margin: 0 0 12px;
}

.vmax-card__body p {
	color: var(--vmax-text);
	margin: 0 0 16px;
}

.vmax-card__body .vmax-meta {
	margin-top: auto;
}

.vmax-cta {
	margin-top: 20px;
}

.vmax-btn,
.entry-content .vmax-btn {
	align-items: center;
	background: var(--vmax-ink);
	border-radius: 8px;
	box-shadow: none;
	color: #fff;
	display: inline-flex;
	font-weight: 850;
	justify-content: center;
	min-height: 44px;
	padding: 10px 14px;
	text-decoration: none;
	transition: background 160ms ease, transform 160ms ease;
	width: 100%;
}

.vmax-btn:hover,
.vmax-btn:focus,
.entry-content .vmax-btn:hover,
.entry-content .vmax-btn:focus {
	background: var(--vmax-architecture-deep);
	color: #fff;
	transform: translateY(-1px);
}

.vmax-card:nth-child(2) .vmax-btn {
	background: var(--vmax-trace-deep);
}

.vmax-card:nth-child(3) .vmax-btn {
	background: var(--vmax-synergie-deep);
}

.vmax-cta-final {
	background:
		linear-gradient(135deg, rgba(156, 175, 136, 0.24), rgba(130, 181, 201, 0.18) 60%, rgba(255, 189, 89, 0.22)),
		#fff;
	border: 1px solid var(--vmax-line);
	border-radius: 12px;
	padding: clamp(26px, 5vw, 44px);
}

.vmax-cta-final .vmax-pill {
	background: var(--vmax-ink);
	border-color: var(--vmax-ink);
	color: #fff;
	width: fit-content;
}

.vmax-cta-final .vmax-pill:hover,
.vmax-cta-final .vmax-pill:focus {
	background: var(--vmax-architecture-deep);
	border-color: var(--vmax-architecture-deep);
	color: #fff;
}

.vmax-presentation .vmax-hero,
.vmax-presentation .vmax-cta-final {
	background:
		linear-gradient(135deg, rgba(156, 175, 136, 0.24), rgba(255, 255, 255, 0.96) 56%, rgba(156, 175, 136, 0.16)),
		#fff;
}

.vmax-presentation .vmax-kpi,
.vmax-presentation .vmax-chip {
	background: rgba(156, 175, 136, 0.14);
	border-color: rgba(82, 102, 70, 0.2);
	color: var(--vmax-architecture-deep);
}

.vmax-presentation .vmax-tag,
.vmax-presentation .vmax-card:nth-child(2) .vmax-tag,
.vmax-presentation .vmax-card:nth-child(3) .vmax-tag,
.vmax-presentation .vmax-card:nth-child(4) .vmax-tag {
	background: var(--vmax-architecture);
	color: var(--vmax-ink);
}

.vmax-presentation .vmax-btn,
.entry-content .vmax-presentation .vmax-btn,
.vmax-presentation .vmax-card:nth-child(2) .vmax-btn,
.vmax-presentation .vmax-card:nth-child(3) .vmax-btn,
.vmax-presentation .vmax-card:nth-child(4) .vmax-btn {
	background: var(--vmax-architecture-deep);
	color: #fff !important;
}

.vmax-presentation .vmax-btn:hover,
.vmax-presentation .vmax-btn:focus,
.entry-content .vmax-presentation .vmax-btn:hover,
.entry-content .vmax-presentation .vmax-btn:focus {
	background: var(--vmax-ink);
	color: #fff !important;
}

.vmax-presentation .vmax-pill:hover,
.vmax-presentation .vmax-pill:focus,
.entry-content .vmax-presentation .vmax-pill:hover,
.entry-content .vmax-presentation .vmax-pill:focus {
	background: var(--vmax-architecture);
	border-color: var(--vmax-architecture);
	color: var(--vmax-ink) !important;
}

.vmax-presentation .vmax-cta-final .vmax-pill,
.entry-content .vmax-presentation .vmax-cta-final .vmax-pill {
	background: var(--vmax-architecture-deep);
	border-color: var(--vmax-architecture-deep);
	color: #fff !important;
}

.vmax-presentation .vmax-cta-final .vmax-pill:hover,
.vmax-presentation .vmax-cta-final .vmax-pill:focus,
.entry-content .vmax-presentation .vmax-cta-final .vmax-pill:hover,
.entry-content .vmax-presentation .vmax-cta-final .vmax-pill:focus {
	background: var(--vmax-ink);
	border-color: var(--vmax-ink);
	color: #fff !important;
}

@media screen and (max-width: 760px) {
	.vmax-card-grid {
		grid-template-columns: 1fr;
	}

	.vmax-hero,
	.vmax-cta-final {
		border-radius: 10px;
		padding: 24px;
	}

	.vmax-pills {
		display: grid;
		grid-template-columns: 1fr;
	}

	.vmax-pill,
	.entry-content .vmax-pill {
		width: 100%;
	}
}

/* Page Diagnostic strategique architectural */
.vmax-diagnostic {
	display: grid;
	gap: clamp(30px, 5vw, 54px);
}

.vmax-diagnostic-hero {
	background:
		linear-gradient(135deg, rgba(156, 175, 136, 0.24), rgba(255, 255, 255, 0.96) 58%, rgba(156, 175, 136, 0.14)),
		#fff;
	border: 1px solid var(--vmax-line);
	border-radius: 12px;
	padding: clamp(30px, 5vw, 58px);
}

.vmax-diagnostic-hero .vmax-kicker {
	color: var(--vmax-architecture-deep);
	font-size: 0.8rem;
	font-weight: 900;
	letter-spacing: 0.1em;
	margin: 0 0 12px;
	text-transform: uppercase;
}

.vmax-diagnostic-hero h1 {
	color: var(--vmax-ink);
	font-size: clamp(2.25rem, 4.8vw, 4.25rem);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.06;
	margin: 0;
	max-width: 900px;
}

.vmax-diagnostic-hero .lead {
	color: var(--vmax-text);
	font-size: clamp(1.08rem, 1.8vw, 1.25rem);
	line-height: 1.62;
	margin: 1.2rem 0 0;
	max-width: 860px;
}

.vmax-diagnostic-layout {
	display: grid;
	gap: 22px;
	grid-template-columns: minmax(220px, 0.34fr) minmax(0, 1fr);
}

.vmax-diagnostic-nav {
	align-self: start;
	background: var(--vmax-soft);
	border: 1px solid var(--vmax-line);
	border-radius: 12px;
	display: grid;
	gap: 8px;
	padding: 18px;
	position: sticky;
	top: 104px;
}

.vmax-diagnostic-nav a {
	border-radius: 8px;
	box-shadow: none;
	color: var(--vmax-architecture-deep);
	font-weight: 800;
	padding: 8px 10px;
	text-decoration: none;
}

.vmax-diagnostic-nav a:hover,
.vmax-diagnostic-nav a:focus {
	background: rgba(156, 175, 136, 0.22);
	color: var(--vmax-ink);
}

.vmax-diagnostic-content {
	display: grid;
	gap: 16px;
}

.vmax-diagnostic-block {
	background: #fff;
	border: 1px solid var(--vmax-line);
	border-left: 6px solid var(--vmax-architecture);
	border-radius: 0 12px 12px 0;
	box-shadow: var(--vmax-shadow-soft);
	padding: clamp(22px, 4vw, 34px);
}

.vmax-diagnostic-block h2 {
	color: var(--vmax-ink);
	font-size: clamp(1.55rem, 2.7vw, 2.15rem);
	line-height: 1.15;
	margin: 0 0 12px;
}

.vmax-diagnostic-block p {
	color: var(--vmax-text);
	line-height: 1.68;
	margin: 0;
}

.vmax-diagnostic-block strong {
	color: var(--vmax-architecture-deep);
}

.vmax-diagnostic-cta {
	align-items: center;
	background:
		linear-gradient(135deg, rgba(156, 175, 136, 0.24), rgba(255, 255, 255, 0.95)),
		#fff;
	border: 1px solid var(--vmax-line);
	border-radius: 12px;
	display: grid;
	gap: 16px;
	grid-template-columns: minmax(0, 1fr) auto;
	padding: clamp(24px, 4vw, 38px);
}

.vmax-diagnostic-cta h2 {
	color: var(--vmax-ink);
	font-size: clamp(1.7rem, 3vw, 2.45rem);
	line-height: 1.12;
	margin: 0;
}

.vmax-diagnostic-cta p {
	color: var(--vmax-muted);
	margin: 8px 0 0;
}

.vmax-diagnostic-cta .vmax-btn {
	background: var(--vmax-architecture-deep);
	min-width: 190px;
	width: auto;
}

@media screen and (max-width: 860px) {
	.vmax-diagnostic-layout,
	.vmax-diagnostic-cta {
		grid-template-columns: 1fr;
	}

	.vmax-diagnostic-nav {
		position: static;
	}

	.vmax-diagnostic-cta .vmax-btn {
		width: 100%;
	}
}

/* Page Consultation architecturale */
.vmax-consultation {
	display: grid;
	gap: clamp(30px, 5vw, 54px);
}

.vmax-consultation-hero {
	align-items: center;
	background:
		linear-gradient(135deg, rgba(156, 175, 136, 0.28), rgba(255, 255, 255, 0.96) 58%, rgba(156, 175, 136, 0.14)),
		#fff;
	border: 1px solid var(--vmax-line);
	border-radius: 12px;
	display: grid;
	gap: clamp(24px, 5vw, 52px);
	grid-template-columns: minmax(0, 1.05fr) minmax(260px, 0.65fr);
	padding: clamp(30px, 5vw, 58px);
}

.vmax-consultation-hero h1 {
	color: var(--vmax-ink);
	font-size: clamp(2.35rem, 5vw, 4.35rem);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.05;
	margin: 0;
}

.vmax-consultation-hero .lead {
	color: var(--vmax-text);
	font-size: clamp(1.08rem, 1.8vw, 1.25rem);
	line-height: 1.62;
	margin: 1.2rem 0 0;
	max-width: 760px;
}

.vmax-consultation-visual {
	background:
		radial-gradient(circle at 52% 35%, rgba(255, 255, 255, 0.9), transparent 26%),
		linear-gradient(135deg, rgba(156, 175, 136, 0.45), rgba(255, 255, 255, 0.82));
	border: 1px solid rgba(82, 102, 70, 0.18);
	border-radius: 18px;
	display: grid;
	min-height: 300px;
	place-items: center;
	text-align: center;
}

.vmax-consultation-visual strong {
	color: var(--vmax-architecture-deep);
	display: block;
	font-size: clamp(1.6rem, 3vw, 2.4rem);
	line-height: 1.08;
	max-width: 260px;
}

.vmax-consultation-visual span {
	color: var(--vmax-muted);
	display: block;
	font-weight: 750;
	margin-top: 12px;
}

.vmax-offers-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.vmax-offer-card {
	background: #fff;
	border: 1px solid var(--vmax-line);
	border-top: 6px solid var(--vmax-architecture);
	border-radius: 12px;
	box-shadow: var(--vmax-shadow-soft);
	display: flex;
	flex-direction: column;
	padding: 24px;
}

.vmax-offer-card h2 {
	color: var(--vmax-ink);
	font-size: clamp(1.35rem, 2vw, 1.7rem);
	line-height: 1.15;
	margin: 0;
}

.vmax-offer-price {
	color: var(--vmax-architecture-deep);
	font-size: 1.45rem;
	font-weight: 900;
	margin: 14px 0 4px;
}

.vmax-offer-note {
	color: var(--vmax-muted);
	font-size: 0.95rem;
	font-weight: 700;
	margin: 0 0 18px;
}

.vmax-offer-card ul {
	display: grid;
	gap: 9px;
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
}

.vmax-offer-card li {
	color: var(--vmax-text);
	padding-left: 24px;
	position: relative;
}

.vmax-offer-card li::before {
	color: var(--vmax-architecture-deep);
	content: "✓";
	font-weight: 900;
	left: 0;
	position: absolute;
	top: 0;
}

.vmax-offer-good-for {
	background: var(--vmax-soft);
	border-radius: 10px;
	color: var(--vmax-muted);
	font-weight: 700;
	margin-top: auto;
	padding: 14px;
}

.vmax-consultation-method {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.vmax-method-step {
	background: var(--vmax-soft);
	border-left: 5px solid var(--vmax-architecture);
	border-radius: 0 12px 12px 0;
	padding: 20px;
}

.vmax-method-step span {
	color: var(--vmax-architecture-deep);
	font-weight: 900;
}

.vmax-method-step strong {
	color: var(--vmax-ink);
	display: block;
	margin-top: 8px;
}

.vmax-method-step p {
	color: var(--vmax-muted);
	margin: 8px 0 0;
}

.vmax-consultation-cta {
	align-items: center;
	background:
		linear-gradient(135deg, rgba(156, 175, 136, 0.26), rgba(255, 255, 255, 0.95)),
		#fff;
	border: 1px solid var(--vmax-line);
	border-radius: 12px;
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(0, 1fr) auto;
	padding: clamp(24px, 4vw, 38px);
}

.vmax-consultation-cta h2 {
	color: var(--vmax-ink);
	font-size: clamp(1.7rem, 3vw, 2.45rem);
	line-height: 1.12;
	margin: 0;
}

.vmax-consultation-cta p {
	color: var(--vmax-muted);
	margin: 8px 0 0;
}

.vmax-consultation-cta .vmax-btn {
	background: var(--vmax-architecture-deep);
	min-width: 210px;
	width: auto;
}

@media screen and (max-width: 900px) {
	.vmax-consultation-hero,
	.vmax-consultation-cta {
		grid-template-columns: 1fr;
	}

	.vmax-offers-grid,
	.vmax-consultation-method {
		grid-template-columns: 1fr;
	}

	.vmax-consultation-cta .vmax-btn {
		width: 100%;
	}
}

/* Page Etudes prealables */
.vmax-prealable {
	display: grid;
	gap: clamp(30px, 5vw, 54px);
}

.vmax-prealable::before {
	background:
		linear-gradient(90deg, var(--vmax-architecture) 0 34%, rgba(156, 175, 136, 0.42) 34% 66%, rgba(156, 175, 136, 0.16) 66% 100%);
	border-radius: 999px;
	content: "";
	display: block;
	height: 8px;
	width: min(280px, 65vw);
}

.vmax-prealable-hero {
	background:
		linear-gradient(135deg, rgba(156, 175, 136, 0.26), rgba(255, 255, 255, 0.96) 58%, rgba(156, 175, 136, 0.12)),
		#fff;
	border: 1px solid var(--vmax-line);
	border-radius: 12px;
	padding: clamp(30px, 5vw, 58px);
}

.vmax-prealable-hero h1 {
	color: var(--vmax-ink);
	font-size: clamp(2.25rem, 4.8vw, 4.25rem);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.06;
	margin: 0;
	max-width: 900px;
}

.vmax-prealable-hero .lead {
	color: var(--vmax-text);
	font-size: clamp(1.08rem, 1.8vw, 1.25rem);
	line-height: 1.62;
	margin: 1.2rem 0 0;
	max-width: 860px;
}

.vmax-prealable-grid {
	display: grid;
	gap: 18px;
}

.vmax-prealable-card {
	background:
		linear-gradient(135deg, rgba(156, 175, 136, 0.13), rgba(255, 255, 255, 0.96) 42%, rgba(156, 175, 136, 0.08)),
		#fff;
	border: 1px solid rgba(82, 102, 70, 0.2);
	border-left: 8px solid var(--vmax-architecture);
	border-radius: 0 14px 14px 0;
	box-shadow: 0 18px 46px rgba(82, 102, 70, 0.12);
	display: grid;
	gap: 22px;
	grid-template-columns: minmax(230px, 0.42fr) minmax(0, 1fr);
	overflow: hidden;
	padding: clamp(22px, 4vw, 34px);
	position: relative;
}

.vmax-prealable-card::before {
	color: rgba(82, 102, 70, 0.1);
	content: "01";
	font-size: clamp(4rem, 9vw, 7rem);
	font-weight: 900;
	line-height: 1;
	position: absolute;
	right: 22px;
	top: 14px;
}

.vmax-prealable-card:nth-child(2)::before {
	content: "02";
}

.vmax-prealable-card:nth-child(3)::before {
	content: "03";
}

.vmax-prealable-card > * {
	position: relative;
}

.vmax-prealable-card h2 {
	color: var(--vmax-ink);
	font-size: clamp(1.65rem, 3vw, 2.35rem);
	line-height: 1.12;
	margin: 0;
}

.vmax-prealable-card .subtitle {
	color: var(--vmax-architecture-deep);
	font-size: 1.05rem;
	font-weight: 850;
	margin: 10px 0 0;
}

.vmax-prealable-card .subtitle::after {
	background: var(--vmax-architecture);
	border-radius: 999px;
	content: "";
	display: block;
	height: 4px;
	margin-top: 14px;
	width: 76px;
}

.vmax-prealable-card h3 {
	color: var(--vmax-ink);
	font-size: 1.05rem;
	margin: 0 0 8px;
}

.vmax-prealable-card p {
	color: var(--vmax-muted);
	margin: 0;
}

.vmax-prealable-card ul {
	display: grid;
	gap: 9px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.vmax-prealable-card li {
	color: var(--vmax-text);
	padding-left: 24px;
	position: relative;
}

.vmax-prealable-card li::before {
	color: var(--vmax-architecture-deep);
	content: "✓";
	font-weight: 900;
	left: 0;
	position: absolute;
	top: 0;
}

.vmax-prealable-details {
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr);
}

.vmax-prealable-details > div:not(.vmax-prealable-actions) {
	background: rgba(255, 255, 255, 0.68);
	border: 1px solid rgba(82, 102, 70, 0.12);
	border-radius: 10px;
	padding: 16px;
}

.vmax-prealable-actions {
	grid-column: 1 / -1;
}

.vmax-prealable-actions .vmax-btn {
	background: var(--vmax-architecture-deep);
	max-width: 260px;
}

.vmax-prealable-actions .vmax-btn:hover,
.vmax-prealable-actions .vmax-btn:focus {
	background: var(--vmax-ink);
}

.vmax-contact-strip {
	align-items: center;
	background:
		linear-gradient(135deg, rgba(156, 175, 136, 0.18), rgba(255, 255, 255, 0.9)),
		var(--vmax-soft);
	border: 1px solid var(--vmax-line);
	border-radius: 12px;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	padding: 18px;
}

.vmax-contact-strip a {
	box-shadow: none;
	color: var(--vmax-architecture-deep);
	font-weight: 850;
	text-decoration: none;
}

.vmax-contact-strip a:hover,
.vmax-contact-strip a:focus {
	color: var(--vmax-ink);
}

@media screen and (max-width: 860px) {
	.vmax-prealable-card,
	.vmax-prealable-details {
		grid-template-columns: 1fr;
	}

	.vmax-prealable-actions .vmax-btn {
		max-width: none;
		width: 100%;
	}
}

/* Page Optimisation spatiale */
.vmax-spatial {
	display: grid;
	gap: clamp(30px, 5vw, 54px);
}

.vmax-spatial-hero {
	align-items: center;
	background:
		linear-gradient(135deg, rgba(156, 175, 136, 0.26), rgba(255, 255, 255, 0.96) 58%, rgba(156, 175, 136, 0.13)),
		#fff;
	border: 1px solid var(--vmax-line);
	border-radius: 12px;
	display: grid;
	gap: clamp(24px, 5vw, 52px);
	grid-template-columns: minmax(0, 1fr) minmax(280px, 0.62fr);
	padding: clamp(30px, 5vw, 58px);
}

.vmax-spatial-hero h1 {
	color: var(--vmax-ink);
	font-size: clamp(2.25rem, 4.8vw, 4.2rem);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.06;
	margin: 0;
}

.vmax-spatial-hero .lead {
	color: var(--vmax-text);
	font-size: clamp(1.08rem, 1.8vw, 1.25rem);
	line-height: 1.62;
	margin: 1.2rem 0 0;
	max-width: 820px;
}

.vmax-spatial-visual {
	background:
		linear-gradient(rgba(23, 32, 25, 0.08), rgba(23, 32, 25, 0.18)),
		url("https://vmaxarchitecture.be/wp-content/uploads/2020/11/Diapositive10-1024x576.jpg");
	background-position: center;
	background-size: cover;
	border-radius: 18px;
	box-shadow: var(--vmax-shadow-soft);
	min-height: 320px;
}

.vmax-spatial-video {
	background: var(--vmax-ink);
	border-radius: 12px;
	box-shadow: var(--vmax-shadow-soft);
	overflow: hidden;
}

.vmax-spatial-video video {
	aspect-ratio: 16 / 9;
	box-shadow: none;
	display: block;
	height: auto;
	width: 100%;
}

.vmax-spatial-services {
	display: grid;
	gap: 22px;
}

.vmax-spatial-card {
	align-items: stretch;
	background: #fff;
	border: 1px solid rgba(82, 102, 70, 0.18);
	border-left: 8px solid var(--vmax-architecture);
	border-radius: 0 14px 14px 0;
	box-shadow: var(--vmax-shadow-soft);
	display: grid;
	gap: 24px;
	grid-template-columns: minmax(280px, 0.45fr) minmax(0, 1fr);
	overflow: hidden;
}

.vmax-spatial-card:nth-child(even) {
	grid-template-columns: minmax(0, 1fr) minmax(280px, 0.45fr);
}

.vmax-spatial-card:nth-child(even) .vmax-spatial-media {
	order: 2;
}

.vmax-spatial-media {
	background-position: center;
	background-size: cover;
	min-height: 320px;
}

.vmax-spatial-media--interior {
	background-image:
		linear-gradient(rgba(156, 175, 136, 0.12), rgba(82, 102, 70, 0.18)),
		url("https://vmaxarchitecture.be/wp-content/uploads/2020/11/Diapositive10-1024x576.jpg");
}

.vmax-spatial-media--exterior {
	background-image:
		linear-gradient(rgba(156, 175, 136, 0.12), rgba(82, 102, 70, 0.18)),
		url("https://vmaxarchitecture.be/wp-content/uploads/2025/02/Diapositive15-edited.jpg");
}

.vmax-spatial-body {
	display: grid;
	gap: 14px;
	padding: clamp(24px, 4vw, 38px);
}

.vmax-spatial-body h2 {
	color: var(--vmax-ink);
	font-size: clamp(1.75rem, 3vw, 2.45rem);
	line-height: 1.12;
	margin: 0;
}

.vmax-spatial-body .subtitle {
	color: var(--vmax-architecture-deep);
	font-size: 1.1rem;
	font-weight: 850;
	margin: 0;
}

.vmax-spatial-body p {
	color: var(--vmax-text);
	margin: 0;
}

.vmax-spatial-body ul {
	display: grid;
	gap: 9px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.vmax-spatial-body li {
	padding-left: 24px;
	position: relative;
}

.vmax-spatial-body li::before {
	color: var(--vmax-architecture-deep);
	content: "✓";
	font-weight: 900;
	left: 0;
	position: absolute;
	top: 0;
}

.vmax-spatial-cta {
	margin-top: 6px;
}

.vmax-spatial-cta .vmax-btn {
	background: var(--vmax-architecture-deep);
	max-width: 240px;
}

.vmax-spatial-cta .vmax-btn:hover,
.vmax-spatial-cta .vmax-btn:focus {
	background: var(--vmax-ink);
}

@media screen and (max-width: 900px) {
	.vmax-spatial-hero,
	.vmax-spatial-card,
	.vmax-spatial-card:nth-child(even) {
		grid-template-columns: 1fr;
	}

	.vmax-spatial-card:nth-child(even) .vmax-spatial-media {
		order: 0;
	}

	.vmax-spatial-media,
	.vmax-spatial-visual {
		min-height: 240px;
	}

	.vmax-spatial-cta .vmax-btn {
		max-width: none;
		width: 100%;
	}
}

/* Page Permis urbanisme */
.vmax-permis {
	display: grid;
	gap: clamp(30px, 5vw, 54px);
}

.vmax-permis-hero {
	background:
		linear-gradient(135deg, rgba(156, 175, 136, 0.26), rgba(255, 255, 255, 0.96) 58%, rgba(156, 175, 136, 0.13)),
		#fff;
	border: 1px solid var(--vmax-line);
	border-radius: 12px;
	padding: clamp(30px, 5vw, 58px);
}

.vmax-permis-hero h1 {
	color: var(--vmax-ink);
	font-size: clamp(2.25rem, 4.8vw, 4.25rem);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.06;
	margin: 0;
	max-width: 920px;
}

.vmax-permis-hero .lead {
	color: var(--vmax-text);
	font-size: clamp(1.08rem, 1.8vw, 1.25rem);
	line-height: 1.62;
	margin: 1.2rem 0 0;
	max-width: 860px;
}

.vmax-permis-grid {
	display: grid;
	gap: 22px;
}

.vmax-permis-card {
	background: #fff;
	border: 1px solid rgba(82, 102, 70, 0.18);
	border-left: 8px solid var(--vmax-architecture);
	border-radius: 0 14px 14px 0;
	box-shadow: var(--vmax-shadow-soft);
	display: grid;
	gap: 24px;
	grid-template-columns: minmax(280px, 0.42fr) minmax(0, 1fr);
	overflow: hidden;
}

.vmax-permis-card:nth-child(even) {
	grid-template-columns: minmax(0, 1fr) minmax(280px, 0.42fr);
}

.vmax-permis-card:nth-child(even) .vmax-permis-media {
	order: 2;
}

.vmax-permis-media {
	background-position: center;
	background-size: cover;
	min-height: 320px;
}

.vmax-permis-media--classic {
	background-image:
		linear-gradient(rgba(156, 175, 136, 0.1), rgba(82, 102, 70, 0.18)),
		url("https://vmaxarchitecture.be/wp-content/uploads/2024/03/Diapositive21-1024x1024.jpg");
}

.vmax-permis-media--small {
	background-image:
		linear-gradient(rgba(156, 175, 136, 0.1), rgba(82, 102, 70, 0.18)),
		url("https://vmaxarchitecture.be/wp-content/uploads/2024/03/210707_11-Photo-1024x576.jpg");
}

.vmax-permis-media--regularisation {
	background-image:
		linear-gradient(rgba(156, 175, 136, 0.1), rgba(82, 102, 70, 0.18)),
		url("https://vmaxarchitecture.be/wp-content/uploads/2024/03/Diapositive16-1024x576.jpg");
}

.vmax-permis-body {
	display: grid;
	gap: 14px;
	padding: clamp(24px, 4vw, 38px);
}

.vmax-permis-body h2 {
	color: var(--vmax-ink);
	font-size: clamp(1.75rem, 3vw, 2.45rem);
	line-height: 1.12;
	margin: 0;
}

.vmax-permis-body .subtitle {
	color: var(--vmax-architecture-deep);
	font-size: 1.1rem;
	font-weight: 850;
	margin: 0;
}

.vmax-permis-details {
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr);
}

.vmax-permis-details h3 {
	color: var(--vmax-ink);
	font-size: 1.05rem;
	margin: 0 0 8px;
}

.vmax-permis-details p {
	color: var(--vmax-muted);
	margin: 0;
}

.vmax-permis-details ul {
	display: grid;
	gap: 9px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.vmax-permis-details li {
	padding-left: 24px;
	position: relative;
}

.vmax-permis-details li::before {
	color: var(--vmax-architecture-deep);
	content: "✓";
	font-weight: 900;
	left: 0;
	position: absolute;
	top: 0;
}

.vmax-permis-cta .vmax-btn {
	background: var(--vmax-architecture-deep);
	max-width: 240px;
}

.vmax-permis-cta .vmax-btn:hover,
.vmax-permis-cta .vmax-btn:focus {
	background: var(--vmax-ink);
}

.vmax-permis-video {
	background: var(--vmax-ink);
	border-radius: 12px;
	box-shadow: var(--vmax-shadow-soft);
	overflow: hidden;
}

.vmax-permis-video video {
	aspect-ratio: 16 / 9;
	box-shadow: none;
	display: block;
	height: auto;
	width: 100%;
}

@media screen and (max-width: 900px) {
	.vmax-permis-card,
	.vmax-permis-card:nth-child(even),
	.vmax-permis-details {
		grid-template-columns: 1fr;
	}

	.vmax-permis-card:nth-child(even) .vmax-permis-media {
		order: 0;
	}

	.vmax-permis-media {
		min-height: 240px;
	}

	.vmax-permis-cta .vmax-btn {
		max-width: none;
		width: 100%;
	}
}

/* Page Chantier */
.vmax-chantier {
	display: grid;
	gap: clamp(30px, 5vw, 54px);
}

.vmax-chantier-hero {
	align-items: end;
	background:
		linear-gradient(90deg, rgba(23, 32, 25, 0.82), rgba(23, 32, 25, 0.48)),
		url("https://vmaxarchitecture.be/wp-content/uploads/2026/05/IMG_20260310_145822-scaled.jpg");
	background-position: center;
	background-size: cover;
	border-radius: 14px;
	box-shadow: var(--vmax-shadow-soft);
	color: #fff;
	display: grid;
	min-height: 520px;
	overflow: hidden;
	padding: clamp(30px, 5vw, 58px);
}

.vmax-chantier-hero h1 {
	color: #fff !important;
	font-size: clamp(2.2rem, 4.6vw, 4rem);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.05;
	margin: 0;
	max-width: 850px;
	text-shadow: 0 3px 18px rgba(0, 0, 0, 0.55);
}

.vmax-chantier-hero .lead {
	color: rgba(255, 255, 255, 0.96) !important;
	font-size: clamp(1.08rem, 1.8vw, 1.25rem);
	line-height: 1.62;
	margin: 1.2rem 0 0;
	max-width: 760px;
}

.vmax-chantier-hero .vmax-kicker {
	color: #d9e6cf !important;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.45);
}

.vmax-chantier-intro {
	display: grid;
	gap: 22px;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr);
}

.vmax-chantier-intro-card {
	background: #fff;
	border: 1px solid var(--vmax-line);
	border-left: 8px solid var(--vmax-architecture);
	border-radius: 0 14px 14px 0;
	box-shadow: var(--vmax-shadow-soft);
	padding: clamp(24px, 4vw, 38px);
}

.vmax-chantier-intro-card h2 {
	color: var(--vmax-ink);
	font-size: clamp(1.75rem, 3vw, 2.45rem);
	line-height: 1.12;
	margin: 0 0 14px;
}

.vmax-chantier-intro-card p {
	color: var(--vmax-text);
	margin: 0;
}

.vmax-chantier-photo-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.vmax-chantier-photo {
	background-position: center;
	background-size: cover;
	border-radius: 12px;
	box-shadow: var(--vmax-shadow-soft);
	min-height: 210px;
}

.vmax-chantier-photo:nth-child(1) {
	background-image: url("https://vmaxarchitecture.be/wp-content/uploads/2026/05/IMG_20260310_152349-scaled.jpg");
}

.vmax-chantier-photo:nth-child(2) {
	background-image: url("https://vmaxarchitecture.be/wp-content/uploads/2026/05/IMG_20260310_143421-scaled.jpg");
}

.vmax-chantier-photo:nth-child(3) {
	background-image: url("https://vmaxarchitecture.be/wp-content/uploads/2026/05/IMG_20260312_100542-scaled.jpg");
}

.vmax-chantier-photo:nth-child(4) {
	background-image: url("https://vmaxarchitecture.be/wp-content/uploads/2026/05/IMG_20260312_100637-scaled.jpg");
}

.vmax-chantier-steps {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.vmax-chantier-step {
	background: var(--vmax-soft);
	border-top: 6px solid var(--vmax-architecture);
	border-radius: 12px;
	padding: 24px;
}

.vmax-chantier-step span {
	color: var(--vmax-architecture-deep);
	font-weight: 900;
}

.vmax-chantier-step h3 {
	color: var(--vmax-ink);
	font-size: 1.35rem;
	margin: 10px 0;
}

.vmax-chantier-step p {
	color: var(--vmax-muted);
	margin: 0;
}

.vmax-chantier-proof {
	align-items: center;
	background:
		linear-gradient(135deg, rgba(156, 175, 136, 0.24), rgba(255, 255, 255, 0.94)),
		#fff;
	border: 1px solid var(--vmax-line);
	border-radius: 12px;
	display: grid;
	gap: 22px;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 0.5fr);
	padding: clamp(24px, 4vw, 38px);
}

.vmax-chantier-proof h2 {
	color: var(--vmax-ink);
	font-size: clamp(1.75rem, 3vw, 2.45rem);
	line-height: 1.12;
	margin: 0;
}

.vmax-chantier-proof p {
	color: var(--vmax-text);
	margin: 12px 0 0;
}

.vmax-chantier-proof ul {
	display: grid;
	gap: 9px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.vmax-chantier-proof li {
	padding-left: 24px;
	position: relative;
}

.vmax-chantier-proof li::before {
	color: var(--vmax-architecture-deep);
	content: "✓";
	font-weight: 900;
	left: 0;
	position: absolute;
	top: 0;
}

.vmax-chantier-cta {
	align-items: center;
	background:
		linear-gradient(135deg, rgba(23, 32, 25, 0.96), rgba(82, 102, 70, 0.92)),
		var(--vmax-ink);
	border-radius: 12px;
	color: #fff;
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(0, 1fr) auto;
	padding: clamp(24px, 4vw, 38px);
}

.vmax-chantier-cta h2,
.vmax-chantier-cta p {
	color: #fff !important;
}

.vmax-chantier-cta h2 {
	font-size: clamp(1.7rem, 3vw, 2.45rem);
	line-height: 1.12;
	margin: 0;
}

.vmax-chantier-cta p {
	margin: 8px 0 0;
	opacity: 0.86;
}

.vmax-chantier-cta .vmax-btn {
	background: #fff;
	color: var(--vmax-ink) !important;
	min-width: 210px;
	width: auto;
}

.vmax-chantier-cta .vmax-btn:hover,
.vmax-chantier-cta .vmax-btn:focus {
	background: var(--vmax-architecture);
	color: var(--vmax-ink) !important;
}

@media screen and (max-width: 900px) {
	.vmax-chantier-intro,
	.vmax-chantier-proof,
	.vmax-chantier-cta {
		grid-template-columns: 1fr;
	}

	.vmax-chantier-steps {
		grid-template-columns: 1fr;
	}

	.vmax-chantier-hero {
		min-height: 420px;
	}

	.vmax-chantier-cta .vmax-btn {
		width: 100%;
	}
}

@media screen and (max-width: 640px) {
	.vmax-chantier-photo-grid {
		grid-template-columns: 1fr;
	}
}

/* Page Realisations */
.vmax-realisations {
	display: grid;
	gap: clamp(34px, 5vw, 64px);
}

.vmax-realisations-hero {
	background:
		linear-gradient(135deg, rgba(82, 102, 70, 0.78), rgba(156, 175, 136, 0.94)),
		#9caf88;
	border-radius: 16px;
	box-shadow: var(--vmax-shadow-soft);
	color: #fff;
	overflow: hidden;
	padding: clamp(34px, 6vw, 72px);
	position: relative;
}

.vmax-realisations-hero::after {
	background:
		radial-gradient(circle at 25% 20%, rgba(156, 175, 136, 0.5), transparent 30%),
		radial-gradient(circle at 80% 75%, rgba(255, 255, 255, 0.18), transparent 34%);
	bottom: 0;
	content: "";
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
}

.vmax-realisations-hero > * {
	position: relative;
	z-index: 1;
}

.vmax-realisations-hero h1 {
	color: #fff !important;
	font-size: clamp(2.4rem, 5vw, 4.6rem);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 0.98;
	margin: 0;
	max-width: 780px;
	text-transform: none;
}

.vmax-realisations-hero .lead {
	color: rgba(255, 255, 255, 0.92) !important;
	font-size: clamp(1.08rem, 1.8vw, 1.25rem);
	line-height: 1.62;
	margin: 1.35rem 0 0;
	max-width: 820px;
}

.vmax-realisations-stats {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: clamp(26px, 4vw, 46px);
}

.vmax-realisations-stat {
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 12px;
	padding: 18px;
}

.vmax-stat-number {
	color: #fff;
	display: block;
	font-size: clamp(1.8rem, 3vw, 2.6rem);
	font-weight: 900;
	line-height: 1;
	white-space: nowrap;
}

.vmax-stat-number span {
	color: #d9e6cf;
	display: inline;
	font-size: 0.48em;
	margin-left: 0.16em;
	white-space: nowrap;
}

.vmax-realisations-stat small {
	color: rgba(255, 255, 255, 0.84);
	display: block;
	font-weight: 750;
	margin-top: 8px;
}

.vmax-realisations-intro {
	align-items: end;
	display: grid;
	gap: 22px;
	grid-template-columns: minmax(0, 0.82fr) minmax(0, 1fr);
}

.vmax-realisations-intro h2 {
	color: var(--vmax-ink);
	font-size: clamp(2rem, 4vw, 3.4rem);
	line-height: 1.05;
	margin: 0;
}

.vmax-realisations-intro p {
	color: var(--vmax-muted);
	margin: 0;
	max-width: 640px;
}

.vmax-filters {
	background: #fff;
	border: 1px solid var(--vmax-line);
	border-radius: 14px;
	box-shadow: var(--vmax-shadow-soft);
	padding: 18px;
	position: sticky;
	top: 0;
	z-index: 4;
}

.admin-bar .vmax-filters {
	top: 32px;
}

.vmax-filter-head {
	align-items: center;
	display: flex;
	gap: 16px;
	justify-content: space-between;
	margin-bottom: 14px;
}

.vmax-filter-head strong {
	color: var(--vmax-ink);
	font-size: 0.82rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.vmax-filter-head span {
	color: var(--vmax-muted);
	font-size: 0.92rem;
}

.vmax-filter-group {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
}

.vmax-filter-btn {
	background: var(--vmax-soft);
	border: 1px solid var(--vmax-line);
	border-radius: 999px;
	color: var(--vmax-ink);
	cursor: pointer;
	font-weight: 800;
	padding: 0.64rem 0.9rem;
	transition: background 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.vmax-filter-btn:hover,
.vmax-filter-btn:focus,
.vmax-filter-btn.active {
	background: var(--vmax-architecture-deep);
	border-color: var(--vmax-architecture-deep);
	color: #fff;
	transform: translateY(-1px);
}

.vmax-projects-grid {
	display: grid;
	gap: clamp(18px, 2.8vw, 28px);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.vmax-project-card {
	background: #fff;
	border: 1px solid var(--vmax-line);
	border-radius: 14px;
	box-shadow: 0 18px 44px rgba(23, 32, 25, 0.08);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.vmax-project-card:hover,
.vmax-project-card:focus-within {
	border-color: rgba(156, 175, 136, 0.72);
	box-shadow: 0 24px 58px rgba(23, 32, 25, 0.14);
	transform: translateY(-4px);
}

.vmax-project-card[hidden] {
	display: none;
}

.vmax-project-image {
	aspect-ratio: 4 / 3;
	background: var(--vmax-soft);
	overflow: hidden;
	position: relative;
}

.vmax-project-image img {
	border-radius: 0 !important;
	box-shadow: none !important;
	height: 100%;
	object-fit: cover;
	transition: transform 260ms ease;
	width: 100%;
}

.vmax-project-card:hover .vmax-project-image img {
	transform: scale(1.045);
}

.vmax-project-badge {
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(255, 255, 255, 0.72);
	border-radius: 999px;
	color: var(--vmax-architecture-deep);
	font-size: 0.72rem;
	font-weight: 900;
	left: 14px;
	letter-spacing: 0.08em;
	padding: 0.48rem 0.66rem;
	position: absolute;
	text-transform: uppercase;
	top: 14px;
}

.vmax-project-info {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 22px;
}

.vmax-project-title {
	color: var(--vmax-ink);
	font-size: 1.35rem;
	line-height: 1.15;
	margin: 0 0 0.85rem;
}

.vmax-project-desc {
	color: var(--vmax-text);
	font-size: 0.98rem;
	line-height: 1.55;
	margin: 0 0 1rem;
}

.vmax-project-meta {
	color: var(--vmax-muted);
	display: flex;
	flex-wrap: wrap;
	font-size: 0.92rem;
	font-weight: 700;
	gap: 8px;
	margin-top: auto;
}

.vmax-project-link {
	align-items: center;
	background: #9caf88;
	border-radius: 999px;
	box-shadow: none !important;
	color: var(--vmax-ink) !important;
	display: inline-flex;
	font-weight: 850;
	justify-content: center;
	margin-top: 1.1rem;
	padding: 0.78rem 1rem;
	text-decoration: none;
	width: 100%;
}

.vmax-project-link:hover,
.vmax-project-link:focus {
	background: var(--vmax-architecture-deep);
	color: #fff !important;
}

.vmax-realisations-cta {
	align-items: center;
	background:
		linear-gradient(135deg, rgba(156, 175, 136, 0.24), rgba(255, 255, 255, 0.96)),
		#fff;
	border: 1px solid var(--vmax-line);
	border-radius: 14px;
	display: grid;
	gap: 22px;
	grid-template-columns: minmax(0, 1fr) auto;
	padding: clamp(26px, 4vw, 42px);
}

.vmax-realisations-cta h2 {
	color: var(--vmax-ink);
	font-size: clamp(1.8rem, 3vw, 2.5rem);
	margin: 0 0 8px;
}

.vmax-realisations-cta p {
	color: var(--vmax-muted);
	margin: 0;
}

.vmax-realisations-cta .vmax-btn {
	background: #9caf88 !important;
	border: 1px solid #9caf88;
	border-radius: 999px;
	box-shadow: none !important;
	color: var(--vmax-ink) !important;
	display: inline-flex;
	font-weight: 850;
	justify-content: center;
	min-width: 210px;
	padding: 0.85rem 1.25rem;
	text-decoration: none;
}

.vmax-realisations-cta .vmax-btn:hover,
.vmax-realisations-cta .vmax-btn:focus {
	background: var(--vmax-architecture-deep) !important;
	border-color: var(--vmax-architecture-deep);
	color: #fff !important;
}

/* Fiche projet - Amenagement exterieur Spa */
.vmax-project-detail {
	display: grid;
	gap: clamp(30px, 5vw, 56px);
}

.vmax-project-detail-hero {
	background: #fff;
	border: 1px solid var(--vmax-line);
	border-radius: 16px;
	box-shadow: var(--vmax-shadow-soft);
	overflow: hidden;
}

.vmax-project-detail-hero img {
	aspect-ratio: 16 / 8;
	border-radius: 0 !important;
	box-shadow: none !important;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.vmax-project-detail-hero-body {
	background:
		linear-gradient(135deg, rgba(156, 175, 136, 0.18), rgba(255, 255, 255, 0.96)),
		#fff;
	padding: clamp(26px, 4vw, 44px);
}

.vmax-project-detail-hero h1 {
	color: var(--vmax-ink);
	font-size: clamp(2.2rem, 5vw, 4rem);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.02;
	margin: 0;
	max-width: 900px;
	text-transform: none;
}

.vmax-project-detail-hero .lead {
	color: var(--vmax-text);
	font-size: clamp(1.08rem, 1.8vw, 1.22rem);
	line-height: 1.65;
	margin: 1.3rem 0 0;
	max-width: 860px;
}

.vmax-project-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 1.4rem;
}

.vmax-project-pill {
	background: var(--vmax-soft);
	border: 1px solid var(--vmax-line);
	border-radius: 999px;
	color: var(--vmax-architecture-deep);
	font-size: 0.92rem;
	font-weight: 850;
	padding: 0.56rem 0.78rem;
}

.vmax-project-detail h2 {
	color: var(--vmax-ink);
	font-size: clamp(1.8rem, 3.4vw, 2.7rem);
	line-height: 1.1;
	margin: 0;
}

.vmax-project-gallery {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.vmax-project-gallery-four {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.vmax-project-gallery-two {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.vmax-project-gallery-five {
	grid-template-columns: repeat(6, minmax(0, 1fr));
}

.vmax-project-gallery-five figure {
	grid-column: span 2;
}

.vmax-project-gallery-five figure:nth-child(4),
.vmax-project-gallery-five figure:nth-child(5) {
	grid-column: span 3;
}

.vmax-project-gallery figure {
	background: #fff;
	border: 1px solid var(--vmax-line);
	border-radius: 14px;
	box-shadow: var(--vmax-shadow-soft);
	margin: 0;
	overflow: hidden;
}

.vmax-project-gallery img {
	aspect-ratio: 4 / 3;
	border-radius: 0 !important;
	box-shadow: none !important;
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.vmax-project-gallery figcaption {
	color: var(--vmax-muted);
	font-size: 0.92rem;
	font-weight: 700;
	line-height: 1.35;
	padding: 14px 16px 16px;
}

.vmax-project-story {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.vmax-project-story-card {
	background: #fff;
	border: 1px solid var(--vmax-line);
	border-top: 6px solid #9caf88;
	border-radius: 12px;
	box-shadow: var(--vmax-shadow-soft);
	padding: clamp(22px, 3vw, 30px);
}

.vmax-project-story-card h3 {
	color: var(--vmax-ink);
	font-size: 1.45rem;
	margin: 0 0 0.8rem;
}

.vmax-project-story-card p {
	color: var(--vmax-text);
	margin: 0;
}

.vmax-project-tech {
	background:
		linear-gradient(135deg, rgba(156, 175, 136, 0.18), rgba(255, 255, 255, 0.96)),
		#fff;
	border: 1px solid var(--vmax-line);
	border-radius: 14px;
	display: grid;
	gap: 22px;
	grid-template-columns: minmax(0, 0.65fr) minmax(0, 1fr);
	padding: clamp(24px, 4vw, 38px);
}

.vmax-project-tech-list {
	display: grid;
	gap: 10px;
}

.vmax-project-tech-list p {
	background: rgba(255, 255, 255, 0.72);
	border-left: 5px solid #9caf88;
	border-radius: 8px;
	margin: 0;
	padding: 12px 14px;
}

.vmax-project-detail-cta {
	align-items: center;
	background: var(--vmax-ink);
	border-radius: 14px;
	color: #fff;
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(0, 1fr) auto;
	padding: clamp(24px, 4vw, 38px);
}

.vmax-project-detail-cta h2,
.vmax-project-detail-cta p {
	color: #fff !important;
	margin: 0;
}

.vmax-project-detail-cta p {
	opacity: 0.84;
}

.vmax-project-detail-cta .vmax-btn {
	background: #9caf88 !important;
	box-shadow: none !important;
	color: var(--vmax-ink) !important;
	min-width: 230px;
}

.vmax-project-detail-cta .vmax-btn:hover,
.vmax-project-detail-cta .vmax-btn:focus {
	background: #fff !important;
	color: var(--vmax-ink) !important;
}

/* Page service V.Max.Trace */
.vmax-trace-service {
	display: grid;
	gap: clamp(30px, 5vw, 54px);
}

.vmax-trace-hero {
	background:
		linear-gradient(135deg, rgba(50, 120, 137, 0.88), rgba(130, 181, 201, 0.86)),
		#82b5c9;
	border-radius: 16px;
	box-shadow: var(--vmax-shadow-soft);
	color: #fff;
	padding: clamp(32px, 6vw, 68px);
}

.vmax-trace-hero h1 {
	color: #fff !important;
	font-size: clamp(2.25rem, 5vw, 4rem);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.04;
	margin: 0;
	max-width: 900px;
	text-transform: none;
}

.vmax-trace-hero .lead {
	color: rgba(255, 255, 255, 0.94) !important;
	font-size: clamp(1.08rem, 1.8vw, 1.24rem);
	line-height: 1.65;
	margin: 1.25rem 0 0;
	max-width: 840px;
}

.vmax-trace-hero .vmax-kicker {
	color: rgba(255, 255, 255, 0.82) !important;
}

.vmax-trace-pill-row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 1.4rem;
}

.vmax-trace-pill {
	background: rgba(255, 255, 255, 0.16);
	border: 1px solid rgba(255, 255, 255, 0.34);
	border-radius: 999px;
	color: #fff;
	font-weight: 850;
	padding: 0.56rem 0.78rem;
}

.vmax-trace-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.vmax-trace-card {
	background: #fff;
	border: 1px solid rgba(130, 181, 201, 0.35);
	border-top: 6px solid #82b5c9;
	border-radius: 12px;
	box-shadow: var(--vmax-shadow-soft);
	padding: clamp(22px, 3vw, 30px);
}

.vmax-trace-card h2,
.vmax-trace-card h3 {
	color: var(--vmax-ink);
	margin-top: 0;
}

.vmax-trace-card p,
.vmax-trace-card li {
	color: var(--vmax-text);
}

.vmax-trace-card ul {
	margin-bottom: 0;
}

.vmax-trace-section {
	background:
		linear-gradient(135deg, rgba(130, 181, 201, 0.16), rgba(255, 255, 255, 0.95)),
		#fff;
	border: 1px solid rgba(130, 181, 201, 0.35);
	border-radius: 14px;
	display: grid;
	gap: 24px;
	grid-template-columns: minmax(0, 0.68fr) minmax(0, 1fr);
	padding: clamp(24px, 4vw, 38px);
}

.vmax-trace-section h2 {
	color: var(--vmax-ink);
	font-size: clamp(1.75rem, 3vw, 2.45rem);
	line-height: 1.12;
	margin: 0;
}

.vmax-trace-list {
	display: grid;
	gap: 10px;
}

.vmax-trace-list p {
	background: rgba(255, 255, 255, 0.78);
	border-left: 5px solid #82b5c9;
	border-radius: 8px;
	margin: 0;
	padding: 12px 14px;
}

.vmax-trace-warning {
	background: #fff;
	border: 1px solid rgba(130, 181, 201, 0.38);
	border-left: 8px solid #327889;
	border-radius: 0 12px 12px 0;
	box-shadow: var(--vmax-shadow-soft);
	padding: clamp(22px, 3vw, 32px);
}

.vmax-trace-cta {
	align-items: center;
	background: var(--vmax-ink);
	border-radius: 14px;
	color: #fff;
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(0, 1fr) auto;
	padding: clamp(24px, 4vw, 38px);
}

.vmax-trace-cta h2,
.vmax-trace-cta p {
	color: #fff !important;
	margin: 0;
}

.vmax-trace-cta p {
	opacity: 0.84;
}

.vmax-trace-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: flex-end;
}

.vmax-trace-btn {
	background: #82b5c9 !important;
	border-radius: 999px;
	box-shadow: none !important;
	color: var(--vmax-ink) !important;
	display: inline-flex;
	font-weight: 850;
	justify-content: center;
	min-width: 180px;
	padding: 0.82rem 1.1rem;
	text-decoration: none;
}

.vmax-trace-btn:hover,
.vmax-trace-btn:focus {
	background: #fff !important;
	color: var(--vmax-ink) !important;
}

/* Pages hubs Architecture */
.vmax-arch-hub {
	display: grid;
	gap: clamp(30px, 5vw, 54px);
}

.vmax-arch-hub-hero {
	background:
		linear-gradient(135deg, rgba(82, 102, 70, 0.78), rgba(156, 175, 136, 0.92)),
		#9caf88;
	border-radius: 16px;
	box-shadow: var(--vmax-shadow-soft);
	color: #fff;
	padding: clamp(32px, 6vw, 68px);
}

.vmax-arch-hub-hero h1 {
	color: #fff !important;
	font-size: clamp(2.25rem, 5vw, 4rem);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.04;
	margin: 0;
	max-width: 900px;
	text-transform: none;
}

.vmax-arch-hub-hero .lead {
	color: rgba(255, 255, 255, 0.94) !important;
	font-size: clamp(1.08rem, 1.8vw, 1.24rem);
	line-height: 1.65;
	margin: 1.25rem 0 0;
	max-width: 840px;
}

.vmax-arch-hub-grid {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.vmax-arch-hub-card {
	background: #fff;
	border: 1px solid var(--vmax-line);
	border-top: 6px solid #9caf88;
	border-radius: 14px;
	box-shadow: var(--vmax-shadow-soft);
	display: flex;
	flex-direction: column;
	padding: clamp(22px, 3vw, 30px);
}

.vmax-arch-hub-card h2 {
	color: var(--vmax-ink);
	font-size: clamp(1.45rem, 2.2vw, 1.9rem);
	line-height: 1.12;
	margin: 0 0 0.8rem;
}

.vmax-arch-hub-card p {
	color: var(--vmax-text);
	margin: 0 0 1.1rem;
}

.vmax-arch-hub-card ul {
	color: var(--vmax-muted);
	margin-bottom: 1.4rem;
}

.vmax-arch-hub-card .vmax-btn {
	align-self: flex-start;
	background: #9caf88 !important;
	box-shadow: none !important;
	color: var(--vmax-ink) !important;
	margin-top: auto;
}

.vmax-arch-hub-card .vmax-btn:hover,
.vmax-arch-hub-card .vmax-btn:focus {
	background: var(--vmax-architecture-deep) !important;
	color: #fff !important;
}

.vmax-arch-hub-note {
	background:
		linear-gradient(135deg, rgba(156, 175, 136, 0.18), rgba(255, 255, 255, 0.96)),
		#fff;
	border: 1px solid var(--vmax-line);
	border-left: 8px solid #9caf88;
	border-radius: 0 14px 14px 0;
	box-shadow: var(--vmax-shadow-soft);
	padding: clamp(22px, 3vw, 34px);
}

.vmax-arch-hub-note h2 {
	color: var(--vmax-ink);
	margin-top: 0;
}

.vmax-arch-hub-cta {
	align-items: center;
	background: var(--vmax-ink);
	border-radius: 14px;
	color: #fff;
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(0, 1fr) auto;
	padding: clamp(24px, 4vw, 38px);
}

.vmax-arch-hub-cta h2,
.vmax-arch-hub-cta p {
	color: #fff !important;
	margin: 0;
}

.vmax-arch-hub-cta p {
	opacity: 0.84;
}

.vmax-arch-hub-cta .vmax-btn {
	background: #9caf88 !important;
	box-shadow: none !important;
	color: var(--vmax-ink) !important;
	min-width: 210px;
}

.vmax-arch-hub-cta .vmax-btn:hover,
.vmax-arch-hub-cta .vmax-btn:focus {
	background: #fff !important;
	color: var(--vmax-ink) !important;
}

/* Page institutionnelle V.Max */
.vmax-about-ecosystem {
	display: grid;
	gap: clamp(30px, 5vw, 54px);
	margin-left: calc(50% - min(640px, 50vw - 18px));
	margin-right: calc(50% - min(640px, 50vw - 18px));
}

.vmax-about-hero {
	background:
		linear-gradient(135deg, rgba(23, 32, 25, 0.9), rgba(82, 102, 70, 0.76)),
		#172019;
	border-radius: 16px;
	box-shadow: var(--vmax-shadow-soft);
	color: #fff;
	padding: clamp(32px, 6vw, 68px);
}

.vmax-about-hero h1 {
	color: #fff !important;
	font-size: clamp(2.25rem, 5vw, 4rem);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.04;
	margin: 0;
	max-width: 900px;
	text-transform: none;
}

.vmax-about-hero .lead {
	color: rgba(255, 255, 255, 0.92) !important;
	font-size: clamp(1.08rem, 1.8vw, 1.24rem);
	line-height: 1.65;
	margin: 1.25rem 0 0;
	max-width: 850px;
}

.vmax-about-grid {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.vmax-about-card {
	background: #fff;
	border: 1px solid var(--vmax-line);
	border-radius: 14px;
	box-shadow: var(--vmax-shadow-soft);
	padding: clamp(24px, 4vw, 36px);
}

.vmax-about-card.architecture {
	border-top: 8px solid #9caf88;
}

.vmax-about-card.trace {
	border-top: 8px solid #82b5c9;
}

.vmax-about-card.synergie {
	border-top: 8px solid #ffbd59;
}

.vmax-about-card h2 {
	color: var(--vmax-ink);
	font-size: clamp(1.55rem, 2vw, 2rem);
	letter-spacing: 0;
	line-height: 1.12;
	margin-top: 0;
	overflow-wrap: normal;
	word-break: normal;
}

.vmax-about-card p {
	color: var(--vmax-text);
}

.vmax-about-card ul {
	color: var(--vmax-muted);
}

.vmax-about-link-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 1.25rem;
}

.vmax-about-btn {
	background: #9caf88 !important;
	border-radius: 999px;
	box-shadow: none !important;
	color: var(--vmax-ink) !important;
	display: inline-flex;
	font-weight: 850;
	justify-content: center;
	padding: 0.82rem 1.1rem;
	text-decoration: none;
}

.vmax-about-btn.trace {
	background: #82b5c9 !important;
}

.vmax-about-btn.synergie {
	background: #ffbd59 !important;
}

.vmax-about-btn:hover,
.vmax-about-btn:focus {
	background: var(--vmax-ink) !important;
	color: #fff !important;
}

.vmax-about-section {
	background:
		linear-gradient(135deg, rgba(156, 175, 136, 0.16), rgba(130, 181, 201, 0.12)),
		#fff;
	border: 1px solid var(--vmax-line);
	border-radius: 14px;
	display: grid;
	gap: 24px;
	grid-template-columns: minmax(0, 0.72fr) minmax(0, 1fr);
	padding: clamp(24px, 4vw, 38px);
}

.vmax-about-section h2 {
	color: var(--vmax-ink);
	font-size: clamp(1.75rem, 3vw, 2.45rem);
	line-height: 1.12;
	margin: 0;
}

.vmax-about-list {
	display: grid;
	gap: 10px;
}

.vmax-about-list p {
	background: rgba(255, 255, 255, 0.78);
	border-left: 5px solid #9caf88;
	border-radius: 8px;
	margin: 0;
	padding: 12px 14px;
}

.vmax-about-list p:nth-child(even) {
	border-left-color: #82b5c9;
}

.vmax-about-list p:nth-child(3n) {
	border-left-color: #ffbd59;
}

.vmax-about-cta {
	align-items: center;
	background: var(--vmax-ink);
	border-radius: 14px;
	color: #fff;
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(0, 1fr) auto;
	padding: clamp(24px, 4vw, 38px);
}

.vmax-about-cta h2,
.vmax-about-cta p {
	color: #fff !important;
	margin: 0;
}

.vmax-about-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: flex-end;
}

/* Page Le bureau */
.vmax-office-page {
	display: grid;
	gap: clamp(30px, 5vw, 54px);
}

.vmax-office-hero {
	background:
		linear-gradient(135deg, rgba(82, 102, 70, 0.82), rgba(156, 175, 136, 0.9)),
		#9caf88;
	border-radius: 16px;
	box-shadow: var(--vmax-shadow-soft);
	color: #fff;
	padding: clamp(32px, 6vw, 68px);
}

.vmax-office-hero h1 {
	color: #fff !important;
	font-size: clamp(2.25rem, 5vw, 4rem);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.04;
	margin: 0;
	max-width: 900px;
	text-transform: none;
}

.vmax-office-hero .lead {
	color: rgba(255, 255, 255, 0.94) !important;
	font-size: clamp(1.08rem, 1.8vw, 1.24rem);
	line-height: 1.65;
	margin: 1.25rem 0 0;
	max-width: 860px;
}

.vmax-office-timeline {
	display: grid;
	gap: 18px;
}

.vmax-office-time-item {
	background: #fff;
	border: 1px solid var(--vmax-line);
	border-left: 8px solid #9caf88;
	border-radius: 0 14px 14px 0;
	box-shadow: var(--vmax-shadow-soft);
	display: block;
	padding: clamp(22px, 3vw, 30px);
}

.vmax-office-time-item strong {
	color: var(--vmax-architecture-deep);
	display: block;
	font-size: 1.1rem;
	font-weight: 900;
	margin-bottom: 1.1rem;
}

.vmax-office-time-item h2 {
	color: var(--vmax-ink);
	font-size: clamp(1.35rem, 2.2vw, 1.85rem);
	hyphens: none;
	margin: 0 0 0.5rem;
	max-width: none;
	overflow-wrap: normal;
	word-break: normal;
}

.vmax-office-time-item p {
	max-width: 860px;
	margin: 0;
}

.vmax-office-section {
	background:
		linear-gradient(135deg, rgba(156, 175, 136, 0.18), rgba(255, 255, 255, 0.96)),
		#fff;
	border: 1px solid var(--vmax-line);
	border-radius: 14px;
	padding: clamp(24px, 4vw, 38px);
}

.vmax-office-section h2 {
	color: var(--vmax-ink);
	font-size: clamp(1.8rem, 3vw, 2.5rem);
	hyphens: none;
	line-height: 1.12;
	margin-top: 0;
	max-width: none;
	overflow-wrap: normal;
	word-break: normal;
}

.vmax-team-grid {
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.vmax-team-card {
	background: #fff;
	border: 1px solid var(--vmax-line);
	border-top: 8px solid #9caf88;
	border-radius: 14px;
	box-shadow: var(--vmax-shadow-soft);
	padding: clamp(24px, 4vw, 36px);
}

.vmax-team-card h2 {
	color: var(--vmax-ink);
	font-size: clamp(1.55rem, 2.2vw, 2.15rem);
	hyphens: none;
	line-height: 1.1;
	margin: 0;
	max-width: none;
	overflow-wrap: normal;
	word-break: normal;
}

.vmax-team-card h3 {
	color: var(--vmax-architecture-deep);
	font-size: 1.1rem;
	margin: 0.45rem 0 1rem;
}

.vmax-team-card blockquote {
	border-left: 5px solid #9caf88;
	color: var(--vmax-muted);
	font-size: 1.05rem;
	margin: 1.2rem 0;
	padding-left: 1rem;
}

.vmax-office-duo {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.vmax-office-duo-card {
	background: #fff;
	border: 1px solid var(--vmax-line);
	border-radius: 12px;
	padding: 22px;
}

.vmax-office-cta {
	align-items: center;
	background: var(--vmax-ink);
	border-radius: 14px;
	color: #fff;
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(0, 1fr) auto;
	padding: clamp(24px, 4vw, 38px);
}

.vmax-office-cta h2,
.vmax-office-cta p {
	color: #fff !important;
	margin: 0;
}

.vmax-office-cta .vmax-btn {
	background: #9caf88 !important;
	box-shadow: none !important;
	color: var(--vmax-ink) !important;
}

/* Page pedagogique : Sur la route des questions */
.vmax-knowledge-page {
	display: grid;
	gap: clamp(26px, 4vw, 42px);
	margin: 0 auto;
	max-width: 980px;
}

.vmax-knowledge-hero {
	background:
		linear-gradient(135deg, rgba(156, 175, 136, 0.92), rgba(130, 181, 201, 0.66)),
		#9caf88;
	border-radius: 16px;
	box-shadow: var(--vmax-shadow-soft);
	color: #fff;
	padding: clamp(34px, 6vw, 70px);
}

.vmax-knowledge-hero h1 {
	color: #fff !important;
	font-size: clamp(2.1rem, 4.6vw, 3.8rem);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.05;
	margin: 0;
	text-transform: none;
}

.vmax-knowledge-hero p {
	color: rgba(255, 255, 255, 0.94) !important;
	font-size: clamp(1.05rem, 1.8vw, 1.24rem);
	line-height: 1.65;
	margin: 1rem 0 0;
	max-width: 780px;
}

.vmax-article-list {
	display: grid;
	gap: 20px;
}

.vmax-article-card {
	align-items: stretch;
	background: #fff;
	border: 1px solid var(--vmax-line);
	border-left: 8px solid #9caf88;
	border-radius: 14px;
	box-shadow: var(--vmax-shadow-soft);
	display: grid;
	gap: 24px;
	grid-template-columns: minmax(0, 1fr) auto;
	padding: clamp(24px, 4vw, 34px);
	transition: border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.vmax-article-card:hover {
	border-color: rgba(82, 102, 70, 0.34);
	box-shadow: 0 18px 44px rgba(23, 32, 25, 0.11);
	transform: translateY(-2px);
}

.vmax-article-card.trace {
	border-left-color: #82b5c9;
}

.vmax-article-card.synergie {
	border-left-color: #ffbd59;
}

.vmax-article-card h2 {
	color: var(--vmax-ink);
	font-size: clamp(1.45rem, 2.4vw, 2rem);
	hyphens: none;
	line-height: 1.15;
	margin: 0 0 0.85rem;
	max-width: none;
	overflow-wrap: normal;
	text-transform: none;
	word-break: normal;
}

.vmax-article-card p {
	color: var(--vmax-text);
	font-size: 1.05rem;
	line-height: 1.65;
	margin: 0;
}

.vmax-article-meta {
	color: var(--vmax-architecture-deep);
	display: block;
	font-size: 0.82rem;
	font-weight: 850;
	letter-spacing: 0.12em;
	margin-bottom: 0.75rem;
	text-transform: uppercase;
}

.vmax-article-card.trace .vmax-article-meta {
	color: var(--vmax-trace-deep);
}

.vmax-article-card.synergie .vmax-article-meta {
	color: var(--vmax-synergie-deep);
}

.vmax-article-card .vmax-btn {
	align-self: center;
	background: var(--vmax-ink) !important;
	box-shadow: none !important;
	color: #fff !important;
	white-space: nowrap;
}

.vmax-article-card.trace .vmax-btn {
	background: var(--vmax-trace-deep) !important;
}

.vmax-article-card.synergie .vmax-btn {
	background: var(--vmax-synergie-deep) !important;
}

.vmax-knowledge-cta {
	align-items: center;
	background:
		linear-gradient(135deg, rgba(156, 175, 136, 0.22), rgba(255, 255, 255, 0.96)),
		#fff;
	border: 1px solid var(--vmax-line);
	border-radius: 14px;
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(280px, 0.85fr) minmax(300px, 1.15fr);
	padding: clamp(24px, 4vw, 38px);
}

.vmax-knowledge-cta h2,
.vmax-knowledge-cta p {
	max-width: 440px;
	overflow-wrap: normal;
	word-break: normal;
}

.vmax-knowledge-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: flex-end;
	max-width: 620px;
	width: 100%;
}

.vmax-knowledge-actions .vmax-btn {
	background: var(--vmax-architecture-deep) !important;
	box-shadow: none !important;
	color: #fff !important;
	flex: 1 1 240px;
	text-align: center;
}

.vmax-knowledge-actions .trace {
	background: var(--vmax-trace-deep) !important;
	color: #fff !important;
}

.vmax-knowledge-actions .facebook {
	background: #4267b2 !important;
	color: #fff !important;
}

.vmax-knowledge-actions .vmax-btn:hover,
.vmax-knowledge-actions .vmax-btn:focus {
	background: var(--vmax-ink) !important;
	color: #fff !important;
}

/* Page avis et collaborations */
.vmax-collab-page {
	display: grid;
	gap: clamp(26px, 4vw, 42px);
	margin: 0 auto;
	max-width: 980px;
}

.vmax-collab-hero {
	background:
		linear-gradient(135deg, rgba(156, 175, 136, 0.96), rgba(82, 102, 70, 0.88)),
		#9caf88;
	border-radius: 16px;
	box-shadow: var(--vmax-shadow-soft);
	color: #fff;
	padding: clamp(34px, 6vw, 70px);
}

.vmax-collab-hero h1 {
	color: #fff !important;
	font-size: clamp(2.1rem, 4.6vw, 3.75rem);
	font-weight: 850;
	line-height: 1.05;
	margin: 0;
	text-transform: none;
}

.vmax-collab-hero p {
	color: rgba(255, 255, 255, 0.94) !important;
	font-size: clamp(1.05rem, 1.8vw, 1.24rem);
	line-height: 1.65;
	margin: 1rem 0 0;
	max-width: 820px;
}

.vmax-collab-section {
	background: #fff;
	border: 1px solid var(--vmax-line);
	border-radius: 14px;
	box-shadow: var(--vmax-shadow-soft);
	padding: clamp(24px, 4vw, 38px);
}

.vmax-collab-section h2 {
	color: var(--vmax-ink);
	font-size: clamp(1.65rem, 3vw, 2.45rem);
	hyphens: none;
	line-height: 1.12;
	margin: 0 0 1rem;
	max-width: none;
	overflow-wrap: normal;
	word-break: normal;
}

.vmax-collab-section p {
	font-size: 1.05rem;
	line-height: 1.68;
}

.vmax-collab-links,
.vmax-collab-video-links {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 1.5rem;
}

.vmax-collab-link {
	background: var(--vmax-soft);
	border: 1px solid var(--vmax-line);
	border-radius: 12px;
	box-shadow: none !important;
	color: var(--vmax-ink) !important;
	display: block;
	font-weight: 800;
	padding: 16px 18px;
	text-decoration: none;
	transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.vmax-collab-link:hover,
.vmax-collab-link:focus {
	background: #fff;
	border-color: rgba(82, 102, 70, 0.36);
	transform: translateY(-1px);
}

.vmax-collab-video {
	background:
		linear-gradient(135deg, rgba(130, 181, 201, 0.22), rgba(255, 255, 255, 0.96)),
		#fff;
	border-left: 8px solid #82b5c9;
}

.vmax-collab-video-links .vmax-collab-link {
	border-left: 5px solid #82b5c9;
}

.vmax-testimonial {
	background:
		linear-gradient(135deg, rgba(156, 175, 136, 0.2), rgba(255, 255, 255, 0.96)),
		#fff;
	border-left: 8px solid #9caf88;
}

.vmax-testimonial blockquote {
	border: 0;
	color: var(--vmax-text);
	font-size: clamp(1.05rem, 1.7vw, 1.22rem);
	line-height: 1.72;
	margin: 0;
	padding: 0;
}

.vmax-testimonial blockquote p {
	margin-bottom: 1rem;
}

.vmax-testimonial cite {
	color: var(--vmax-architecture-deep);
	display: block;
	font-style: normal;
	font-weight: 850;
	margin-top: 1.25rem;
}

.vmax-collab-contact {
	align-items: center;
	background: var(--vmax-ink);
	border-radius: 14px;
	color: #fff;
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(0, 1fr) auto;
	padding: clamp(24px, 4vw, 38px);
}

.vmax-collab-contact h2,
.vmax-collab-contact p {
	color: #fff !important;
	margin: 0;
}

.vmax-collab-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: flex-end;
}

.vmax-collab-actions .vmax-btn {
	background: #9caf88 !important;
	box-shadow: none !important;
	color: var(--vmax-ink) !important;
}

.vmax-collab-actions .trace {
	background: #82b5c9 !important;
}

.vmax-collab-actions .facebook {
	background: #4267b2 !important;
	color: #fff !important;
}

/* Articles longs pedagogiques */
.vmax-longread {
	display: grid;
	gap: clamp(24px, 4vw, 38px);
	margin: 0 auto;
	max-width: 920px;
}

.vmax-longread-hero {
	background:
		linear-gradient(135deg, rgba(156, 175, 136, 0.94), rgba(255, 189, 89, 0.5)),
		#9caf88;
	border-radius: 16px;
	box-shadow: var(--vmax-shadow-soft);
	color: #fff;
	padding: clamp(34px, 6vw, 70px);
}

.vmax-longread.trace .vmax-longread-hero {
	background:
		linear-gradient(135deg, rgba(50, 120, 137, 0.96), rgba(130, 181, 201, 0.72)),
		#82b5c9;
}

.vmax-longread-hero h1 {
	color: #fff !important;
	font-size: clamp(2rem, 4.5vw, 3.65rem);
	font-weight: 850;
	hyphens: none;
	line-height: 1.06;
	margin: 0;
	max-width: 820px;
	overflow-wrap: normal;
	text-transform: none;
	word-break: normal;
}

.vmax-longread-hero p {
	color: rgba(255, 255, 255, 0.94) !important;
	font-size: clamp(1.05rem, 1.8vw, 1.22rem);
	line-height: 1.68;
	margin: 1rem 0 0;
	max-width: 780px;
}

.vmax-longread-intro,
.vmax-longread-questions,
.vmax-longread-closing {
	background: #fff;
	border: 1px solid var(--vmax-line);
	border-radius: 14px;
	box-shadow: var(--vmax-shadow-soft);
	padding: clamp(24px, 4vw, 38px);
}

.vmax-longread-intro p,
.vmax-longread-closing p {
	font-size: 1.08rem;
	line-height: 1.72;
	margin-bottom: 0;
}

.vmax-question-list {
	display: grid;
	gap: 16px;
}

.vmax-question-item {
	background:
		linear-gradient(135deg, rgba(156, 175, 136, 0.13), rgba(255, 255, 255, 0.96)),
		#fff;
	border: 1px solid var(--vmax-line);
	border-left: 6px solid #9caf88;
	border-radius: 12px;
	padding: 20px 22px;
}

.vmax-longread.trace .vmax-question-item {
	background:
		linear-gradient(135deg, rgba(130, 181, 201, 0.14), rgba(255, 255, 255, 0.96)),
		#fff;
	border-left-color: #82b5c9;
}

.vmax-question-item h2 {
	color: var(--vmax-ink);
	font-size: clamp(1.2rem, 2vw, 1.48rem);
	hyphens: none;
	line-height: 1.22;
	margin: 0 0 0.75rem;
	max-width: none;
	overflow-wrap: normal;
	text-transform: none;
	word-break: normal;
}

.vmax-question-item p {
	font-size: 1.03rem;
	line-height: 1.66;
	margin: 0;
}

.vmax-longread-tags {
	color: var(--vmax-muted);
	font-size: 0.95rem;
	line-height: 1.7;
	margin-top: 1rem;
}

.vmax-longread-closing {
	background:
		linear-gradient(135deg, rgba(255, 189, 89, 0.18), rgba(255, 255, 255, 0.96)),
		#fff;
}

.vmax-longread.trace .vmax-longread-closing {
	background:
		linear-gradient(135deg, rgba(130, 181, 201, 0.2), rgba(255, 255, 255, 0.96)),
		#fff;
}

.vmax-longread-section {
	background: #fff;
	border: 1px solid var(--vmax-line);
	border-left: 6px solid #9caf88;
	border-radius: 14px;
	box-shadow: var(--vmax-shadow-soft);
	display: grid;
	gap: 18px;
	padding: clamp(24px, 4vw, 38px);
}

.vmax-longread-section h2 {
	color: var(--vmax-ink);
	font-size: clamp(1.45rem, 2.8vw, 2.15rem);
	hyphens: none;
	line-height: 1.14;
	margin: 0;
	max-width: none;
	overflow-wrap: normal;
	text-transform: none;
	word-break: normal;
}

.vmax-longread-section img {
	aspect-ratio: 16 / 9;
	border-radius: 12px;
	box-shadow: var(--vmax-shadow-soft);
	height: auto;
	object-fit: cover;
	width: 100%;
}

.vmax-longread-section p {
	font-size: 1.05rem;
	line-height: 1.68;
	margin: 0;
}

.vmax-longread-section ul {
	display: grid;
	gap: 0.45rem;
	margin: 0 0 0 1.15rem;
}

.vmax-longread-section blockquote {
	background: var(--vmax-soft);
	border-left: 5px solid #9caf88;
	color: var(--vmax-text);
	margin: 0;
	padding: 16px 18px;
}

@media screen and (max-width: 980px) {
	.vmax-realisations-stats,
	.vmax-projects-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.vmax-realisations-intro,
	.vmax-realisations-cta {
		grid-template-columns: 1fr;
	}

	.vmax-project-gallery,
	.vmax-project-gallery-two,
	.vmax-project-gallery-four,
	.vmax-project-gallery-five,
	.vmax-project-story,
	.vmax-project-tech,
	.vmax-project-detail-cta,
	.vmax-trace-grid,
	.vmax-trace-section,
	.vmax-trace-cta,
	.vmax-arch-hub-grid,
	.vmax-arch-hub-cta,
	.vmax-about-grid,
		.vmax-about-section,
		.vmax-about-cta,
		.vmax-office-time-item,
		.vmax-team-grid,
		.vmax-office-duo,
		.vmax-office-cta,
		.vmax-article-card,
		.vmax-knowledge-cta,
		.vmax-collab-links,
		.vmax-collab-video-links,
		.vmax-collab-contact {
		grid-template-columns: 1fr;
	}

	.vmax-project-gallery-five figure,
	.vmax-project-gallery-five figure:nth-child(4),
	.vmax-project-gallery-five figure:nth-child(5) {
		grid-column: auto;
	}

	.vmax-filters {
		position: static;
	}

	.vmax-trace-actions {
		justify-content: flex-start;
	}

	.vmax-about-actions {
		justify-content: flex-start;
	}

	.vmax-knowledge-actions {
		justify-content: flex-start;
	}

	.vmax-collab-actions {
		justify-content: flex-start;
	}
}

@media screen and (max-width: 640px) {
	.vmax-realisations-hero {
		border-radius: 12px;
		padding: 28px 20px;
	}

	.vmax-realisations-stats,
	.vmax-projects-grid {
		grid-template-columns: 1fr;
	}

	.vmax-realisations-stat {
		padding: 16px;
	}

	.vmax-filter-head {
		align-items: flex-start;
		flex-direction: column;
		gap: 6px;
	}
}
