:root {
	--black: #000000;
	--green-dark: #024D25;
	--green-med: #55882C;
	--green-light: #e6ede8;
	--gold: #FFD700;
	--off-white: #F5F5F0;
	--white: #FFFFFF;
	--grey-text: #4a4a4a;
	--color-bg: var(--white);
	--color-surface: var(--white);
	--color-surface-alt: var(--off-white);
	--color-text: var(--black);
	--color-text-muted: rgba(0,0,0,0.55);
	--color-border: #eee;
	--color-accent: #F4C970;
	--color-accent-hover: #e7bd61;
	--font-main: 'Montserrat', sans-serif;
	--fw-regular: 400;
	--fw-medium: 500;
	--fw-semibold: 600;
	--fs-h1: 48px;
	--fs-h2: 32px;
	--fs-h3: 24px;
	--fs-h4: 22px;
	--fs-body-lg: 18px;
	--fs-body: 16px;
	--fs-link: 14px;
	--radius-xs: 2px;
	--radius-sm: 5px;
	--radius-md: 8px;
	--shadow-sm: 0 10px 25px rgba(0,0,0,0.05);
	--shadow-btn: none;
	--section-py: 80px;
	--space-1: 8px;
	--space-2: 12px;
	--space-3: 18px;
	--space-4: 26px;
	--btn-px: 22px;
	--btn-py: 12px;
	--btn-fs: 13px;
	--btn-fw: 700;
	--container: 1200px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

body { font-family: var(--font-main); color: var(--black); background-color: var(--white); line-height: 1.6; font-weight: var(--fw-medium); font-size: var(--fs-body); }

a { text-decoration: none; transition: 0.3s; color: inherit; font-weight: var(--fw-regular); font-size: var(--fs-link); }

h1, h2, h3, h4 { font-family: var(--font-main); font-weight: var(--fw-semibold); text-transform: none; }
h1 { font-size: var(--fs-h1); line-height: 1.15; letter-spacing: -0.6px; }
h2 { font-size: var(--fs-h2); line-height: 1.2; letter-spacing: -0.3px; }
h3 { font-size: var(--fs-h3); line-height: 1.25; }
h4 { font-size: var(--fs-h4); line-height: 1.3; }

img { border-radius: 5px; }

.logo img,
.home-logo-img,
.home-pain-icon { border-radius: 0; }

ul { list-style: none; }

.container { max-width: var(--container); margin: 0 auto; padding: 0 20px; }

.section { padding: var(--section-py) 0; }

.home-section { padding: var(--section-py) 0; }

.home-section.home-pain { background: transparent; }

.home-section.home-personas { background: #F5F5F0; }

.home-section.home-touch { background: transparent; }

.home-section.home-testimonials { background: #F5F5F0; }

.home-testimonials {
	display: none;
}

.home-section.home-faq { background: transparent; }

.text-center { text-align: center; }

.bg-off-white { background-color: var(--off-white); }

.bg-white { background-color: var(--white); }

.text-green { color: var(--green-dark); }

.text-gold { color: var(--gold); }

.btn {
	display: inline-block;
	padding: var(--btn-py) var(--btn-px);
	border-radius: var(--radius-xs);
	font-weight: var(--btn-fw);
	text-transform: none;
	font-size: var(--btn-fs);
	cursor: pointer;
	border: none;
	text-align: center;
}

.btn-primary {
	background-color: #F4C970;
	color: #024D25;
	box-shadow: 0 4px 15px rgba(244, 201, 112, 0.25);
}

.btn-primary:hover { background-color: #e7bd61; transform: translateY(-2px); box-shadow: 0 6px 20px rgba(244, 201, 112, 0.4); }

.btn-outline { border: 1px solid var(--green-dark); color: var(--green-dark); background: transparent; border-radius: var(--radius-xs); padding: var(--btn-py) var(--btn-px); font-size: var(--btn-fs); }
.btn-outline:hover { background: rgba(2,77,37,0.06); }

.btn-full { width: 100%; }

.ds-btn {
	display: inline-block;
	padding: var(--btn-py) var(--btn-px);
	border-radius: var(--radius-xs);
	font-weight: var(--btn-fw);
	text-transform: none;
	font-size: var(--btn-fs);
	cursor: pointer;
	border: none;
	text-align: center;
}

.ds-btn-primary {
	background-color: #F4C970;
	color: #024D25;
	box-shadow: 0 4px 15px rgba(244, 201, 112, 0.25);
}

.ds-btn-primary:hover {
	background-color: #e7bd61;
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(244, 201, 112, 0.4);
}

.ds-btn-outline {
	background: transparent;
	border: 1px solid var(--green-dark);
	color: var(--green-dark);
}

.ds-btn-outline:hover {
	background: rgba(2,77,37,0.06);
}

.ds-link {
	color: var(--green-dark);
	font-weight: 800;
	border-bottom: 2px solid rgba(244, 201, 112, 0.85);
	padding-bottom: 2px;
	width: fit-content;
}

.ds-link:hover {
	border-bottom-color: rgba(244, 201, 112, 1);
}

.ds-card {
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	padding: 30px;
	box-shadow: none;
}

.ds-card-hover:hover {
	border-color: var(--gold);
	box-shadow: var(--shadow-sm);
	transform: translateY(-3px);
}

.ds-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	padding: 6px 12px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	line-height: 1;
	white-space: nowrap;
}

.ds-badge-outline {
	background: transparent;
	border: 1px solid rgba(2, 77, 37, 0.35);
	color: var(--green-dark);
}

.ds-stack {
	display: flex;
	flex-direction: column;
}

.ds-stack-sm { gap: var(--space-2); }
.ds-stack-md { gap: var(--space-3); }
.ds-stack-lg { gap: 32px; }

.ds-row {
	display: flex;
	align-items: center;
	gap: var(--space-3);
}

.ds-row-wrap {
	flex-wrap: wrap;
}

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

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

.ds-grid-4 {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 30px;
}

@media (max-width: 900px) {
	.ds-grid-3 { grid-template-columns: 1fr; }
	.ds-grid-2 { grid-template-columns: 1fr; }
	.ds-grid-4 { grid-template-columns: 1fr; }
}

.ds-form {
	display: grid;
	gap: 18px;
}

.ds-field {
	display: grid;
	gap: 8px;
}

.ds-label {
	font-size: 12px;
	font-weight: 800;
	color: rgba(0,0,0,0.65);
}

.ds-input,
.ds-textarea,
.ds-select {
	width: 100%;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	padding: 12px 14px;
	font-family: var(--font-main);
	font-size: 14px;
	font-weight: 600;
	color: rgba(0,0,0,0.75);
	background: var(--white);
}

.ds-textarea { min-height: 120px; resize: vertical; }

.ds-input:focus,
.ds-textarea:focus,
.ds-select:focus {
	outline: none;
	border-color: rgba(2, 77, 37, 0.45);
	box-shadow: 0 0 0 3px rgba(2, 77, 37, 0.10);
}

.ds-help {
	font-size: 12px;
	color: rgba(0,0,0,0.55);
}

.top-bar { background-color: var(--black); color: var(--white); font-size: 13px; padding: 10px 0; }

.top-bar .container { display: flex; justify-content: flex-end; }

header { padding: 0; border-bottom: none; position: sticky; top: 0; z-index: 100; }

.site-header { background: var(--green-dark); }

.site-header-top {
	background: var(--green-dark);
	color: var(--white);
	border-bottom: 1px solid rgba(255,255,255,0.25);
	max-height: 44px;
	overflow: hidden;
	transition: max-height 0.25s ease, opacity 0.2s ease, transform 0.25s ease;
	opacity: 1;
	transform: translateY(0);
}

body.page-template-templates-page-contact-php .site-header-top {
	transform: none;
}

.site-header.is-top-hidden .site-header-top {
	max-height: 0;
	opacity: 0;
	transform: translateY(-6px);
	border-bottom-color: transparent;
}

body.page-template-templates-page-contact-php .site-header.is-top-hidden .site-header-top {
	transform: none;
}

.site-header-top-flex {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	padding: 10px 0;
	font-size: 13px;
}

.site-header-top-group {
	grid-column: 3;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 18px;
	flex-wrap: nowrap;
	white-space: nowrap;
}

.site-header-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #F8F2A6;
	color: #024D25;
	font-weight: 800;
	letter-spacing: 0.5px;
	font-size: 11px;
	border-radius: 4px;
	padding: 6px 10px;
}

.site-header-icon { display: inline-flex; align-items: center; justify-content: center; }

.site-header-icon svg { display: block; }

.site-header-top-link {
	color: rgba(255,255,255,0.9);
	font-weight: 600;
	font-size: 13px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.site-header-top-link:hover { color: var(--white); text-decoration: underline; }

.site-header-main { background: var(--green-dark); padding: 18px 0; }

.header-flex { display: flex; justify-content: space-between; align-items: center; gap: 20px; }

.logo { display: inline-flex; align-items: center; gap: 12px; white-space: nowrap; }

.logo img { display: block; height: 110px; width: auto; }

.header-actions { display: flex; align-items: center; gap: 12px; }

.header-cta { padding: 12px 22px; font-size: 13px; border-radius: 2px; background: #F4C970; box-shadow: none; width: 197px; text-align: center; }

.header-cta:hover { background: #e7bd61; }

/* Menu: force horizontal regardless of WP classes (menu / page-menu / etc.) */
.nav-menu > ul,
.nav-menu ul.menu,
.nav-menu ul.page-menu,
.nav-menu .menu > ul {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 22px;
	margin: 0;
	padding: 0;
}

.nav-menu { flex: 1; display: flex; justify-content: center; }

.mobile-nav-close { display: none; }

.header-flex { display: flex; justify-content: space-between; align-items: center; gap: 24px; }

.nav-menu > ul > li,
.nav-menu ul.menu > li,
.nav-menu ul.page-menu > li,
.nav-menu .menu > ul > li {
	margin: 0;
	padding: 0;
	position: relative;
	list-style: none;
}

body.page-template-templatespage-a-propos-php .a-propos-promise-title,
body.page-template-page-a-propos-php .a-propos-promise-title {
	color: var(--green-dark);
}

.nav-menu a { font-weight: 700; font-size: 13px; text-transform: uppercase; color: var(--white); padding: 10px 0; display: inline-flex; align-items: center; gap: 8px; }

.nav-menu > ul > li > a:hover,
.nav-menu ul.menu > li > a:hover,
.nav-menu ul.page-menu > li > a:hover { color: rgba(255,255,255,0.85); }

.nav-menu > ul > li.current-menu-item > a,
.nav-menu > ul > li.current-menu-ancestor > a,
.nav-menu ul.menu > li.current-menu-item > a,
.nav-menu ul.menu > li.current-menu-ancestor > a,
.nav-menu ul.page-menu > li.current-menu-item > a,
.nav-menu ul.page-menu > li.current-menu-ancestor > a {
	color: #FFD700;
	position: relative;
}

.nav-menu > ul > li.current-menu-item > a::before,
.nav-menu > ul > li.current-menu-ancestor > a::before,
.nav-menu ul.menu > li.current-menu-item > a::before,
.nav-menu ul.menu > li.current-menu-ancestor > a::before,
.nav-menu ul.page-menu > li.current-menu-item > a::before,
.nav-menu ul.page-menu > li.current-menu-ancestor > a::before {
	content: '';
	position: absolute;
	left: 0;
	bottom: -8px;
	width: 100%;
	height: 2px;
	background: #FFD700;
}

/* Dropdown WP (depth 2) */
.nav-menu li.menu-item-has-children > a::after,
.nav-menu li.page_item_has_children > a::after {
	content: '▾';
	font-size: 12px;
	line-height: 1;
	opacity: 0.9;
	display: inline-block;
	transform: rotate(0deg);
	transition: transform 180ms ease;
}

.nav-menu li.menu-item-has-children:hover > a::after,
.nav-menu li.menu-item-has-children:focus-within > a::after,
.nav-menu li.page_item_has_children:hover > a::after,
.nav-menu li.page_item_has_children:focus-within > a::after {
	transform: rotate(180deg);
}

.nav-menu ul ul {
	display: block;
	position: absolute;
	top: calc(100% + 10px);
	left: 0;
	min-width: 460px;
	background: var(--white);
	border: 1px solid #eee;
	border-radius: 6px;
	box-shadow: 0 12px 30px rgba(0,0,0,0.12);
	padding: 10px;
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: 0.2s;
	z-index: 2000 !important;
}

.nav-menu .sub-menu {
	display: block;
}

.nav-menu li > a[href*="/nos-expertises/"] + ul.sub-menu {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2px;
}

.nav-menu li:hover > ul,
.nav-menu li:focus-within > ul {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.nav-menu .sub-menu li { margin: 0; }

.nav-menu .sub-menu a {
	color: var(--green-dark);
	font-weight: 700;
	text-transform: none;
	font-size: 13px;
	padding: 10px 12px;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-radius: 4px;
}

.nav-menu .sub-menu a::after {
	content: '→';
	color: rgba(2,77,37,0.6);
	font-weight: 800;
}

.nav-menu .sub-menu a:hover { background: var(--off-white); }

@media (max-width: 900px) {
	.nav-menu ul ul { min-width: 260px; }
	.nav-menu li > a[href*="/nos-expertises/"] + ul.sub-menu { grid-template-columns: 1fr; }
}

.site-footer {
	background: var(--off-white);
	color: rgba(0,0,0,0.55);
	border-top: 2px solid rgba(244, 201, 112, 0.65);
	padding: 56px 0 28px;
}

.site-footer-grid {
	display: grid;
	grid-template-columns: 1.3fr 0.8fr 0.8fr 0.9fr auto;
	gap: 40px;
	align-items: start;
}

.site-footer-logo {
	width: 140px;
	height: 144px;
	object-fit: contain;
	border-radius: 0;
	display: block;
	margin-bottom: 18px;
}

.site-footer-desc {
	max-width: 260px;
	font-size: 12px;
	line-height: 1.7;
}

.site-footer-title {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: rgba(0,0,0,0.65);
	margin-bottom: 14px;
}

.site-footer-col {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.site-footer-link {
	font-size: 12px;
	font-weight: 600;
	color: rgba(0,0,0,0.55);
	width: fit-content;
}

.site-footer-link:hover {
	color: rgba(0,0,0,0.75);
	text-decoration: underline;
}

.site-footer-cta {
	display: flex;
	justify-content: flex-end;
	align-items: flex-start;
}

.site-footer-cta .btn-primary {
	padding: 12px 22px;
	font-size: 13px;
	border-radius: 2px;
	background: #F4C970;
	box-shadow: none;
	white-space: nowrap;
}

.site-footer-cta .btn-primary:hover {
	background: #e7bd61;
	transform: none;
	box-shadow: none;
}

.site-footer-bottom {
	margin-top: 40px;
	padding-top: 18px;
	border-top: 2px solid rgba(244, 201, 112, 0.65);
}

.site-footer-copy {
	font-size: 11px;
	color: rgba(0,0,0,0.55);
}

@media (max-width: 1024px) {
	.site-footer-grid {
		grid-template-columns: 1fr 1fr;
	}
	.site-footer-cta {
		grid-column: 1 / -1;
		justify-content: center;
		margin-top: 10px;
	}
}

@media (max-width: 768px) {
	.site-header-top-flex {
		grid-template-columns: 1fr;
		gap: 10px;
	}
	.site-header-top-group {
		grid-column: 1;
		flex-wrap: wrap;
		justify-content: center;
		gap: 12px;
		white-space: normal;
		padding: 10px 0;
	}
	.site-header-top-link {
		font-size: 12px;
	}
	.site-header-badge {
		font-size: 11px;
		padding: 5px 9px;
	}

	.site-header-main {
		padding: 14px 0;
	}
	.header-flex {
		justify-content: space-between;
		align-items: center;
		gap: 12px;
	}
	.logo {
		order: 1;
	}
	.header-burger {
		order: 2;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		border: 1px solid rgba(0,0,0,0.14);
		border-radius: 10px;
		background: rgba(255,255,255,0.7);
		color: rgba(0,0,0,0.9);
		padding: 0;
		cursor: pointer;
	}
	.header-burger-lines {
		position: relative;
		display: block;
		width: 20px;
		height: 2px;
		background: currentColor;
	}
	.header-burger-lines::before,
	.header-burger-lines::after {
		content: '';
		position: absolute;
		left: 0;
		width: 20px;
		height: 2px;
		background: currentColor;
	}
	.header-burger-lines::before { top: -6px; }
	.header-burger-lines::after { top: 6px; }

	.nav-menu {
		display: none;
		flex: 0 0 100%;
		order: 3;
		padding-top: 10px;
	}
	.nav-menu.is-open {
		display: flex;
	}
	.nav-menu > ul,
	.nav-menu ul.menu,
	.nav-menu ul.page-menu,
	.nav-menu .menu > ul {
		width: 100%;
		justify-content: flex-start;
		gap: 10px;
		flex-wrap: nowrap;
		flex-direction: column;
	}
	.header-actions {
		width: 100%;
		justify-content: center;
		order: 4;
	}
	.header-cta {
		width: 100%;
		max-width: 340px;
	}

	body.has-mobile-nav-open {
		overflow: hidden;
	}

	.mobile-nav-overlay {
		position: fixed;
		inset: 0;
		display: none;
		background: rgba(0,0,0,0.45);
		opacity: 0;
		pointer-events: none;
		transition: opacity 200ms ease;
		z-index: 2998;
	}
	body.has-mobile-nav-open .mobile-nav-overlay {
		display: none;
		opacity: 0;
		pointer-events: none;
	}

	.nav-menu {
		order: 3;
		position: fixed;
		top: 0;
		right: 0;
		height: 100vh;
		width: 100vw;
		background: var(--green-dark);
		z-index: 2999;
		transform: translateX(100%);
		transition: transform 240ms ease;
		padding: 92px 22px 22px;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
		display: flex;
		flex-direction: column;
	}
	.nav-menu.is-open {
		transform: translateX(0);
	}

	.nav-menu > ul,
	.nav-menu ul.menu,
	.nav-menu ul.page-menu,
	.nav-menu .menu > ul {
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 18px;
		flex: 1 1 auto;
		align-items: center;
	}
	.nav-menu a {
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 12px 10px;
		border-radius: 0;
		color: rgba(255,255,255,0.92);
		font-weight: 700;
		letter-spacing: 0.6px;
		text-transform: uppercase;
		font-size: 18px;
	}
	.nav-menu a:hover {
		background: transparent;
	}
	.nav-menu li {
		width: 100%;
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	.nav-menu li > a {
		width: 100%;
		justify-content: center;
		gap: 10px;
	}
	.nav-menu .current-menu-item > a,
	.nav-menu .current_page_item > a {
		position: relative;
		justify-content: center;
		text-align: center;
		padding-bottom: 14px;
	}
	.nav-menu .current-menu-item > a::before,
	.nav-menu .current_page_item > a::before {
		content: none !important;
	}
	.nav-menu .current-menu-item > a::after,
	.nav-menu .current_page_item > a::after {
		content: '';
		position: absolute;
		left: 50%;
		bottom: 4px;
		transform: translateX(-50%);
		display: block;
		width: 74px;
		height: 2px;
		background: #F4C970;
		margin: 0;
	}

	.mobile-nav-close {
		display: block;
		position: absolute;
		top: 18px;
		right: 18px;
		width: 52px;
		height: 52px;
		border: none;
		background: transparent;
		color: rgba(255,255,255,0.9);
		font-size: 44px;
		line-height: 1;
		cursor: pointer;
	}
	.mobile-nav-close span {
		display: block;
		transform: translateY(-2px);
	}

	.nav-menu ul ul {
		position: static;
		display: none !important;
		opacity: 1;
		visibility: visible;
		transform: none;
		box-shadow: none;
		border: none;
		background: transparent;
		padding-left: 0;
		padding-top: 10px;
		margin: 0;
		gap: 10px;
		max-height: 0;
		overflow: hidden;
		opacity: 0;
		transition: max-height 220ms ease, opacity 180ms ease;
	}
	.nav-menu li.is-sub-open > ul {
		display: flex !important;
		flex-direction: column;
		align-items: center;
		max-height: 60vh;
		opacity: 1;
	}
	.nav-menu .sub-menu a {
		white-space: normal;
		padding: 8px 10px;
		font-size: 16px;
		font-weight: 600;
		text-transform: none;
		letter-spacing: 0;
		color: rgba(255,255,255,0.9) !important;
	}
	.nav-menu .sub-menu {
		width: 100%;
	}
	.nav-menu .sub-menu a::after {
		content: none;
	}
	.nav-menu li.menu-item-has-children > a::after,
	.nav-menu li.page_item_has_children > a::after {
		content: '▾';
		font-size: 14px;
		line-height: 1;
		opacity: 0.95;
		display: inline-block;
		transform: rotate(0deg);
		transition: transform 180ms ease;
		color: rgba(255,255,255,0.9);
		margin-left: 10px;
	}
	.nav-menu li.is-sub-open > a::after {
		transform: rotate(180deg);
	}

}

.submenu-toggle { display: none; }

@media (max-width: 768px) {
	.header-actions {
		display: none;
	}
}
.accompagnement-link-card-link {
	text-decoration: none;
	color: inherit;
	display: block;
}

.accompagnement-link-card-link .ds-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.accompagnement-link-arrow {
	display: inline-block;
}

@keyframes hemera-arrow-wiggle {
	0% { transform: translateX(0); }
	50% { transform: translateX(6px); }
	100% { transform: translateX(0); }
}

.accompagnement-link-card-link:hover .accompagnement-link-arrow,
.accompagnement-link-card-link:focus-visible .accompagnement-link-arrow {
	animation: hemera-arrow-wiggle 700ms ease-in-out infinite;
}

.mobile-nav-cta {
	display: block;
	margin-top: auto;
	padding: 18px 0 0;
	border-radius: 0;
	background: transparent;
}

.mobile-nav-cta .btn {
	display: block;
	width: 100%;
	max-width: 360px;
	margin: 0 auto;
	text-align: center;
	background: #F4C970;
	border-color: #F4C970;
	color: rgba(2,77,37,0.95);
	font-weight: 800;
	padding: 18px 18px;
	border-radius: 0;
}

@media (min-width: 769px) {
	.mobile-nav-cta {
		display: none;
	}
}

@media (max-width: 600px) {
	.site-footer {
		padding: 44px 0 24px;
	}
	.site-footer-grid {
		grid-template-columns: 1fr;
		gap: 26px;
	}
	.site-footer-desc {
		max-width: none;
	}
	.site-footer-cta {
		justify-content: flex-start;
	}
	.site-footer-cta .btn-primary {
		width: 100%;
		text-align: center;
	}
}

.pack-hero {
	padding: 80px 0;
	background: linear-gradient(135deg, var(--green-dark) 0%, #003319 100%);
	color: var(--white);
	position: relative;
	overflow: hidden;
}

.pack-hero::after {
	content: '';
	position: absolute;
	bottom: -10px;
	right: -10px;
	width: 1040px;
	height: 720px;
	background-image: url('../img/world_map.png');
	background-repeat: no-repeat;
	background-position: bottom right;
	background-size: contain;
	opacity: 0.18;
	pointer-events: none;
}

.hero-content { position: relative; z-index: 2; text-align: center; max-width: 800px; margin: 0 auto; }

.tag-hero { background: #F8F2A6; color: #024D25; padding: 7px 16px; font-weight: 800; font-size: 12px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 20px; }

.pack-hero h1 { font-size: var(--fs-h1); margin-bottom: 18px; line-height: 1.15; font-weight: var(--fw-semibold); }

.pack-hero p { font-size: 20px; opacity: 0.9; margin-bottom: 34px; font-weight: 300; }

.pack-hero-actions {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

.pack-hero .btn.btn-primary {
	background: #F4C970;
	border-color: #F4C970;
	color: rgba(2,77,37,0.95);
	font-weight: 800;
}

.pack-hero .btn.btn-primary:hover {
	filter: brightness(0.95);
}

.pack-hero-proof {
	margin: 0;
	font-size: 14px;
	opacity: 0.85;
}

.accompagnement-assistant-grid {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: 46px;
	align-items: center;
}

.accompagnement-assistant-content h2 {
	margin: 0 0 18px;
}

.accompagnement-assistant-content p {
	margin: 0 0 14px;
	color: rgba(0,0,0,0.55);
	max-width: 75ch;
}

.accompagnement-assistant-media img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 8px;
	box-shadow: 0 18px 40px rgba(0,0,0,0.12);
}

.accompagnement-benefits-head {
	max-width: 92ch;
	margin: 0 auto 28px;
}

.accompagnement-benefits-head h2 {
	color: var(--green-dark);
	padding-bottom: 20px;
}

.accompagnement-benefits-head p {
	color: rgba(0,0,0,0.55);
	margin: 0;
}

.accompagnement-benefits-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 14px;
}

.accompagnement-benefit {
	background: var(--white);
	border: 1px solid rgba(0,0,0,0.10);
	border-radius: 8px;
	padding: 18px 16px;
	text-align: center;
	font-weight: 800;
	letter-spacing: 0.6px;
	color: var(--green-dark);
	text-transform: uppercase;
}

.accompagnement-formulas-head {
	max-width: 920px;
	margin: 0 auto 46px;
}

.page-template-page-offre-partenaire-php .accompagnement-formulas {
	padding-bottom: 0px;
}

.accompagnement-formulas-head h2 {
	text-transform: uppercase;
	letter-spacing: 0.6px;
}

.accompagnement-formulas-head p {
	max-width: 72ch;
	margin: 10px auto 0;
	color: rgba(0,0,0,0.65);
}

.accompagnement-sur-mesure-head {
	margin-bottom: 28px;
}

.accompagnement-sur-mesure-card {
	text-align: left;
}

.accompagnement-sur-mesure-icon {
	width: 34px;
	height: 34px;
	margin: 0 0 14px;
	background-image: url("../img/pattern_etoile.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.accompagnement-tips-head {
	margin-bottom: 28px;
}

.accompagnement-tips-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	max-width: 980px;
	margin: 0 auto;
}

.accompagnement-tips-card {
	text-align: left;
}

.accompagnement-tips-card h3 {
	margin: 0 0 12px;
	color: rgba(0,0,0,0.85);
}

.accompagnement-tips-list {
	margin: 0;
	padding: 0;
	display: grid;
	gap: 10px;
}

.accompagnement-tips-list li {
	position: relative;
	padding-left: 18px;
	color: rgba(0,0,0,0.65);
}

.accompagnement-tips-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: #F4C970;
}

.accompagnement-growth-head {
	max-width: 980px;
	margin: 0 auto 28px;
}

.accompagnement-growth-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 26px;
	align-items: center;
}

.accompagnement-growth-media img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 8px;
	box-shadow: 0 18px 40px rgba(0,0,0,0.12);
}

.accompagnement-growth-left h3 {
	margin: 0 0 14px;
	color: rgba(0,0,0,0.85);
}

.accompagnement-growth-left p {
	margin: 0 0 14px;
	color: rgba(0,0,0,0.55);
	max-width: 70ch;
}

.accompagnement-growth-list {
	margin: 0;
	padding: 0;
	display: grid;
	gap: 10px;
}

.accompagnement-growth-list li {
	position: relative;
	padding-left: 18px;
	color: rgba(0,0,0,0.65);
}

.accompagnement-growth-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: #F4C970;
}

.accompagnement-growth-card {
	padding: 24px;
}

.accompagnement-growth-highlight {
	margin: 0 0 10px;
	color: rgba(0,0,0,0.85);
	font-weight: 800;
}

.accompagnement-growth-muted {
	margin: 0 0 14px;
	color: rgba(0,0,0,0.55);
}

.accompagnement-growth-steps {
	margin: 0;
	padding: 0;
	display: grid;
	gap: 10px;
}

.accompagnement-growth-steps li {
	position: relative;
	padding-left: 18px;
	font-weight: 400;
	letter-spacing: 0;
	color: var(--green-dark);
	text-transform: none;
}

.accompagnement-growth-steps li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: #F4C970;
}

.accompagnement-formulas-cta-box {
	background: var(--white);
	border-radius: 8px;
	padding: 40px;
}

.accompagnement-formula-card {
	text-align: center;
	padding: 34px 26px;
	box-shadow: none;
}

.accompagnement-formula-card h3 {
	margin: 0;
	color: rgba(0,0,0,0.85);
	font-size: 16px;
}

.accompagnement-formula-card p {
	margin: 10px auto 0;
	max-width: 34ch;
	font-size: 13px;
	color: rgba(0,0,0,0.55);
}

.accompagnement-formula-dot {
	width: 44px;
	height: 44px;
	border-radius: 999px;
	background: #F4C970;
	margin: 0 auto 18px;
}

.accompagnement-experts-grid {
	margin-top: 34px;
}

.accompagnement-expert-card {
	text-align: center;
	padding: 26px 22px;
	box-shadow: none;
}

.accompagnement-expert-card h3 {
	margin: 0 0 10px;
	color: var(--green-dark);
	font-size: 15px;
}

.accompagnement-expert-role {
	margin: 0 0 14px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.4px;
	color: rgba(0,0,0,0.8);
}

.accompagnement-expert-card p {
	margin: 8px 0 0;
	font-size: 12px;
	color: rgba(0,0,0,0.55);
}

.accompagnement-formulas-cta {
	margin-top: 34px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

.accompagnement-externalisation-label {
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: var(--green-dark);
	margin-bottom: 42px;
}

.accompagnement-externalisation-grid {
	align-items: center;
}

.accompagnement-externalisation-left h2 {
	margin: 0 0 18px;
	color: rgba(0,0,0,0.8);
	font-size: 44px;
	line-height: 1.05;
	letter-spacing: -0.6px;
}

.accompagnement-externalisation-left p {
	margin: 0;
	max-width: 52ch;
	color: rgba(0,0,0,0.55);
	font-size: 14px;
}

.accompagnement-externalisation-cta {
	margin-top: 28px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

.accompagnement-externalisation-card {
	padding: 0;
	overflow: hidden;
}

.accompagnement-externalisation-item {
	padding: 18px 22px;
}

.accompagnement-externalisation-item + .accompagnement-externalisation-item {
	border-top: 1px solid rgba(0,0,0,0.08);
}

.accompagnement-externalisation-title {
	font-weight: 800;
	color: var(--green-dark);
	font-size: 14px;
}

.accompagnement-externalisation-text {
	margin-top: 8px;
	font-size: 13px;
	color: rgba(0,0,0,0.55);
}

@media (max-width: 900px) {
	.accompagnement-externalisation-left h2 { font-size: 34px; }
	.accompagnement-externalisation-label { margin-bottom: 26px; }
	.accompagnement-externalisation-card { margin-top: 22px; }
}

.accompagnement-dev-grid {
	align-items: center;
}

.accompagnement-dev-media img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 10px;
	box-shadow: 0 18px 40px rgba(0,0,0,0.12);
}

.accompagnement-dev-content h2 {
	margin: 0 0 18px;
	color: var(--green-dark);
	font-size: 40px;
	line-height: 1.1;
}

.accompagnement-dev-content p {
	margin: 0 0 18px;
	color: rgba(0,0,0,0.55);
	font-size: 14px;
	max-width: 65ch;
}

.accompagnement-dev-list {
	margin: 0;
	padding: 0;
	display: grid;
	gap: 14px;
}

.accompagnement-dev-list li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	color: rgba(0,0,0,0.6);
	font-size: 14px;
}

.accompagnement-dev-check {
	color: #F4C970;
	font-weight: 800;
	line-height: 1.2;
}

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

@media (max-width: 900px) {
	.accompagnement-links {
		grid-template-columns: 1fr;
	}
}

.accompagnement-link-card {
	text-align: left;
}

.accompagnement-link-head {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 12px;
}

.accompagnement-link-icon {
	width: 46px;
	height: 46px;
	object-fit: contain;
	border-radius: 0;
	flex: none;
}

.accompagnement-link-title {
	margin: 0;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	color: var(--green-dark);
}

.accompagnement-link-text {
	margin: 0 0 14px;
	color: rgba(0,0,0,0.55);
	font-size: 13px;
}

.partenaire-profiles-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 18px;
	margin-bottom: 42px;
}

.partenaire-profile-card {
	background: var(--white);
	border: 1px solid rgba(0,0,0,0.08);
	border-radius: 6px;
	padding: 22px 18px;
	text-align: center;
}

.partenaire-profile-dot {
	width: 34px;
	height: 34px;
	border-radius: 999px;
	background: #F4C970;
	margin: 0 auto 14px;
}

.partenaire-profile-title {
	font-size: 13px;
	font-weight: 600;
	color: rgba(0,0,0,0.7);
}

.partenaire-intro-grid {
	align-items: center;
}

.partenaire-intro-content h2 {
	margin: 0 0 18px;
	color: var(--green-dark);
	font-size: 30px;
	line-height: 1.15;
	text-transform: uppercase;
	letter-spacing: 0.6px;
}

.partenaire-intro-content p {
	margin: 0 0 14px;
	font-size: 14px;
	color: rgba(0,0,0,0.55);
	max-width: 70ch;
}

.partenaire-intro-content p strong {
	color: rgba(0,0,0,0.75);
}

.partenaire-intro-cta {
	margin-top: 18px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}

.partenaire-intro-media img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 10px;
	box-shadow: 0 18px 40px rgba(0,0,0,0.12);
}

.partenaire-case-head {
	max-width: 920px;
	margin: 0 auto 46px;
}

.partenaire-case-head .tag-hero {
	margin-bottom: 16px;
}

.partenaire-case-head h2 {
	margin: 0 0 14px;
	text-transform: uppercase;
	letter-spacing: 0.6px;
}

.partenaire-case-head p {
	margin: 0;
	color: rgba(0,0,0,0.55);
	font-size: 14px;
}

.partenaire-case-grid {
	align-items: start;
}

.partenaire-case-block {
	padding: 18px 0;
}

.partenaire-case-block + .partenaire-case-block {
	border-top: 1px solid rgba(0,0,0,0.08);
}

.partenaire-case-block h3 {
	margin: 0 0 10px;
	color: var(--green-dark);
	font-size: 15px;
}

.partenaire-case-block p {
	margin: 0;
	color: rgba(0,0,0,0.55);
	font-size: 13px;
}

.partenaire-case-quote {
	padding: 22px 22px 18px;
}

.partenaire-case-quote-text {
	margin: 0;
	color: rgba(0,0,0,0.6);
	font-size: 13px;
	line-height: 1.7;
}

.partenaire-case-metrics {
	margin-top: 18px;
	padding: 14px 0;
	border-top: 1px solid rgba(0,0,0,0.08);
	border-bottom: 1px solid rgba(0,0,0,0.08);
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	text-align: center;
}

.partenaire-case-metric-value {
	font-weight: 800;
	color: var(--green-dark);
	font-size: 16px;
}

.partenaire-case-metric-label {
	margin-top: 6px;
	font-size: 12px;
	color: rgba(0,0,0,0.55);
}

.partenaire-case-author {
	margin-top: 16px;
}

.partenaire-case-author-name {
	font-weight: 700;
	color: rgba(0,0,0,0.75);
}

.partenaire-case-author-role,
.partenaire-case-author-org {
	margin-top: 6px;
	font-size: 12px;
	color: rgba(0,0,0,0.55);
}

.partenaire-case-cta {
	margin-top: 34px;
	display: flex;
	justify-content: center;
}

.partenaire-eu-head {
	max-width: 920px;
	margin: 0 auto 42px;
}

.partenaire-eu-head .tag-hero {
	margin-bottom: 14px;
}

.partenaire-eu-head h2 {
	margin: 0;
	text-transform: uppercase;
	letter-spacing: 0.6px;
}

.partenaire-eu-row {
	align-items: center;
	margin-top: 26px;
}

.partenaire-eu-media img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 10px;
	box-shadow: 0 18px 40px rgba(0,0,0,0.12);
}

.partenaire-eu-content h3 {
	margin: 0 0 12px;
	color: var(--green-dark);
	font-size: 18px;
}

.partenaire-eu-content p {
	margin: 0 0 16px;
	color: rgba(0,0,0,0.55);
	font-size: 13px;
	max-width: 70ch;
}

.partenaire-eu-list {
	margin: 0;
	padding: 0;
	display: grid;
	gap: 12px;
}

.partenaire-eu-list li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 13px;
	color: rgba(0,0,0,0.6);
}

.partenaire-eu-check {
	color: #F4C970;
	font-weight: 800;
	line-height: 1.2;
}

@media (max-width: 900px) {
	.partenaire-eu-row { margin-top: 18px; }
	.partenaire-eu-row--alt .partenaire-eu-media { order: 2; }
}

@media (max-width: 900px) {
	.partenaire-profiles-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.partenaire-intro-cta { align-items: center; }
}

@media (max-width: 900px) {
	.accompagnement-dev-content h2 { font-size: 30px; }
	.accompagnement-assistant-grid { grid-template-columns: 1fr; }
	.accompagnement-benefits-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.accompagnement-growth-grid { grid-template-columns: 1fr; }
	.accompagnement-formulas-cta-box { padding: 22px; }
}

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

.pain-points-section { padding: 60px 0; background: #F5F5F0; }

.pain-points { padding: 0; }

.pp-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; margin-top: 40px; }

.pain-points-section .pp-item {
	text-align: center;
	padding: 26px 22px;
	background: var(--white);
	border: 1px solid rgba(0,0,0,0.10);
	border-radius: 8px;
}

.pack-what-list {
	display: grid;
	gap: 18px;
	max-width: 920px;
	margin: 0 auto;
}

.pack-what-item {
	display: grid;
	grid-template-columns: 64px 1fr;
	gap: 18px;
	align-items: center;
	background: #F7F7F2;
	border: 1px solid rgba(0,0,0,0.06);
	border-radius: 8px;
	padding: 18px 22px;
}

.pack-what-number {
	width: 56px;
	height: 56px;
	border-radius: 999px;
	background: #F8F2A6;
	color: var(--green-dark);
	font-weight: 800;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
}

.pack-what-content h3 {
	margin: 0 0 8px;
	color: var(--green-dark);
	font-size: 16px;
}

.pack-what-content p {
	margin: 0;
	color: rgba(0,0,0,0.55);
	font-size: 13px;
	line-height: 1.6;
}

.pack-fit-grid {
	align-items: start;
}

.pack-fit-left h2 {
	margin: 0 0 18px;
}

.pack-fit-list {
	margin: 0;
	padding: 0;
	display: grid;
	gap: 14px;
}

.pack-fit-list li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 13px;
	color: rgba(0,0,0,0.6);
}

.pack-fit-check {
	color: #F4C970;
	font-weight: 800;
	line-height: 1.2;
}

.pack-fit-card {
	background: var(--white);
	border: 1px solid rgba(0,0,0,0.08);
	border-radius: 8px;
	padding: 22px;
}

.pack-fit-card-title {
	font-weight: 700;
	color: rgba(0,0,0,0.65);
	margin-bottom: 14px;
}

.pack-fit-no {
	margin: 0;
	padding: 0;
	display: grid;
	gap: 14px;
}
.pack-fit-no li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 14px;
	line-height: 1.6;
	color: rgba(0,0,0,0.6);
}

.pack-fit-cross {
	color: #D83B32;
	font-weight: 900;
	line-height: 1.2;
}

.page-template-page-pack-demarrage-php .pack-fit {
	display: none;
}

.page-template-page-pack-demarrage-php .pricing-section {
	display: none !important;
}

.page-template-page-pack-demarrage-php #pricing {
	display: none !important;
}

.expertises-grid {
	padding-top: 70px;
	padding-bottom: 70px;
}

.expertise-card {
	text-align: center;
	padding: 26px 22px;
}

.expertise-dot {
	width: 44px;
	height: 44px;
	border-radius: 999px;
	background: #F8F2A6;
	margin: 0 auto 16px;
}

.expertise-card h3 {
	margin: 0 0 10px;
	color: rgba(0,0,0,0.7);
	font-size: 16px;
}

.expertise-card p {
	margin: 0 0 16px;
	color: rgba(0,0,0,0.55);
	font-size: 13px;
	line-height: 1.6;
	max-width: 300px;
	margin-left: auto;
	margin-right: auto;
}

.expertise-card .btn-outline {
	justify-content: center;
	width: 300px;
	max-width: 100%;
	margin: 0 auto;
}

.expertises-core-head {
	max-width: 920px;
	margin: 0 auto 42px;
}

.expertises-core-head p {
	margin: 10px 0 0;
	color: rgba(0,0,0,0.55);
	font-size: 14px;
}

.expertises-core-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	margin: 0 auto;
	max-width: 980px;
}

.expertises-core-item {
	padding: 18px 26px;
}

.expertises-core-item + .expertises-core-item {
	border-left: 2px solid rgba(2,77,37,0.35);
}

.expertises-core-item h3 {
	margin: 0 0 10px;
	color: rgba(0,0,0,0.7);
	font-size: 15px;
}

.expertises-core-item p {
	margin: 0;
	color: rgba(0,0,0,0.55);
	font-size: 13px;
	line-height: 1.6;
}

.expertises-core-cta {
	margin-top: 30px;
	display: flex;
	justify-content: center;
}

.expertises-core-cta .btn-outline {
	width: 300px;
	justify-content: center;
}

@media (max-width: 900px) {
	.expertises-core-grid { grid-template-columns: 1fr; }
	.expertises-core-item + .expertises-core-item { border-left: 0; border-top: 1px solid rgba(0,0,0,0.08); }
}

.expertises-facts-head {
	max-width: 920px;
	margin: 0 auto 34px;
}

.expertises-facts-head p {
	margin: 10px 0 0;
	color: rgba(0,0,0,0.55);
	font-size: 14px;
}

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

.expertises-fact-card {
	position: relative;
	background: var(--white);
	border: 1px solid rgba(0,0,0,0.08);
	border-radius: 8px;
	padding: 18px;
}

.expertises-fact-card h3 {
	margin: 0 0 10px;
	font-size: 14px;
	font-weight: 700;
	color: rgba(0,0,0,0.75);
}

.expertises-fact-card p {
	margin: 0 0 10px;
	color: rgba(0,0,0,0.55);
	font-size: 12px;
	line-height: 1.6;
}

.expertises-fact-card p:last-child { margin-bottom: 0; }

.expertises-fact-tag {
	position: absolute;
	top: 14px;
	right: 14px;
	background: #F8F2A6;
	color: var(--green-dark);
	font-weight: 800;
	font-size: 10px;
	letter-spacing: 0.6px;
	padding: 6px 10px;
	border-radius: 3px;
	text-transform: uppercase;
}

.expertises-fact-card--wide {
	grid-column: span 2;
}

.expertises-fact-card--tall {
	grid-row: span 2;
}

@media (max-width: 900px) {
	.expertises-facts-grid { grid-template-columns: 1fr; }
	.expertises-fact-card--wide { grid-column: auto; }
	.expertises-fact-card--tall { grid-row: auto; }
}

.expertises-kpis {
	background: var(--white);
	padding: 36px 24px;
	border-bottom: 2px solid #F5F5F0;
}

.expertises-kpis-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	text-align: center;
}

.expertises-kpi-value {
	font-size: 32px;
	font-weight: 800;
	color: var(--green-dark);
	line-height: 1.1;
}

.expertises-kpi-label {
	margin-top: 8px;
	font-size: 13px;
	color: rgba(0,0,0,0.55);
	font-weight: 500;
}

.expertises-sectors-head {
	max-width: 920px;
	margin: 0 auto 26px;
}

.expertises-sectors-head p {
	margin: 10px 0 0;
	color: rgba(0,0,0,0.55);
	font-size: 14px;
}

.expertises-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: center;
	margin-bottom: 34px;
}

.expertises-filter-btn {
	padding: 8px 20px;
	border-radius: 30px;
	border: 2px solid var(--green-dark);
	background: transparent;
	color: var(--green-dark);
	font-weight: 600;
	font-size: 13px;
	cursor: pointer;
	font-family: inherit;
	transition: all .2s;
}

.expertises-filter-btn.is-active {
	background: var(--green-dark);
	color: var(--white);
}

.expertises-sectors-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.expertises-sector-card {
	text-decoration: none;
	color: inherit;
	padding: 22px;
}

.expertises-sector-icon {
	width: 44px;
	height: 44px;
	border-radius: 999px;
	background: #F8F2A6;
	display: grid;
	place-items: center;
	margin-bottom: 14px;
	font-size: 20px;
}

.expertises-sector-card h3 {
	margin: 0 0 10px;
	font-size: 16px;
	font-weight: 700;
	color: rgba(0,0,0,0.75);
}

.expertises-sector-card p {
	margin: 0 0 14px;
	font-size: 13px;
	line-height: 1.6;
	color: rgba(0,0,0,0.55);
}

.expertises-sector-arrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--green-dark);
	font-weight: 700;
	font-size: 13px;
}

.expertises-sector-card[hidden] { display: none !important; }

@media (max-width: 900px) {
	.expertises-kpis-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.expertises-sectors-grid { grid-template-columns: 1fr; }
}

.why-hemera-hero {
	padding-bottom: 130px;
}

.why-hemera-cards {
	margin-top: -110px;
	padding-top: 0;
}

.why-hemera-card {
	text-align: center;
	padding: 26px 22px;
	min-height: 180px;
	border-color: var(--gold);
	box-shadow: var(--shadow-sm);
	transform: translateY(-3px);
}

.why-hemera-dot {
	width: 44px;
	height: 44px;
	margin: 0 auto 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--green-dark);
}

.why-hemera-dot-icon {
	width: 44px;
	height: 44px;
	display: block;
	object-fit: contain;
}

.why-hemera-card h3 {
	margin: 0 0 10px;
	color: var(--green-dark);
	font-size: 16px;
}

.why-hemera-card p {
	margin: 0;
	color: rgba(0,0,0,0.55);
	font-size: 13px;
	line-height: 1.6;
	max-width: 280px;
	margin-left: auto;
	margin-right: auto;
}

@media (max-width: 900px) {
	.why-hemera-hero { padding-bottom: 80px; }
	.why-hemera-cards { margin-top: -60px; }
}

.why-hemera-story-grid {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: 44px;
	align-items: center;
}

.why-hemera-story-content h2 {
	margin: 0 0 18px;
	font-size: 18px;
	letter-spacing: 0.6px;
}

.why-hemera-story-content p {
	margin: 0 0 16px;
	color: rgba(0,0,0,0.55);
	font-size: 14px;
	line-height: 1.7;
	max-width: 560px;
}

.why-hemera-story-content p:last-child { margin-bottom: 0; }

.why-hemera-story-media img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 10px;
}

@media (max-width: 900px) {
	.why-hemera-story-grid { grid-template-columns: 1fr; gap: 24px; }
}

.why-hemera-method-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	align-items: stretch;
}

.why-hemera-method-panel {
	border-radius: 10px;
	padding: 26px;
	border: 1px solid rgba(0,0,0,0.06);
}

.why-hemera-method-panel--traditional {
	background: #F7F7F2;
}

.why-hemera-method-panel--hemera {
	background: #F8F2A6;
}

.why-hemera-method-title {
	margin: 0 0 18px;
	font-weight: 800;
	font-size: 14px;
	letter-spacing: 0.6px;
	color: rgba(0,0,0,0.55);
}

.why-hemera-method-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 12px;
}

.why-hemera-method-list li {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	color: rgba(0,0,0,0.6);
	font-size: 13px;
	line-height: 1.6;
}

.why-hemera-method-mark {
	flex: 0 0 20px;
	font-weight: 900;
	line-height: 1.2;
	margin-top: 1px;
}

.why-hemera-method-mark--no {
	color: #D83B32;
}

.why-hemera-method-mark--yes {
	color: var(--green-dark);
}

@media (max-width: 900px) {
	.why-hemera-method-grid { grid-template-columns: 1fr; }
}

.why-hemera-what-grid {
	max-width: 980px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	gap: 34px;
	align-items: start;
}

.why-hemera-what-left p {
	margin: 0 0 16px;
	color: rgba(0,0,0,0.55);
	font-size: 14px;
	line-height: 1.7;
}

.why-hemera-what-left p:last-child { margin-bottom: 0; }

.why-hemera-what-list {
	list-style: none;
	margin: 0;
	padding: 18px 18px;
	border-radius: 10px;
	border: 1px solid rgba(0,0,0,0.06);
	background: #F7F7F2;
	display: grid;
	gap: 10px;
}

.why-hemera-what-list li {
	position: relative;
	padding-left: 22px;
	color: rgba(0,0,0,0.7);
	font-size: 13px;
	line-height: 1.55;
	font-weight: 700;
}

.why-hemera-what-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 10px;
	height: 10px;
	border-radius: 999px;
	background: #F4C970;
}

@media (max-width: 900px) {
	.why-hemera-what-grid {
		grid-template-columns: 1fr;
		gap: 18px;
	}
}

.about-julia-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	align-items: stretch;
}

.about-julia-media {
	position: relative;
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid rgba(0,0,0,0.06);
}

.about-julia-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	min-height: 420px;
}

.about-julia-exp {
	position: absolute;
	right: 18px;
	bottom: 18px;
	background: #F8F2A6;
	border-radius: 8px;
	padding: 14px 16px;
	text-align: center;
	border: 1px solid rgba(0,0,0,0.06);
}

.about-julia-exp-years {
	font-size: 28px;
	font-weight: 900;
	color: var(--green-dark);
	line-height: 1;
}

.about-julia-exp-label {
	margin-top: 6px;
	font-size: 12px;
	font-weight: 700;
	color: rgba(0,0,0,0.6);
}

.about-julia-content {
	background: #F7F7F2;
	border: 1px solid rgba(0,0,0,0.06);
	border-radius: 10px;
	padding: 26px;
}

.about-julia-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 6px 12px;
	border-radius: 999px;
	background: #F8F2A6;
	color: var(--green-dark);
	font-weight: 800;
	font-size: 11px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
}

.about-julia-content h2 {
	margin: 12px 0 14px;
	color: var(--green-dark);
	font-size: 20px;
	font-weight: 900;
}

.about-julia-quote {
	margin: 0 0 16px;
	color: rgba(0,0,0,0.65);
	font-weight: 600;
	line-height: 1.7;
}

.about-julia-content p {
	margin: 0 0 14px;
	color: rgba(0,0,0,0.55);
	font-size: 14px;
	line-height: 1.7;
}

.about-julia-content p:last-of-type { margin-bottom: 18px; }

.about-julia-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 10px;
}

.about-julia-list li {
	position: relative;
	padding-left: 22px;
	color: rgba(0,0,0,0.6);
	font-size: 13px;
}

.about-julia-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 2px;
	width: 14px;
	height: 14px;
	background-image: url("../img/pattern_etoile.png");
	background-size: contain;
	background-repeat: no-repeat;
}

@media (max-width: 900px) {
	.about-julia-grid { grid-template-columns: 1fr; gap: 24px; }
	.about-julia-media img { min-height: 320px; }
}

.team-section .team-intro {
	text-align: center;
	max-width: 880px;
	margin: 0 auto 34px;
}

.team-section .team-intro h2 {
	color: var(--green-dark);
	letter-spacing: 0.6px;
}

.team-section .team-intro p {
	margin: 12px 0 0;
	color: rgba(0,0,0,0.55);
}


.page-template-page-a-propos-php .team-section,
.page-template-templatespage-a-propos-php .team-section {
	display: none;
}

.team-section .team-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}

.team-section .team-card {
	display: flex;
	gap: 18px;
	align-items: center;
	background: #F7F7F2;
	border: 1px solid rgba(0,0,0,0.06);
	border-radius: 10px;
	padding: 26px;
}

.team-section .team-dot {
	width: 44px;
	height: 44px;
	border-radius: 999px;
	background: #F8F2A6;
	flex: 0 0 44px;
}

.team-section .team-card h3 {
	margin: 0 0 10px;
	color: var(--green-dark);
	font-size: 16px;
}

.team-section .team-card p {
	margin: 0;
	color: rgba(0,0,0,0.55);
	font-size: 13px;
	line-height: 1.7;
}

.about-scenarios-head {
	max-width: 920px;
	margin: 0 auto 28px;
}

.about-scenarios-list {
	list-style: none;
	margin: 0;
	padding: 0;
	max-width: 980px;
	margin-left: auto;
	margin-right: auto;
	display: grid;
	gap: 12px;
}

.about-scenarios-list li {
	position: relative;
	background: var(--white);
	border: 1px solid rgba(0,0,0,0.06);
	border-radius: 10px;
	padding: 16px 18px 16px 44px;
	color: rgba(0,0,0,0.60);
	line-height: 1.7;
}

.about-scenarios-list li::before {
	content: '';
	position: absolute;
	left: 18px;
	top: 1.05em;
	width: 10px;
	height: 10px;
	border-radius: 999px;
	background: #F4C970;
}

@media (max-width: 900px) {
	.team-section .team-grid { grid-template-columns: 1fr; }
	.contact-grid { grid-template-columns: 1fr; }
	.contact-row { grid-template-columns: 1fr; }
}

.contact-grid {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	gap: 0;
	align-items: stretch;
	border-radius: 0;
	overflow: hidden;
	border: 1px solid rgba(0,0,0,0.06);
}

.contact-section > .container {
	padding-left: 0;
	padding-right: 0;
}

.contact-info {
	background: var(--green-dark);
	color: var(--white);
	height: 100%;
	padding: 20px;
	padding-top: 50px;
	padding-left: 50px;
}

.contact-info h2 {
	margin: 0 0 26px;
	color: var(--gold);
	font-size: 16px;
}

@media (max-width: 768px) {
	.contact-info {
		padding: 20px;
	}
}

.contact-block h3 {
	margin: 0 0 8px;
	color: var(--white);
	font-size: 14px;
}

.contact-block p {
	margin: 0 0 22px;
	color: rgba(255,255,255,0.85);
	font-size: 13px;
	line-height: 1.7;
}

.contact-block-phone p,
.contact-block-email p {
	margin-bottom: 40px;
}

.contact-block a {
	color: rgba(255,255,255,0.95);
	text-decoration: underline;
}

.contact-disclaimer {
	margin-top: 44px;
	color: rgba(255,255,255,0.8);
	font-size: 12px;
	line-height: 1.6;
}

.contact-form-wrap {
	background: var(--white);
	height: 100%;
	padding: 20px;
	padding-top: 50px;
	padding-left: 50px;
	padding-right: 50px;
}

.contact-form-wrap h2 {
	margin: 0 0 18px;
	color: var(--green-dark);
	font-size: 18px;
}

@media (max-width: 768px) {
	.contact-form-wrap {
		padding: 20px;
	}
}

.contact-form {
	display: grid;
	gap: 16px;
}

.contact-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.contact-field label {
	display: block;
	font-size: 12px;
	font-weight: 700;
	color: rgba(0,0,0,0.6);
	margin-bottom: 8px;
}

.contact-field input,
.contact-field select,
.contact-field textarea {
	width: 100%;
	border: 1px solid rgba(0,0,0,0.18);
	border-radius: 6px;
	padding: 12px;
	font-size: 13px;
	font-family: inherit;
	background: var(--white);
}

.contact-field textarea { resize: vertical; }

.contact-consent label {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	font-size: 11px;
	color: rgba(0,0,0,0.55);
	line-height: 1.5;
}

.contact-consent input { margin-top: 2px; }

@media (max-width: 900px) {
	.contact-grid { grid-template-columns: 1fr; }
	.contact-row { grid-template-columns: 1fr; }
}

.sector-muted {
	color: rgba(0,0,0,0.55);
	font-size: 14px;
	line-height: 1.7;
	max-width: 900px;
}

.sector-features {
	margin: 22px 0 0;
	padding: 0;
	display: grid;
	gap: 12px;
}

.sector-features li {
	position: relative;
	padding-left: 26px;
	color: rgba(0,0,0,0.6);
	font-size: 13px;
	line-height: 1.7;
}

.sector-features li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 4px;
	width: 14px;
	height: 14px;
	background-image: url("../img/pattern_etoile.png");
	background-size: contain;
	background-repeat: no-repeat;
}

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

.sector-action h3 {
	margin: 0 0 10px;
	color: var(--green-dark);
	font-size: 16px;
}

.sector-action p {
	margin: 0;
	color: rgba(0,0,0,0.55);
	font-size: 13px;
	line-height: 1.7;
}

.sector-alert {
	background: #F7F7F2;
	border: 1px solid rgba(0,0,0,0.06);
	border-left: 5px solid #F4C970;
	padding: 18px;
}

.sector-alert p {
	margin: 0;
	color: rgba(0,0,0,0.6);
	font-size: 13px;
	line-height: 1.7;
}

.sector-alert--info {
	border-left-color: rgba(2,77,37,0.35);
}

.sector-steps {
	margin-top: 24px;
	display: grid;
	gap: 14px;
}

.sector-step {
	display: grid;
	grid-template-columns: 52px 1fr;
	gap: 14px;
	align-items: flex-start;
	background: var(--white);
	border: 1px solid rgba(0,0,0,0.06);
	padding: 18px;
}

.sector-step-num {
	width: 44px;
	height: 44px;
	border-radius: 999px;
	background: var(--green-dark);
	color: var(--gold);
	font-weight: 900;
	display: flex;
	align-items: center;
	justify-content: center;
}

.sector-step-content h3 {
	margin: 0 0 8px;
	color: var(--green-dark);
	font-size: 15px;
}

.sector-step-content p {
	margin: 0;
	color: rgba(0,0,0,0.55);
	font-size: 13px;
	line-height: 1.7;
}

.sector-norms {
	margin-top: 20px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.sector-norm-tag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px 12px;
	border: 1px solid rgba(2,77,37,0.35);
	border-radius: 2px;
	color: var(--green-dark);
	font-size: 12px;
	font-weight: 700;
	background: rgba(255,255,255,0.7);
}

.sector-related-title {
	text-align: center;
	margin: 0 0 22px;
	color: var(--green-dark);
}

.sector-related-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}

.sector-related-card {
	padding: 18px;
	text-align: center;
	font-weight: 800;
	color: var(--green-dark);
}

.sector-breadcrumb {
	background: #024D25;
	padding: 12px 0;
}

.sector-breadcrumb-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	font-size: 12px;
	color: rgba(255,255,255,0.75);
}

.sector-breadcrumb a {
	color: rgba(255,255,255,0.85);
	text-decoration: none;
}

.sector-breadcrumb a:hover {
	color: rgba(255,255,255,0.95);
	text-decoration: underline;
}

.sector-breadcrumb-sep {
	color: rgba(255,255,255,0.55);
}

@media (max-width: 900px) {
	.sector-actions-grid { grid-template-columns: 1fr; }
	.sector-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
	.sector-related-grid { grid-template-columns: 1fr; }
	.pack-what-item { grid-template-columns: 52px 1fr; padding: 16px; }
	.pack-what-number { width: 48px; height: 48px; }
}

.pp-icon { font-size: 40px; margin-bottom: 15px; display: block; }

.pain-points-section .pp-icon {
	width: 34px;
	height: 34px;
	margin: 0 auto 15px;
	background-image: url("../img/pattern_etoile.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	font-size: 0;
}

.pp-title { font-weight: 700; color: var(--green-dark); margin-bottom: 10px; font-size: 18px; }

.pp-text { font-size: 14px; color: var(--grey-text); }

.pack-details { background-color: var(--off-white); }

.module-list { margin-top: 40px; }

.module-card {
	background: var(--white);
	border-left: 5px solid var(--gold);
	padding: 30px;
	margin-bottom: 20px;
	box-shadow: 0 5px 15px rgba(0,0,0,0.03);
	display: flex;
	align-items: flex-start;
	gap: 20px;
	transition: 0.3s;
}

.module-card:hover { transform: translateX(10px); }

.module-number {
	background: var(--green-dark);
	color: var(--gold);
	width: 40px;
	height: 40px;
	flex-shrink: 0;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 800;
	font-size: 18px;
}

.module-content h3 { color: var(--green-dark); margin-bottom: 8px; font-size: var(--fs-h3); }

.module-content p { font-size: 15px; color: #555; margin-bottom: 0; }

.target-section { background: var(--white); border-top: 1px solid #eee; }

.check-list li { margin-bottom: 10px; font-size: 16px; display: flex; align-items: center; gap: 10px; }

.check-list li::before {
	content: '✓';
	color: var(--green-dark);
	font-weight: bold;
	background: var(--gold);
	width: 20px;
	height: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	font-size: 12px;
}

.pricing-section { padding: 80px 0; background: #fafafa; }

.pricing-card {
	background: var(--white);
	max-width: 500px;
	margin: 0 auto;
	border: 2px solid var(--green-dark);
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 20px 40px rgba(0,0,0,0.1);
	text-align: center;
}

.pc-header { background: var(--green-dark); color: var(--white); padding: 30px; }

.pc-header h2 { color: var(--white); margin: 0; font-size: var(--fs-h2); text-transform: none; font-weight: var(--fw-semibold); }

.pc-body { padding: 40px; }

.price-tag { font-size: 42px; font-weight: 800; color: var(--green-dark); display: block; margin-bottom: 10px; }

.price-sub { color: #888; font-size: 14px; margin-bottom: 30px; display: block; }

.feature-row { border-bottom: 1px solid #eee; padding: 15px 0; color: #555; }

.feature-row:last-of-type { border-bottom: none; margin-bottom: 30px; }

.testi-box { margin-top: 60px; font-style: italic; color: #666; max-width: 600px; margin-left: auto; margin-right: auto; text-align: center; }

.solutions-tabs {
	margin-top: 0;
	position: -webkit-sticky;
	position: sticky;
	top: var(--solutions-sticky-top, 110px) !important;
	z-index: 10 !important;
	width: 100%;
	border-bottom: 1px solid rgba(0,0,0,0.08);
	background: var(--off-white);
}

.solutions-tabs.is-sticky {
	box-shadow: 0 10px 18px rgba(0,0,0,0.06);
}

.solutions-tabs .container {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 34px;
	padding: 18px 20px;
}

.solutions-tab {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.3px;
	text-transform: uppercase;
	color: rgba(0,0,0,0.35);
	padding: 10px 0;
	border-bottom: 2px solid transparent;
}

.solutions-tab-num {
	font-size: 12px;
	font-weight: 900;
	color: rgba(0,0,0,0.35);
}

.solutions-tab.is-active {
	color: rgba(0,0,0,0.85);
	border-bottom-color: var(--green-dark);
}

.solutions-tab.is-active .solutions-tab-num {
	color: var(--green-dark);
}

@media (max-width: 900px) {
	.solutions-tabs .container {
		gap: 18px;
		justify-content: space-between;
	}
	.solutions-tab-label { display: none; }
}

.solutions-block { background: var(--white); }
.solutions-block--alt { background: var(--off-white); }

.solutions-anchor {
	scroll-margin-top: var(--solutions-anchor-offset, 170px);
}

.solutions-below {
	padding-top: 22px;
}

.solutions-actions.solutions-actions--center {
	display: flex;
	justify-content: center;
	margin-top: 18px;
	margin-bottom: 18px;
}

.solutions-details-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-template-rows: repeat(2, auto);
	grid-auto-flow: column;
	gap: 18px 28px;
	margin-top: 8px;
}

.solutions-details-grid.solutions-details-grid--2col {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-template-rows: none;
	grid-auto-flow: row;
}

.solutions-partner-title {
	text-align: center;
	color: var(--green-dark);
	margin: 0 0 18px;
	font-size: 16px;
	font-weight: 800;
}

.solutions-detail h3 {
	margin: 0 0 6px;
	color: var(--green-dark);
	font-size: 16px;
	font-weight: 800;
}

.solutions-detail p {
	margin: 0;
}

.solutions-detail .solutions-list {
	margin: 0;
	padding-left: 18px;
}

.solutions-detail .solutions-list li {
	margin: 0;
}

.solutions-cta-below {
	margin-top: 40px;
}

.solutions-cta-below .solutions-meta {
	text-align: center;
}

.solutions-cta-box .solutions-meta {
	text-align: center;
}

.solutions-cta-box .solutions-cta-actions {
	margin-top: 50px;
}

@media (max-width: 860px) {
	.solutions-details-grid {
		grid-template-columns: 1fr;
		grid-template-rows: none;
		grid-auto-flow: row;
		gap: 14px;
	}
}

.solutions-split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 50px;
	align-items: center;
}

.solutions-media {
	border-radius: var(--radius-md);
	overflow: hidden;
	border: 1px solid var(--color-border);
	background: #e9e9e9;
}

.solutions-media img {
	width: 100%;
	height: 100%;
	max-height: 340px;
	object-fit: cover;
	border-radius: 0;
	display: block;
}

.solutions-tag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(244, 201, 112, 0.35);
	border: 1px solid rgba(244, 201, 112, 0.65);
	color: rgba(2,77,37,0.9);
	border-radius: 999px;
	padding: 6px 12px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	margin-bottom: 14px;
}

.solutions-content h2 {
	color: var(--green-dark);
	margin-bottom: 12px;
}

.solutions-content p {
	color: rgba(0,0,0,0.55);
	margin-bottom: 18px;
}

.solutions-list {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	margin-bottom: 22px;
}

.solutions-list li {
	position: relative;
	padding-left: 26px;
	color: rgba(0,0,0,0.60);
	font-size: 14px;
	font-weight: 600;
}

.solutions-list li::before {
	content: '✓';
	position: absolute;
	left: 0;
	top: 1px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: rgba(244, 201, 112, 0.85);
	color: var(--green-dark);
	font-weight: 900;
	font-size: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.solutions-actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}

.solutions-meta {
	margin-top: 10px;
	font-size: 12px;
	color: rgba(0,0,0,0.55);
	font-weight: 600;
}

.solutions-offers { background: var(--white); }

.solutions-offers-head h2 {
	color: var(--green-dark);
	margin-bottom: 22px;
}

.solutions-table {
	border: 1px solid var(--green-dark);
	border-radius: var(--radius-xs);
	overflow: auto;
	background: var(--white);
}

.solutions-table table {
	width: 100%;
	border-collapse: collapse;
	min-width: 760px;
}

.solutions-table thead th {
	background: var(--green-dark);
	color: var(--white);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	padding: 14px 16px;
	text-align: center;
}

.solutions-table thead th:first-child { text-align: left; }

.solutions-table tbody th,
.solutions-table tbody td {
	padding: 14px 16px;
	border-top: 1px solid rgba(2,77,37,0.12);
	font-size: 13px;
}

.solutions-table tbody th {
	color: rgba(0,0,0,0.70);
	text-align: left;
	font-weight: 700;
}

.solutions-table tbody td {
	text-align: center;
	color: rgba(0,0,0,0.55);
	font-weight: 800;
}

.solutions-offers-cta {
	margin-top: 26px;
	display: flex;
	justify-content: center;
}

.solutions-cta { background: var(--off-white); }

.solutions-cta-box {
	background: var(--white);
	border: 1px solid #E5E5E5;
	border-radius: 5px;
	padding: 56px 60px;
	position: relative;
	overflow: hidden;
	text-align: center;
}

.solutions-cta-box::after {
	content: '';
	position: absolute;
	top: -240px;
	right: -260px;
	transform: none;
	width: 760px;
	height: 760px;
	background-image: var(--touch-pattern-url);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	opacity: 1;
	pointer-events: none;
}

.solutions-cta-box > * { position: relative; z-index: 1; }

.solutions-cta-box h3 { color: var(--green-dark); margin-bottom: 14px; }
.solutions-cta-box p { color: rgba(0,0,0,0.55); max-width: 70ch; margin: 0 auto 22px; }

.solutions-cta-actions {
	display: flex;
	justify-content: center;
	gap: 14px;
	flex-wrap: wrap;
}

@media (max-width: 768px) {
	.solutions-cta-box { padding: 44px 22px; }
}

@media (max-width: 900px) {
	.solutions-split {
		grid-template-columns: 1fr;
		gap: 26px;
	}
	.solutions-media img { max-height: 260px; }
}
.hero-about {
	background-color: var(--green-dark);
	color: var(--white);
	padding: 80px 0;
	text-align: center;
}

.hero-about h1 { color: var(--white); font-size: var(--fs-h1); margin-bottom: 20px; line-height: 1.2; font-weight: var(--fw-semibold); letter-spacing: -0.5px; }

.hero-about p { color: rgba(255,255,255,0.9); font-size: 18px; max-width: 700px; margin: 0 auto; }

.founder-section { padding: 100px 0; }

.founder-grid {
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: 60px;
	align-items: center;
}

.founder-img-wrapper { position: relative; }

.founder-img {
	width: 100%;
	height: 500px;
	background-color: #ddd;
	border-radius: 8px;
	object-fit: cover;
	position: relative;
	z-index: 2;
	box-shadow: 20px 20px 0 var(--green-light);
}

.exp-badge {
	position: absolute;
	bottom: -20px;
	right: -20px;
	background: var(--gold);
	color: var(--black);
	padding: 20px 30px;
	border-radius: 4px;
	z-index: 3;
	text-align: center;
	box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.exp-years { display: block; font-size: 32px; font-weight: 800; line-height: 1; }

.exp-label { font-size: 12px; font-weight: 700; }

.founder-quote {
	border-left: 4px solid var(--gold);
	padding-left: 20px;
	font-style: italic;
	font-size: 18px;
	color: var(--black);
	margin: 30px 0;
}

.bio-list li { margin-bottom: 15px; display: flex; align-items: center; gap: 10px; font-weight: 500; }

.bio-list li::before { content: '✦'; color: var(--gold); }

.team-section { background-color: var(--green-light); }

.team-intro { max-width: 700px; margin: 0 auto 50px; text-align: center; }

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

.team-card {
	background: var(--white);
	padding: 40px;
	border-radius: 8px;
	display: flex;
	gap: 20px;
	align-items: flex-start;
	transition: 0.3s;
	border: 1px solid transparent;
}

.team-card:hover { border-color: var(--green-dark); transform: translateY(-5px); }

.tc-icon {
	font-size: 32px;
	background: var(--off-white);
	width: 60px;
	height: 60px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.values-section { background: var(--white); }

.values-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 50px; }

.value-card {
	padding: 30px 20px;
	background: var(--white);
	border: 1px solid #eee;
	border-radius: 8px;
	text-align: center;
	transition: 0.3s;
}

.value-card:hover { border-color: var(--gold); box-shadow: 0 10px 30px rgba(0,0,0,0.05); }

.v-icon { font-size: 40px; margin-bottom: 20px; display: block; color: var(--green-dark); }

.v-title { font-size: 18px; margin-bottom: 10px; color: var(--green-dark); font-weight: var(--fw-semibold); }

.v-text { font-size: 14px; color: #666; margin: 0; line-height: 1.5; }

.cta-box { background: var(--green-dark); color: white; text-align: center; padding: 60px 0; margin-top: 60px; }

.home-hero {
	background: var(--off-white);
	color: var(--black);
	padding: 88px 0;
 }

 .home-hero-grid {
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	gap: 56px;
	align-items: center;
 }

 .home-hero h1 {
	color: var(--green-dark);
	font-size: var(--fs-h1);
	margin-bottom: 26px;
	line-height: 1.18;
	font-weight: var(--fw-semibold);
	letter-spacing: -0.6px;
 }

 .home-hero-highlight {
	background: linear-gradient(to top, #F8F2A6 50%, transparent 50%);
	padding: 0 4px;
 }

 .home-hero p {
	color: rgba(0,0,0,0.6);
	font-size: 16px;
	margin-bottom: 28px;
	max-width: 520px;
 }

 .home-hero-actions {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
	align-items: center;
 }

 .home-hero .btn-outline {
	border: 1px solid var(--green-dark);
	color: var(--green-dark);
	background: transparent;
	padding: 12px 22px;
	border-radius: 2px;
	text-transform: none;
	font-size: 13px;
	font-weight: 700;
	width: 206px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
 }

 .home-hero .btn-outline:hover { background: rgba(2,77,37,0.06); }

 .home-hero-cta {
	padding: 12px 22px;
	border-radius: 2px;
	text-transform: none;
	font-size: 13px;
	font-weight: 800;
 	background: #F4C970;
 	box-shadow: none;
	width: 206px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
 }

 .home-hero-cta:hover { background: #e7bd61; }

 .home-hero-cta-arrow { margin-left: 8px; }

 .home-hero-proofs {
	display: flex;
	align-items: center;
	gap: 22px;
	flex-wrap: wrap;
	margin-top: 14px;
	padding: 0;
	color: rgba(2,77,37,0.75);
	font-size: 12px;
	font-weight: 600;
 }

 .home-hero-check { color: var(--green-dark); margin-right: 8px; }

 .home-hero-media {
	border-radius: 10px;
	overflow: hidden;
	background: #dfe7e2;
	height: 400px;
 }

 .home-hero-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
 }

.home-logos { background: var(--white); border-bottom: 2px solid var(--gold); }

.home-logos-title {
	text-align: center;
	color: rgba(0,0,0,0.55);
	font-size: 13px;
	margin: 0;
	padding: 18px 0 14px;
}

.home-logos-row {
	position: relative;
	overflow: hidden;
	padding: 10px 0 22px;
}

.home-logos-track {
	display: flex;
	align-items: center;
	gap: 0;
	will-change: transform;
	animation: home-logos-marquee 18s linear infinite;
}

.home-logo {
	flex: 0 0 calc(100% / 3);
	padding: 0 28px;
}

@media (max-width: 900px) {
	.home-logo { flex-basis: calc(100% / 2); }
}

@media (max-width: 520px) {
	.home-logo { flex-basis: 100%; }
}

@keyframes home-logos-marquee {
	0% { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
	.home-logos-track { animation: none; }
}

.home-logo {
	display: flex;
	align-items: center;
	justify-content: center;
}

.home-logo-img {
	display: block;
	width: 200px;
	height: 100px;
	object-fit: contain;
	max-width: 100%;
	opacity: 0.95;
}

.home-section-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 20px;
	margin-bottom: 30px;
}

.home-section-head h2 { margin: 0; }

.home-cards-3 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	margin-top: 40px;
}

.home-pain { background: var(--off-white); }

.home-pain .home-card { border-radius: 0; }

.home-pain-head h2 {
	color: var(--green-dark);
	max-width: 920px;
	margin: 0 auto;
	font-size: var(--fs-h2);
	line-height: 1.3;
}

.home-pain-cards { margin-top: 44px; }

.home-pain-card {
	text-align: center;
	padding: 36px 28px;
	border-radius: 0;
}

.home-pain-card:hover {
	border-color: var(--color-border);
	box-shadow: none;
	transform: none;
}

.home-pain-icon {
	width: 56px;
	height: 56px;
	object-fit: contain;
	display: block;
	margin: 0 auto 18px;
}

.home-pain-card h3 {
	margin-bottom: 12px;
	font-size: var(--fs-h4);
	color: var(--green-dark);
}

.home-pain-card p {
	color: rgba(0,0,0,0.55);
	font-size: 14px;
	margin: 0;
}

.home-pain-fact {
	margin: 18px auto 0;
	max-width: 920px;
	text-align: center;
}

.home-pain-fact-badge {
	margin-bottom: 12px;
}

.home-pain-fact-text {
	margin: 0;
	color: rgba(0,0,0,0.65);
	font-size: 14px;
	line-height: 1.6;
}

.home-pain-cta {
	display: flex;
	justify-content: center;
	margin-top: 40px;
	margin-bottom: 80px;
}

.home-pain-cta .btn-outline {
	min-width: 340px;
	padding: 12px 22px;
	border-radius: 2px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	white-space: nowrap;
}

.home-personas { background: #FAFAFA; }

.home-personas-head {
	max-width: 760px;
	margin: 0 auto;
}

.home-personas-head h2 {
	color: var(--green-dark);
}

.home-personas-head p {
	color: rgba(0,0,0,0.55);
	margin-top: 10px;
}

.home-personas-cards {
	margin-top: 44px;
	align-items: stretch;
	grid-auto-rows: 1fr;
}

.home-personas-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 36px 28px;
	min-height: 320px;
	height: 100%;
}

.home-personas-icon {
	width: 74px;
	height: 74px;
	object-fit: contain;
	border-radius: 0;
	margin-bottom: 18px;
}

.home-personas-card h3 {
	font-size: var(--fs-h4);
	margin-bottom: 14px;
}

.home-personas-card p {
	color: rgba(0,0,0,0.55);
	font-size: 14px;
	margin: 0;
	padding-bottom: 22px;
	margin-bottom: 0;
}

.home-personas-cta {
	margin-top: auto;
	padding-top: 0;
	display: block;
	width: 100%;
	text-align: center;
	font-weight: 700;
	font-size: 13px;
	color: var(--green-dark);
}

.home-personas-cta span[aria-hidden="true"] {
	display: inline-block;
	transform: translateX(0);
	transition: transform 180ms ease;
}

.home-personas-card:hover .home-personas-cta span[aria-hidden="true"] {
	transform: translateX(6px);
}

.home-touch {
	background: #F5F5F0;
}

.home-touch-box {
	background: var(--white);
	border: 1px solid #E5E5E5;
	border-radius: 5px;
	padding: 56px 60px;
	text-align: center;
	position: relative;
	overflow: hidden;
}

.home-touch-box::after {
	content: '';
	position: absolute;
	top: -240px;
	right: -260px;
	transform: none;
	width: 760px;
	height: 760px;
	background-image: var(--touch-pattern-url);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	opacity: 1;
	pointer-events: none;
}

.home-touch-box > * { position: relative; z-index: 1; }

.home-touch-box h2 {
	color: var(--green-dark);
	font-size: var(--fs-h2) !important;
	line-height: 1.2;
	margin-bottom: 14px;
}

.home-touch-box p {
	color: rgba(0,0,0,0.55);
	max-width: 760px;
	margin: 0 auto 26px;
}

.home-touch-actions {
	display: flex;
	justify-content: center;
	gap: 18px;
	flex-wrap: wrap;
	margin-bottom: 22px;
}

.home-touch-actions .btn {
	width: 206px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	padding: 12px 22px;
	border-radius: 2px;
	font-size: 13px;
}

.home-touch-actions .btn-primary {
	background: #F4C970;
	color: #024D25;
	box-shadow: none;
}

.home-touch-actions .btn-primary:hover {
	background: #e7bd61;
	transform: none;
	box-shadow: none;
}

.home-touch-proofs {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 28px;
	flex-wrap: wrap;
	padding: 0;
	margin: 0;
	color: rgba(2,77,37,0.75);
	font-size: 12px;
	font-weight: 600;
}

.home-touch-check { color: var(--green-dark); margin-right: 8px; }

.home-card {
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	padding: 30px;
	transition: 0.3s;
}

.home-card:hover { border-color: var(--gold); box-shadow: var(--shadow-sm); transform: translateY(-3px); }

.home-pain .home-card:hover {
	border-color: var(--color-border);
	box-shadow: none;
	transform: none;
}

.home-card h3 { margin-bottom: 10px; font-size: var(--fs-h3); color: var(--green-dark); font-weight: var(--fw-semibold); }

.home-card p { margin: 0; color: #666; font-size: 14px; }

.home-card-icon { font-size: 34px; margin-bottom: 15px; color: var(--green-dark); }

.home-card-link { display: block; }

.home-personas-card.home-card-link {
	display: flex;
	flex-direction: column;
}

.home-card-cta { display: inline-block; margin-top: 18px; font-weight: 800; color: var(--green-dark); border-bottom: 2px solid var(--gold); padding-bottom: 2px; font-size: 12px; }

.home-split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 50px;
	align-items: center;
}

.home-split-media {
	background: #f1f1f1;
	border-radius: 10px;
	height: 360px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #777;
	text-align: center;
	padding: 20px;
}

.home-copilote {
	background: var(--white);
	position: relative;
	overflow: hidden;
}

.home-copilote::after {
	content: '';
	position: absolute;
	top: -240px;
	right: -260px;
	left: auto;
	transform: none;
	width: 760px;
	height: 760px;
	background-image: var(--copilote-pattern-url);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	opacity: 1;
	pointer-events: none;
}

.home-copilote .container { position: relative; z-index: 1; }

.home-copilote-split { gap: 70px; }

.home-split-media.home-copilote-media {
	background: transparent;
	padding: 0;
	height: auto;
	border-radius: 0;
	display: block;
}

.home-copilote-media img {
	width: 100%;
	height: 340px;
	object-fit: cover;
	border-radius: 5px;
	display: block;
}

.home-copilote-content {
	text-align: left;
}

.home-copilote-content h2 {
	margin-bottom: 16px;
}

.home-copilote-content p {
	margin: 0 0 22px;
	color: rgba(0,0,0,0.55);
	max-width: 520px;
}

.home-copilote-points {
	margin: 0 0 24px;
	padding: 0;
	display: grid;
	gap: 10px;
}

.home-copilote-points li {
	position: relative;
	padding-left: 28px;
	color: rgba(0,0,0,0.65);
	font-size: 13px;
	font-weight: 600;
}

.home-copilote-points li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 2px;
	width: 18px;
	height: 18px;
	background-image: var(--copilote-bullet-url);
	background-repeat: no-repeat;
	background-size: contain;
}

.home-copilote .btn-primary {
	background: #F4C970;
	color: #024D25;
	box-shadow: none;
	padding: 12px 22px;
	border-radius: 2px;
	font-size: 13px;
}

.home-copilote .btn-primary:hover {
	background: #e7bd61;
	transform: none;
	box-shadow: none;
}

.home-quote { font-style: italic; font-size: 16px; color: #333; margin-bottom: 15px; }
.home-quote-author { font-weight: 800; color: var(--green-dark); font-size: 13px; letter-spacing: 0.5px; }


.home-testimonials-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 26px;
}

.home-testimonials-title {
	text-align: center;
	flex: 1;
}

.home-testimonials-title h2 {
	margin: 0;
	color: var(--green-dark);
}

.home-testimonials-title p {
	margin-top: 8px;
	color: rgba(0,0,0,0.55);
}

.home-testimonials-nav {
	display: flex;
	gap: 8px;
	flex: 0 0 auto;
}

.home-testimonials-btn {
	width: 40px;
	height: 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(0,0,0,0.25);
	border-radius: 3px;
	background: transparent;
	color: rgba(0,0,0,0.65);
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
}

.home-testimonials-btn:hover {
	border-color: rgba(0,0,0,0.45);
	color: rgba(0,0,0,0.85);
}

.home-testimonials-track {
	display: flex;
	gap: 30px;
	overflow-x: auto;
	padding: 2px 2px 10px;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	-ms-overflow-style: none;
	scrollbar-width: none;
}

.home-testimonials-track::-webkit-scrollbar { display: none; }

.home-testimonials-slide {
	flex: 0 0 calc((100% - 60px) / 3);
	scroll-snap-align: start;
}

.home-testimonials-slide.home-card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 220px;
}

@media (max-width: 768px) {
	.home-testimonials-head {
		flex-direction: column;
		align-items: center;
		gap: 14px;
	}

	.home-testimonials-track {
		gap: 16px;
		padding: 2px 0 10px;
	}

	.home-testimonials-slide {
		flex: 0 0 100%;
	}
}

.home-testimonials .home-quote {
	font-style: normal;
	font-size: 13px;
	line-height: 1.7;
	color: rgba(0,0,0,0.55);
	margin-bottom: 22px;
}

.home-testimonials .home-quote-author {
	font-weight: 700;
	color: rgba(0,0,0,0.6);
	font-size: 13px;
	letter-spacing: 0;
	margin-top: auto;
}

.home-testimonials .home-rating {
	margin-top: 10px;
	color: #F4C970;
	font-size: 16px;
	letter-spacing: 2px;
}

.home-testimonials-dots {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	margin-top: 26px;
}

.home-testimonials-dot {
	width: 26px;
	height: 26px;
	border: none;
	background: transparent;
	padding: 0;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.home-testimonials-dot::before {
	content: '';
	width: 15px;
	height: 15px;
	border-radius: 999px;
	background: rgba(244, 201, 112, 0.45);
	transition: width 0.2s ease, background 0.2s ease;
}

.home-testimonials-dot.is-active::before {
	width: 44px;
	background: rgba(244, 201, 112, 1);
}

.home-article { background: var(--white); border: 1px solid #eee; border-radius: 8px; overflow: hidden; display: flex; flex-direction: column; transition: 0.3s; }

.home-article:hover { transform: translateY(-4px); border-color: var(--gold); box-shadow: 0 10px 20px rgba(0,0,0,0.05); }

.home-article-media { height: 200px; background: #e9e9e9; }

.home-article-body { padding: 25px; flex: 1; display: flex; flex-direction: column; }

.home-article-meta { font-size: 12px; color: #999; margin-bottom: 10px; display: flex; justify-content: space-between; }

.home-article-title { font-size: var(--fs-h3); margin-bottom: 12px; color: var(--green-dark); line-height: 1.4; }

.home-article-excerpt { font-size: 14px; color: #666; margin-bottom: 18px; flex: 1; }

.home-blog-head h2 {
	color: var(--green-dark);
	margin-bottom: 0;
}

.home-blog-grid { margin-top: 34px; }

.home-blog .home-article-media {
	height: 220px;
	overflow: hidden;
}

.home-blog .home-article-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border-radius: 0;
}

.home-article-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 6px 12px;
	border: 1px solid rgba(2,77,37,0.55);
	border-radius: 2px;
	color: var(--green-dark);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.5px;
	margin-bottom: 12px;
	width: fit-content;
}

.home-blog .home-article-title {
	font-size: 18px;
	margin-bottom: 14px;
}

.home-blog .home-article-title a { font-size: inherit; font-weight: inherit; }

.home-blog .home-article-excerpt {
	font-size: 13px;
	color: rgba(0,0,0,0.55);
	margin-bottom: 18px;
}

.home-article-read {
	font-size: 12px;
	font-weight: 700;
	color: var(--green-dark);
	width: fit-content;
	padding-bottom: 6px;
	border-bottom: 2px solid rgba(244, 201, 112, 0.9);
}

.home-article-read:hover { border-bottom-color: rgba(244, 201, 112, 1); }

.home-blog-cta {
	margin-top: 34px;
	display: flex;
	justify-content: center;
}

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

.blog-pagination {
	margin-top: 40px;
	text-align: center;
}

.blog-filters {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-bottom: 28px;
}

.blog-filter {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 16px;
	border-radius: 999px;
	border: 1px solid rgba(2,77,37,0.18);
	background: rgba(255,255,255,0.75);
	color: rgba(2,77,37,0.9);
	font-weight: 700;
	font-size: 13px;
	text-decoration: none;
	transition: background 160ms ease, color 160ms ease, border-color 160ms ease;
}

.blog-filter:hover {
	background: rgba(2,77,37,0.06);
	border-color: rgba(2,77,37,0.3);
}

.blog-filter.is-active {
	background: var(--green-dark);
	border-color: var(--green-dark);
	color: var(--white);
}

.blog-results.is-loading {
	opacity: 0.55;
	pointer-events: none;
	transition: opacity 160ms ease;
}

.post-breadcrumb { margin: 0 0 14px; }
.post-breadcrumb-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.post-breadcrumb-item { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: rgba(255,255,255,0.75); }
.post-breadcrumb-item a { color: rgba(255,255,255,0.9); text-decoration: none; border-bottom: 1px solid rgba(255,255,255,0.25); }
.post-breadcrumb-item a:hover { border-bottom-color: rgba(255,255,255,0.6); }
.post-breadcrumb-sep { opacity: 0.65; }

.post-meta { display: inline-flex; align-items: center; justify-content: center; gap: 10px; font-size: 13px; color: rgba(255,255,255,0.75); margin-top: 10px; }
.post-meta-sep { opacity: 0.6; }

.post-layout { max-width: 900px; }
.post-article { padding: 0; overflow: hidden; }
.post-featured img { width: 100%; height: auto; display: block; }
.post-body { padding: 28px 26px; }

.post-callout {
	margin: 18px 0 22px;
	padding: 14px 16px;
	border-radius: 14px;
	background: rgba(2,77,37,0.06);
	border: 1px solid rgba(2,77,37,0.14);
}

.post-callout p { margin: 0; line-height: 1.7; }

.post-callout--key {
	background: rgba(244,201,112,0.15);
	border-color: rgba(244,201,112,0.35);
}

.post-toc {
	margin: 0 0 22px;
	padding: 16px 16px;
	border-radius: 14px;
	background: rgba(255,255,255,0.9);
	border: 1px solid rgba(0,0,0,0.08);
}

.post-toc-title {
	font-weight: 900;
	color: var(--green-dark);
	margin: 0 0 10px;
}

.post-toc-list {
	margin: 0;
	padding-left: 18px;
}

.post-toc-list li { margin: 8px 0; }
.post-toc-list a { color: rgba(0,0,0,0.78); font-weight: 800; text-decoration: none; border-bottom: 1px solid rgba(0,0,0,0.14); }
.post-toc-list a:hover { border-bottom-color: rgba(2,77,37,0.35); color: var(--green-dark); }

.post-checklist {
	list-style: none;
	padding-left: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px 18px;
	margin: 12px 0 0;
}

.post-checklist li {
	margin: 0;
	padding-left: 28px;
	position: relative;
}

.post-checklist li::before {
	content: '✓';
	position: absolute;
	left: 0;
	top: 0;
	color: var(--green-dark);
	font-weight: 900;
}

.post-cta {
	margin-top: 16px;
	padding: 16px;
	border-radius: 14px;
	background: rgba(2,77,37,0.06);
	border: 1px solid rgba(2,77,37,0.14);
}

.post-cta p { margin: 0 0 12px; }
.post-cta p:last-child { margin-bottom: 0; }

.post-share {
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid rgba(0,0,0,0.08);
}

.post-share-title {
	font-weight: 900;
	color: var(--green-dark);
	margin: 0 0 10px;
}

.post-share-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.post-share-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 16px;
	border-radius: 999px;
	border: 1px solid rgba(2,77,37,0.18);
	background: rgba(255,255,255,0.75);
	color: rgba(2,77,37,0.9);
	font-weight: 800;
	font-size: 13px;
	text-decoration: none;
	transition: background 160ms ease, color 160ms ease, border-color 160ms ease;
}

.post-share-link:hover {
	background: rgba(2,77,37,0.06);
	border-color: rgba(2,77,37,0.3);
}

.post-body h2 { margin-top: 28px; color: var(--green-dark); }
.post-body h3 { margin-top: 22px; color: var(--green-dark); }
.post-body p { line-height: 1.75; }
.post-body ul, .post-body ol { padding-left: 20px; }
.post-body li { margin: 8px 0; line-height: 1.65; }
.post-body a { color: var(--green-dark); font-weight: 700; }
.post-body a:hover { opacity: 0.85; }

@media (max-width: 600px) {
	.post-body { padding: 22px 18px; }
	.post-checklist { grid-template-columns: 1fr; }
}

.blog-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 12px;
	border-radius: 999px;
	border: 1px solid rgba(0,0,0,0.18);
	color: rgba(0,0,0,0.7);
	text-decoration: none;
	font-weight: 700;
}

.blog-pagination .page-numbers.current {
	background: var(--green-dark);
	border-color: var(--green-dark);
	color: var(--white);
}

.blog-pagination .page-numbers:hover {
	border-color: rgba(0,0,0,0.35);
}

@media (max-width: 900px) {
	.blog-grid { grid-template-columns: 1fr; }
}

.home-faq {
	max-width: 1100px;
	margin: 34px auto 0;
	background: var(--white);
	border: 1px solid #eee;
	border-radius: 2px;
	overflow: hidden;
}

.home-faq-item {
	border-top: 1px solid rgba(0,0,0,0.06);
}

.home-faq-item:first-child { border-top: none; }

.home-faq-item summary {
	cursor: pointer;
	font-weight: 800;
	color: var(--green-dark);
	font-size: 15px;
	padding: 22px 56px 22px 28px;
	list-style: none;
	position: relative;
}

.home-faq-item summary::-webkit-details-marker { display: none; }

.home-faq-item summary::after {
	content: '+';
	position: absolute;
	right: 22px;
	top: 50%;
	transform: translateY(-50%);
	color: #F4C970;
	font-size: 22px;
	font-weight: 700;
}

.home-faq-item[open] summary::after {
	content: '−';
}

.home-faq-content {
	padding: 0 28px 22px;
	color: rgba(0,0,0,0.55);
	font-size: 13px;
	line-height: 1.7;
}

.home-faq-content p { margin: 0 0 10px; }
.home-faq-content p:last-child { margin-bottom: 0; }

.maintenance-hero-actions {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-top: 18px;
}

.maintenance-section .maintenance-grid {
	max-width: 920px;
	margin: 0 auto;
}

.maintenance-card h2 {
	margin: 0 0 10px;
	color: var(--green-dark);
}

.maintenance-card p {
	margin: 0;
	color: rgba(0,0,0,0.55);
	font-size: 14px;
}

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

.maintenance-meta-item {
	display: grid;
	gap: 6px;
	padding: 12px 14px;
	border-radius: 6px;
	border: 1px solid rgba(0,0,0,0.08);
	background: rgba(255,255,255,0.65);
}

.maintenance-meta-item strong {
	font-size: 12px;
	letter-spacing: 0.4px;
	text-transform: uppercase;
	color: rgba(0,0,0,0.65);
}

.maintenance-meta-item a {
	font-size: 13px;
	font-weight: 700;
	color: var(--green-dark);
}

.maintenance-meta-item a:hover {
	text-decoration: underline;
}

@media (max-width: 768px) {
	.maintenance-meta { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
	:root {
		--fs-h1: 36px;
		--fs-h2: 26px;
		--fs-h3: 20px;
		--fs-h4: 18px;
		--fs-body-lg: 16px;
		--fs-body: 15px;
		--fs-link: 14px;
	}
	.header-flex { flex-wrap: wrap; }
	.nav-menu:not(.is-open) .menu { flex-wrap: wrap; }
	.nav-menu:not(.is-open) .menu > li { margin: 8px 0 0 0; margin-right: 16px; }
	.pack-hero h1 { font-size: var(--fs-h1); }
	.pp-grid { grid-template-columns: 1fr; }
	.module-card { flex-direction: column; }
	.home-hero-grid { grid-template-columns: 1fr; }
	.home-hero { padding: 56px 0; }
	.home-hero h1 { font-size: var(--fs-h1); }
	.home-hero-media { height: 280px; }
	.home-cards-3 { grid-template-columns: 1fr; }
	.home-split { grid-template-columns: 1fr; }
	.home-logos-row { grid-template-columns: none; }
 }

@media (max-width: 420px) {
	.home-hero .btn-outline,
	.home-hero-cta {
		width: 100%;
	}
}

@media (max-width: 1024px) {
	.logo img { height: 84px; }
}

@media (max-width: 768px) {
	.logo img { height: 70px; }
}

@media (max-width: 900px) {
	.founder-grid { grid-template-columns: 1fr; }
	.founder-img { height: 350px; margin-bottom: 40px; }
	.team-grid { grid-template-columns: 1fr; }
	.values-grid { grid-template-columns: 1fr; }
}
