/* ==========================================================================
   Piktek : feuille de style du thème bloc
   Desktop de référence : 1470px. Tablette <= 1024px. Mobile <= 767px.
   ========================================================================== */

:root {
	--pk-noir: #0e0e0e;
	--pk-noir-2: #1b1b1b;
	--pk-bordure: #2e2e2e;
	--pk-creme: #f3e9dc;
	--pk-beige: #ede4d8;
	--pk-brun: #4b2e1e;
	--pk-anthracite: #2e2e2e;
	--pk-rouge: #c1121f;
	--pk-rouge-fonce: #ae101c;
	--pk-golos: "Golos Text", sans-serif;
	--pk-inter: Inter, sans-serif;
	--pk-header-h: 71px;
	--pk-gutter: clamp(20px, calc(1.944px + 4.6296vw), 70px);
	--pk-section: clamp(65px, calc(34.306px + 7.8704vw), 150px);
	--pk-box: 1290px;
	--pk-t1: clamp(36px, calc(28.417px + 1.9444vw), 57px);
	--pk-t2: clamp(32px, calc(26.583px + 1.3889vw), 47px);
	--pk-t3: clamp(26px, calc(22.750px + 0.8333vw), 35px);
	--pk-t4: clamp(22px, calc(19.833px + 0.5556vw), 28px);
	--pk-t5: clamp(19px, calc(17.556px + 0.3704vw), 23px);
	--pk-t6: clamp(17px, calc(16.278px + 0.1852vw), 19px);
}

@media (max-width: 1024px) {
	:root { --pk-header-h: 80px; }
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: hidden; }
body.pk-clair { background-color: var(--pk-creme); }
body.pk-beige { background-color: var(--pk-beige); }
body.pk-beige .pk-card { background-color: var(--pk-creme); border: 1px solid rgba(75, 46, 30, 0.08); }
h1, h2, h3 { text-wrap: balance; hyphens: manual; }
:root body .has-text-align-center { text-align: center; }
:root body .has-text-align-right { text-align: right; }
img { max-width: 100%; height: auto; }
.nowrap { white-space: nowrap; }
:root body mark.has-inline-color { background: none; }
:root body .pk-main { margin: 0; }
:root body .pk-main--offset { padding-top: var(--pk-header-h); }
:root body .wp-block-post-content > * { margin-block: 0; }
:where(.pk-main) p { margin: 0; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }

/* Focus clavier visible sur tous les éléments interactifs */
:root body a:focus-visible,
:root body button:focus-visible,
:root body input:focus-visible,
:root body textarea:focus-visible,
:root body select:focus-visible,
:root body summary:focus-visible,
:root body [tabindex]:focus-visible,
:root body .wp-block-navigation-item__content:focus-visible,
:root body .wp-block-navigation__responsive-container-open:focus-visible,
:root body .wp-block-navigation__responsive-container-close:focus-visible {
	outline: 2px solid var(--pk-creme);
	outline-offset: 2px;
	border-radius: 1px;
}
:root body.pk-clair a:focus-visible,
:root body .pk-why a:focus-visible,
:root body .pk-usage a:focus-visible,
:root body .pk-card a:focus-visible { outline-color: var(--pk-rouge-fonce); }

/* Lien d'évitement */
.pk-skip {
	position: fixed;
	top: 8px;
	left: 8px;
	z-index: 2000;
	padding: 12px 18px;
	background: var(--pk-creme);
	color: var(--pk-noir);
	font-family: var(--pk-golos);
	font-weight: 600;
	text-decoration: none;
	transform: translateY(-150%);
	transition: transform .2s ease;
}
.pk-skip:focus { transform: none; outline: 2px solid var(--pk-noir); outline-offset: 2px; }

/* Typographie utilitaire (valeurs du kit d'origine) */
:root body .pk-t1 { font-family: var(--pk-golos); font-size: var(--pk-t1); line-height: 1.11; letter-spacing: -1.1px; font-weight: 600; }
:root body .pk-t2 { font-family: var(--pk-golos); font-size: var(--pk-t2); line-height: 1.13; letter-spacing: -0.9px; font-weight: 600; }
:root body .pk-t3 { font-family: var(--pk-golos); font-size: var(--pk-t3); line-height: 1.11; letter-spacing: -0.7px; font-weight: 600; }
:root body .pk-t4 { font-family: var(--pk-golos); font-size: var(--pk-t4); line-height: 1.21; letter-spacing: -0.6px; font-weight: 600; }
:root body .pk-t5 { font-family: var(--pk-golos); font-size: var(--pk-t5); line-height: 1.22; letter-spacing: -0.5px; font-weight: 600; }
:root body .pk-t6 { font-family: var(--pk-golos); font-size: var(--pk-t6); line-height: 1.26; letter-spacing: -0.4px; font-weight: 600; }
:root body .pk-eyebrow {
	font-family: var(--pk-golos);
	font-size: clamp(13px, calc(12.639px + 0.0926vw), 14px);
	line-height: 1;
	font-weight: 500;
	letter-spacing: 0.7px;
	text-transform: uppercase;
	margin: 0 0 23px;
}
:root body .pk-mb-30 { margin-bottom: 30px; }

/* Largeur de boîte (1290px) avec gouttières */
:root body .pk-box {
	width: 100%;
	max-width: calc(var(--pk-box) + 2 * var(--pk-gutter));
	margin-inline: auto;
	padding-inline: var(--pk-gutter);
	box-sizing: border-box;
}
:root body .pk-wide { padding-inline: var(--pk-gutter); box-sizing: border-box; }
:root body .pk-section { padding-block: var(--pk-section); }

/* ---------- Boutons ---------- */
:root body .wp-block-button__link { transition: background-color .3s ease, color .3s ease; }
:root body .pk-btn-sm .wp-block-button__link { font-size: 14px; padding: 12px 17px; color: #fff; }
:root body .pk-btn-creme .wp-block-button__link { color: var(--pk-creme); }
:root body .pk-btn-15 .wp-block-button__link { font-size: 15px; }
:root body .wp-block-button__link:hover, :root body .wp-block-button__link:focus-visible { background-color: var(--pk-rouge-fonce); }

/* ==========================================================================
   En-tête
   ========================================================================== */
.pk-site-header { position: fixed; inset: 0 0 auto 0; z-index: 1000; }
.admin-bar .pk-site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .pk-site-header { top: 46px; } }
:root body .pk-header {
	box-sizing: border-box;
	height: var(--pk-header-h);
	padding: 10px 70px;
	background-color: var(--pk-noir);
	border-bottom: 1px solid var(--pk-bordure);
	gap: 10px;
	align-items: center;
}
:root body .pk-header__logo { margin: 0; flex: 0 0 auto; line-height: 0; }
:root body .pk-header__logo img { display: block; width: 34px; height: 50px; object-fit: contain; }
:root body .pk-header__right { gap: 31px; align-items: center; flex: 1 1 auto; }
:root body .pk-header__cta { margin: 0; }

/* Navigation : barre sur desktop, menu superposé sous 1025px */
:root body .pk-nav { font-family: var(--pk-golos); font-size: 16px; font-weight: 500; line-height: 1.5; color: #fff; }
:root body .pk-nav .wp-block-navigation__container { gap: 31px; }
:root body .pk-nav .wp-block-navigation-item__content { color: #fff; padding: 7px 0; transition: color .3s ease; }
:root body .pk-nav .wp-block-navigation-item__content:hover,
:root body .pk-nav .current-menu-item > .wp-block-navigation-item__content { color: var(--pk-rouge); }
:root body .pk-nav .wp-block-navigation__submenu-icon { width: 10px; height: 10px; margin-left: 5px; color: #fff; }
:root body .pk-nav .wp-block-navigation__submenu-icon svg { stroke-width: 2px; }
:root body .pk-nav .wp-block-navigation__submenu-container {
	background-color: var(--pk-noir) !important;
	border: 1px solid var(--pk-bordure) !important;
	padding: 12px 0;
	min-width: 220px !important;
	font-size: 15px;
	letter-spacing: -0.3px;
	line-height: 1.4;
	top: calc(100% + 10px);
}
:root body .pk-nav .wp-block-navigation__submenu-container::before { content: ""; position: absolute; inset: -12px 0 auto 0; height: 12px; }
:root body .pk-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 8px 22px; }

@media (min-width: 1025px) {
	:root body .pk-nav .wp-block-navigation__responsive-container-open { display: none !important; }
	:root body .pk-nav .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: block;
		position: static;
		width: auto;
		height: auto;
		background: transparent;
		z-index: auto;
		inset: auto;
	}
	:root body .pk-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-close,
	:root body .pk-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-dialog,
	:root body .pk-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-content {
		display: flex;
		position: static;
		width: auto;
		max-width: none;
		padding: 0;
		margin: 0;
		background: transparent;
	}
	:root body .pk-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-close { display: none; }
	:root body .pk-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container { flex-direction: row; align-items: center; }
}

@media (max-width: 1024px) {
	:root body .pk-header { padding: 15px 20px; }
	:root body .pk-header__cta { display: none; }
	:root body .pk-nav .wp-block-navigation__responsive-container-open { color: #fff; padding: 0; }
	:root body .pk-nav .wp-block-navigation__responsive-container-open svg { width: 26px; height: 26px; }
	:root body .pk-nav .wp-block-navigation__responsive-container.is-menu-open {
		background-color: var(--pk-noir) !important;
		color: #fff !important;
		padding: 25px 20px;
	}
	:root body .pk-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 60px; align-items: flex-start; }
	:root body .pk-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 18px; align-items: flex-start; }
	:root body .pk-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 22px; padding: 0; }
	:root body .pk-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; padding: 12px 0 0 16px; min-width: 0 !important; }
	:root body .pk-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 17px; padding: 0; }
	:root body .pk-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle { padding: 0; font-size: 22px; }
	:root body .pk-nav .wp-block-navigation__responsive-container-close { color: #fff; }
	:root body .pk-nav .wp-block-navigation__responsive-container-close svg { width: 28px; height: 28px; }
}

/* ==========================================================================
   Pied de page
   ========================================================================== */
:root body .pk-footer { margin: -1px 0 0; color: var(--pk-anthracite); overflow: hidden; }
:root body .pk-footer__top {
	display: flex;
	gap: 30px;
	padding: 105px 70px 55px;
}
:root body .pk-footer__brand { flex: 0 0 calc(40% - 12px); padding-top: 5px; }
:root body .pk-footer__logo { margin: 0 0 30px; line-height: 0; }
:root body .pk-header__logo img, :root body .pk-footer__logo img { max-width: none; }
:root body .pk-footer__logo img { width: 123px; height: auto; aspect-ratio: 605 / 148; }
:root body .pk-footer__baseline { max-width: 390px; font-size: 16px; line-height: 26px; }
:root body .pk-footer__cols { flex: 1 1 60%; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
:root body .pk-footer__title {
	font-family: var(--pk-golos);
	font-size: var(--pk-t6);
	line-height: 1.26;
	letter-spacing: -0.4px;
	font-weight: 600;
	margin: 0 0 23px;
}
:root body .pk-footer__list { list-style: none; margin: 0; padding: 0; font-size: 16px; line-height: 26px; }
:root body .pk-footer__list li { margin: 0 0 19px; }
:root body .pk-footer__list li:last-child { margin-bottom: 0; }
:root body .pk-footer__list a { color: var(--pk-anthracite); transition: color .3s ease; }
:root body .pk-footer__list a:hover { color: var(--pk-rouge); }
:root body .pk-footer__cols .pk-footer__col:first-child .pk-footer__list li { margin-bottom: 20px; }
:root body .pk-footer__cols .pk-footer__list li:last-child { margin-bottom: 0; }
:root body .pk-footer__word {
	margin: 0;
	padding: 0 70px 70px;
	font-family: var(--pk-golos);
	font-weight: 500;
	font-size: 21.1vw;
	line-height: 0.75;
	letter-spacing: -0.0645em;
	color: rgba(57, 57, 57, 0.216);
	white-space: nowrap;
	user-select: none;
}

:root body .pk-footer__credit {
	margin: 0;
	padding: 0 20px 26px;
	font-size: 13px;
	line-height: 1.4;
	letter-spacing: 0.02em;
	color: rgba(57, 57, 57, 0.6);
}
:root body .pk-footer__credit a { color: inherit; text-decoration: underline; transition: color .3s ease; }
:root body .pk-footer__credit a:hover { color: var(--pk-rouge); }

@media (max-width: 1024px) {
	:root body .pk-footer__top { flex-direction: column; padding: 65px 20px 45px; gap: 45px; }
	:root body .pk-footer__brand { flex: none; }
	:root body .pk-footer__word { padding: 0 20px 40px; }
}
@media (max-width: 767px) {
	:root body .pk-footer__cols { grid-template-columns: 1fr; gap: 35px; }
}

/* ==========================================================================
   Accueil : héros
   ========================================================================== */
:root body .pk-hero { display: flex; min-height: 100vh; min-height: 100svh; position: relative; }
:root body .pk-hero__text {
	position: relative;
	z-index: 2;
	flex: 0 0 50%;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 60px;
	padding: 158px 30px 285px 70px;
}
:root body .pk-hero__kicker {
	max-width: 250px;
	font-family: var(--pk-golos);
	font-size: 18px;
	line-height: 1.4;
	letter-spacing: -0.4px;
	font-weight: 400;
}
:root body .pk-hero__title {
	margin: 0;
	text-align: right;
	text-wrap: wrap;
	font-family: var(--pk-golos);
	font-size: clamp(55px, calc(51.028px + 1.0185vw), 66px);
	line-height: 1;
	letter-spacing: -0.02em;
	font-weight: 600;
	color: var(--pk-noir);
}
:root body .pk-hero__word {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100vw;
	box-sizing: border-box;
	margin: 0;
	padding: 0 70px 2.2vw;
	font-family: var(--pk-golos);
	font-weight: 600;
	font-size: 16.9vw;
	line-height: 1;
	letter-spacing: -0.055em;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--pk-rouge);
	pointer-events: none;
	z-index: 9;
}
:root body .pk-hero__media { flex: 0 0 50%; margin: 0; position: relative; z-index: 1; }
:root body .pk-hero__media img { display: block; width: 100%; height: 100%; object-fit: cover; }

@media (max-width: 767px) {
	:root body .pk-hero { flex-direction: column; min-height: 0; }
	:root body .pk-hero__text { flex: none; gap: 18px; padding: 110px 20px 95px; }
	:root body .pk-hero__title { font-size: 55px; }
	:root body .pk-hero__word { padding: 0 20px 2.2vw; }
	:root body .pk-hero__media { flex: none; height: 100vw; }
}

/* ==========================================================================
   Cartes (accueil, à propos)
   ========================================================================== */
:root body .pk-why { padding: var(--pk-section) 0 clamp(65px, calc(-9.028px + 18.9815vw), 270px); }
:root body .pk-why__title { max-width: 620px; margin-inline: auto; }
:root body .pk-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 30px;
	margin: 50px 0;
}
:root body .pk-cards--flush { margin: 0; }
:root body .pk-card {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 395px;
	padding: 40px;
	box-sizing: border-box;
	text-align: center;
	background-color: var(--pk-beige);
}
:root body .pk-card__icon { margin: 0 auto 20px; line-height: 0; }
:root body .pk-card__icon img { width: 66px; height: 65px; }
:root body .pk-card__icon--fa img { width: 54px; height: 54px; object-fit: contain; }
:root body .pk-card__title { margin: 0 0 12px; color: var(--pk-brun); }
:root body .pk-card p { color: var(--pk-anthracite); }
:root body .pk-center-btn { justify-content: center; }

@media (max-width: 1024px) {
	:root body .pk-cards { gap: 20px; }
	:root body .pk-card { padding: 30px 20px; }
}
@media (max-width: 767px) {
	:root body .pk-cards { grid-template-columns: 1fr; margin: 28px 0; }
	:root body .pk-card { min-height: 250px; }
}

/* ==========================================================================
   Accueil : bloc sombre (à propos, chiffres, modules, avis)
   ========================================================================== */
:root body .pk-dark { background-color: var(--pk-noir-2); }
:root body .pk-about { display: flex; gap: 30px; align-items: stretch; position: relative; }
:root body .pk-about__media { flex: 0 0 calc(50% - 15px); margin: -120px 0 0; line-height: 0; position: relative; z-index: 1; }
:root body .pk-about__media img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }
:root body .pk-about__content {
	flex: 1 1 50%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 44px 29px 44px 84px;
	position: relative;
}
:root body .pk-about__content > * { position: relative; z-index: 2; max-width: 550px; }
:root body .pk-about__title { margin: 0 0 28px; }
:root body .pk-about__text { margin: 0 0 30px; max-width: 540px; }
:root body .pk-about__decor { position: absolute !important; right: 0; bottom: 0; z-index: 1 !important; margin: 0; width: 370px; line-height: 0; pointer-events: none; }

:root body .pk-checklist { list-style: none; margin: 0; padding: 0; }
:root body .pk-checklist li {
	position: relative;
	padding-left: 28px;
	margin: 0 0 16px;
	font-family: var(--pk-golos);
	font-size: 16px;
	line-height: 20.16px;
	font-weight: 500;
	letter-spacing: -0.4px;
	color: #fff;
}
:root body .pk-checklist li:last-child { margin-bottom: 0; }
:root body .pk-checklist li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 1px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: var(--pk-rouge) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23fff' d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3E%3C/svg%3E") center / 9px no-repeat;
}

/* Chiffres */
:root body .pk-stats { padding: var(--pk-section) var(--pk-gutter); }
:root body .pk-stats__top { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; margin: 0 0 115px; }
:root body .pk-stats__intro { max-width: 400px; padding-top: 3px; }
:root body .pk-stats__intro .pk-t3 { margin: 0 0 22px; }
:root body .pk-stats__grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
:root body .pk-stats__grid4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px; }
:root body .pk-counter__num {
	font-family: var(--pk-golos);
	font-size: clamp(48px, calc(32.422px + 3.9944vw), 91.14px);
	line-height: 1;
	font-weight: 500;
	letter-spacing: -1.1px;
	color: #fff;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}
:root body .pk-counter__num mark { display: inline-block; font-size: 0.55em; vertical-align: baseline; margin-left: 3px; }
:root body .pk-counter__label { margin: 8px 0 0; color: #fff; }

@media (max-width: 1024px) {
	:root body .pk-about { flex-direction: column; }
	:root body .pk-about__media { margin: 0; flex: none; }
	:root body .pk-about__content { padding: 45px 20px 65px; }
	:root body .pk-about__decor { display: none; }
	:root body .pk-stats__top { grid-template-columns: 1fr; margin-bottom: 40px; }
	:root body .pk-stats__grid4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	:root body .pk-stats__grid4, :root body .pk-stats__grid2 { gap: 30px 20px; }
	:root body .pk-stats__grid2 { margin-bottom: 0; }
	:root body .pk-stats__top + .pk-stats__grid4 { margin-top: 30px; }
}

/* Modules en accordéon */
:root body .pk-acc { display: flex; gap: 20px; padding: 0 var(--pk-gutter); }
:root body .pk-acc__item { flex: 1 1 0; min-width: 0; position: relative; transition: flex-grow .5s ease; }
:root body .pk-acc__item:first-child { flex-grow: 3; }
:root body .pk-acc:hover .pk-acc__item, :root body .pk-acc:focus-within .pk-acc__item { flex-grow: 1; }
:root body .pk-acc .pk-acc__item:hover, :root body .pk-acc .pk-acc__item:focus-within { flex-grow: 3; }
:root body .pk-acc__img { margin: 0; line-height: 0; }
:root body .pk-acc__img img { width: 100%; height: 520px; object-fit: cover; display: block; }
:root body .pk-acc__title { margin: 20px 0 6px; color: #fff; }
:root body .pk-acc__title a { color: inherit; }
:root body .pk-acc__title a::after { content: ""; position: absolute; inset: 0; z-index: 2; }
:root body .pk-acc__text { font-size: 14px; line-height: 20px; color: #e3e3e3; }

@media (max-width: 767px) {
	:root body .pk-acc { flex-direction: column; gap: 30px; }
	:root body .pk-acc__item, :root body .pk-acc__item:first-child,
	:root body .pk-acc:hover .pk-acc__item, :root body .pk-acc .pk-acc__item:hover { flex: none; }
	:root body .pk-acc__img img { height: 300px; }
}
@media (min-width: 768px) and (max-width: 1024px) {
	:root body .pk-acc__img img { height: 480px; }
}

/* Avis clients */
:root body .pk-testi { padding-block: var(--pk-section); }
:root body .pk-testi__heading { margin: 0 0 30px; max-width: 400px; }
:root body .pk-testi__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; padding: 30px 0 0; }
:root body .pk-testi__item { color: #fff; margin: 0; padding: 0 20px; }
:root body .pk-testi__item p.pk-testi__product { margin: 0 0 12px; color: #fff; font-family: var(--pk-golos); font-size: var(--pk-t4); line-height: 1.21; letter-spacing: -0.6px; font-weight: 600; }
:root body .pk-testi__item p { color: #fff; font-size: 16px; line-height: 26px; }
:root body .pk-testi__item .pk-testi__quote + .pk-testi__quote { margin-top: 26px; }
:root body .pk-stars {
	display: block;
	width: 79px;
	height: 15px;
	margin: 12px 0 6px;
	overflow: hidden;
	text-indent: 200%;
	white-space: nowrap;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1792 1792'%3E%3Cpath fill='%23c1121f' d='M1728 647q0 22-26 48l-363 354 86 500q1 7 1 20 0 21-10.5 35.5t-30.5 14.5q-19 0-40-12l-449-236-449 236q-22 12-40 12-21 0-31.5-14.5t-10.5-35.5q0-6 2-20l86-500-364-354q-25-27-25-48 0-37 56-46l502-73 225-455q19-41 49-41t49 41l225 455 502 73q56 9 56 46z'/%3E%3C/svg%3E") 0 0 / 16px 15px repeat-x;
}
:root body .pk-testi__item p.pk-testi__name { font-family: var(--pk-golos); font-size: var(--pk-t5); line-height: 1.22; letter-spacing: -0.5px; font-weight: 600; color: #fff; }
:root body .pk-testi__item p.pk-testi__company { margin-top: 4px; font-family: var(--pk-golos); font-size: var(--pk-t6); line-height: 1.26; letter-spacing: -0.4px; font-weight: 600; color: var(--pk-rouge); }

@media (max-width: 1024px) {
	:root body .pk-testi__grid { grid-template-columns: 1fr; gap: 50px; }
}

/* ==========================================================================
   Appel à l'action et formulaire
   ========================================================================== */
:root body .pk-cta {
	min-height: 810px;
	display: flex;
	align-items: center;
	padding-block: 30px;
	background-size: cover;
	background-position: 50% 50%;
}
:root body .pk-cta__inner { display: flex; justify-content: flex-end; }
:root body .pk-cta__card { width: 520px; max-width: 100%; box-sizing: border-box; padding: 45px 30px 52px; background-color: var(--pk-noir); }
:root body .pk-cta__title { margin: 0 0 28px; color: #fff; }

@media (max-width: 767px) {
	:root body .pk-cta { min-height: 680px; }
	:root body .pk-cta__card { padding: 30px 20px 35px; }
}

/* MetForm : habillage de secours identique au site d'origine */
:root body .pk-cta__card .metform-form-content { margin: 0; }
:root body .pk-cta__card .mf-input-wrapper { margin-bottom: 18px; }
:root body .pk-cta__card .mf-input,
:root body .pk-cta__card input[type="text"],
:root body .pk-cta__card input[type="email"],
:root body .pk-cta__card textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 12px 13px;
	border: 1px solid var(--pk-bordure);
	border-radius: 0;
	background: transparent;
	color: #fff;
	font-family: var(--pk-inter);
	font-size: 15px;
	line-height: 1.6;
}
:root body .pk-cta__card textarea { min-height: 142px; resize: vertical; }
:root body .pk-cta__card .mf-input:focus,
:root body .pk-cta__card input:focus,
:root body .pk-cta__card textarea:focus { border-color: var(--pk-creme); outline: 2px solid var(--pk-creme); outline-offset: 1px; }
:root body .pk-cta__card ::placeholder { color: #9a9a9a; opacity: 1; }
:root body .pk-cta__card .mf-checkbox-option,
:root body .pk-cta__card .mf-input-gdpr-consent-wrapper,
:root body .pk-cta__card .mf-gdpr-consent-label { font-size: 14px; line-height: 20px; color: #9a9a9a; }
:root body .pk-cta__card .mf-btn-wraper .metform-btn,
:root body .pk-cta__card button[type="submit"] {
	width: 100%;
	padding: 18px 40px;
	border: 0;
	border-radius: 0;
	background-color: var(--pk-rouge);
	color: var(--pk-noir);
	font-family: var(--pk-golos);
	font-size: 16px;
	line-height: 19px;
	font-weight: 500;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color .3s ease;
}
:root body .pk-cta__card .mf-btn-wraper .metform-btn:hover,
:root body .pk-cta__card button[type="submit"]:hover { background-color: var(--pk-rouge-fonce); }

/* Formulaire natif (remplace MetForm) */
:root body .pk-form { margin: 0; }
:root body .pk-form__field { margin: 0 0 18px; }
:root body .pk-form__consent {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	margin: 0 0 22px;
	font-size: 14px;
	line-height: 20px;
	color: #cbb8a3;
}
:root body .pk-form__consent input { flex: 0 0 auto; margin-top: 2px; width: 16px; height: 16px; accent-color: var(--pk-rouge); }
:root body .pk-form__consent a { color: var(--pk-creme); text-decoration: underline; text-underline-offset: 2px; }
:root body .pk-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
:root body .pk-form__msg { margin: 0 0 20px; padding: 13px 16px; font-size: 14px; line-height: 1.5; }
:root body .pk-form__msg--ok { background: rgba(46, 125, 50, 0.15); border: 1px solid #58a05c; color: #d6f3d8; }
:root body .pk-form__msg--err { background: rgba(193, 18, 31, 0.15); border: 1px solid #e0656e; color: #ffd7da; }

/* ==========================================================================
   Page À propos
   ========================================================================== */
:root body .pk-intro { margin: 0 0 50px; }
:root body .pk-intro__title { margin: 0 0 28px; color: var(--pk-brun); }
:root body .pk-intro__text { color: var(--pk-anthracite); }
:root body .pk-rows { background-color: var(--pk-noir); }
:root body .pk-row { display: flex; align-items: center; gap: 30px; }
:root body .pk-row + .pk-row { margin-top: 150px; }
:root body .pk-row__content { flex: 1 1 0; min-width: 0; }
:root body .pk-row__content--left { padding-right: 64.5px; }
:root body .pk-row__content--right { padding-left: 103px; }
:root body .pk-row__title { margin: 0 0 29px; color: #fff; }
:root body .pk-row__text { margin: 0 0 30px; }
:root body .pk-row__media { flex: 1 1 0; min-width: 0; margin: 0; line-height: 0; }
:root body .pk-row__media img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }

@media (max-width: 1024px) {
	:root body .pk-row + .pk-row { margin-top: 65px; }
	:root body .pk-row__content--left { padding-right: 0; }
	:root body .pk-row__content--right { padding-left: 0; }
}
@media (max-width: 767px) {
	:root body .pk-row { flex-direction: column; align-items: stretch; }
}

:root body .pk-story { background-color: var(--pk-beige); }
:root body .pk-prose { max-width: 860px; }
:root body .pk-prose__title { margin: 0 0 28px; }
:root body .pk-prose p { margin: 0 0 22px; font-size: 17px; line-height: 1.72; color: var(--pk-anthracite); }
:root body .pk-prose p:last-child { margin-bottom: 0; }

/* FAQ (details/summary natifs, sans JS) */
:root body .pk-faq__title { margin: 0 0 46px; }
:root body .pk-faq__list { max-width: 860px; margin: 0 auto; display: flex; flex-direction: column; gap: 14px; }
:root body .pk-faq__item {
	background: #fff;
	border: 1px solid rgba(75, 46, 30, 0.10);
	border-radius: 14px;
	padding: 0 28px;
	transition: border-color .3s ease, box-shadow .3s ease;
}
:root body .pk-faq__item[open] {
	border-color: rgba(193, 18, 31, 0.35);
	box-shadow: 0 12px 34px rgba(75, 46, 30, 0.08);
}
:root body .pk-faq__q {
	cursor: pointer;
	list-style: none;
	padding: 24px 52px 24px 0;
	position: relative;
	font-family: var(--pk-golos);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.4;
	color: var(--pk-brun);
	transition: color .3s ease;
}
:root body .pk-faq__q:hover { color: var(--pk-rouge); }
:root body .pk-faq__q::-webkit-details-marker { display: none; }
:root body .pk-faq__q::after {
	content: "+";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 30px;
	height: 30px;
	border: 1.5px solid var(--pk-rouge);
	border-radius: 50%;
	display: grid;
	place-items: center;
	font-size: 22px;
	line-height: 1;
	font-weight: 400;
	color: var(--pk-rouge);
	transition: background-color .3s ease, color .3s ease;
}
:root body .pk-faq__item[open] .pk-faq__q::after {
	content: "\2212";
	background-color: var(--pk-rouge);
	color: #fff;
}
:root body .pk-faq__a { padding: 0 40px 26px 0; animation: pkFaqIn .35s ease; }
:root body .pk-faq__a p { margin: 0; color: var(--pk-anthracite); font-size: 16px; line-height: 1.75; }
@keyframes pkFaqIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

/* Variante sombre (page Machine P500T) */
:root body .pk-faq--dark { background-color: var(--pk-noir); }
:root body .pk-faq--dark .pk-faq__title { color: #fff; }
:root body .pk-faq--dark .pk-faq__item { background: rgba(255, 255, 255, 0.03); border-color: rgba(255, 255, 255, 0.12); }
:root body .pk-faq--dark .pk-faq__item[open] { border-color: rgba(193, 18, 31, 0.6); box-shadow: none; }
:root body .pk-faq--dark .pk-faq__q { color: #fff; }
:root body .pk-faq--dark .pk-faq__a p { color: #e3e3e3; }

/* ==========================================================================
   Page Machine P500T
   ========================================================================== */
:root body .pk-p5-head { margin: 0 0 50px; }
:root body .pk-p5-head .pk-t1 { max-width: 530px; margin: 0; }
:root body .pk-p5-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; margin: 0 0 50px; }
:root body .pk-p5-cols > * { padding-top: 43px; border-top: 1px solid var(--pk-bordure); }
:root body .pk-p5-visual { margin: 0 auto; max-width: 600px; line-height: 0; }
:root body .pk-p5-visual img { width: 600px; height: auto; display: block; }
:root body .pk-specs-wrap { padding: 0 0 var(--pk-section); }
:root body .pk-specs__title { margin: 0 0 40px; color: #fff; }
:root body .pk-specs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px; }
:root body .pk-spec {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 30px;
	aspect-ratio: 1;
	padding: 35px 30px 32px;
	box-sizing: border-box;
	border: 1px solid var(--pk-bordure);
}
:root body .pk-spec__icon { margin: 0; line-height: 0; }
:root body .pk-spec__icon img { width: 54px; height: 54px; object-fit: contain; object-position: left center; }
:root body .pk-spec__title { margin: 0 0 6px; color: #fff; }

:root body .pk-usage { background-color: var(--pk-creme); }
:root body .pk-usage__head { margin: 0 0 140px; }
:root body .pk-usage__head .pk-t1 { margin: 0 0 28px; }
:root body .pk-usage__head p { max-width: 645px; color: var(--pk-anthracite); }
:root body .pk-usage__grid { display: grid; grid-template-columns: 411fr 519fr 300fr; gap: 30px; }
:root body .pk-usage__media { margin: 0; line-height: 0; }
:root body .pk-usage__media img { width: 100%; height: 630px; object-fit: cover; display: block; }
:root body .pk-usage__card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 30px;
	padding: 65px 40px 60px;
	background-color: var(--pk-beige);
}
:root body .pk-usage__card .pk-t4 { margin: 0; color: var(--pk-brun); }
:root body .pk-usage__card .pk-usage__list { font-weight: 400; color: var(--pk-brun); margin: 0; }
:root body .pk-usage__stats { display: grid; grid-template-rows: 1fr 1fr; gap: 30px; }
:root body .pk-stat {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 20px;
	padding: 38px 25px 33px;
	box-sizing: border-box;
}
:root body .pk-stat .pk-t1, :root body .pk-stat .pk-t5 { margin: 0; }

@media (max-width: 1024px) {
	:root body .pk-specs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	:root body .pk-usage__head { margin-bottom: 50px; }
	:root body .pk-usage__grid { grid-template-columns: 1fr 1fr; }
	:root body .pk-usage__stats { grid-column: 1 / -1; grid-template-rows: none; grid-template-columns: 1fr 1fr; }
}
@media (max-width: 767px) {
	:root body .pk-p5-cols { grid-template-columns: 1fr; gap: 20px; }
	:root body .pk-specs { grid-template-columns: 1fr; gap: 20px; }
	:root body .pk-spec { aspect-ratio: auto; min-height: 200px; }
	:root body .pk-usage__grid { grid-template-columns: 1fr; }
	:root body .pk-usage__media img { height: 420px; }
	:root body .pk-usage__card { padding: 40px 25px; }
	:root body .pk-usage__stats { grid-template-columns: 1fr; gap: 20px; }
	:root body .pk-stat { min-height: 220px; }
}

/* ==========================================================================
   Page Contact
   ========================================================================== */
:root body .pk-find__title { margin: 0 0 50px; color: #fff; }
:root body .pk-find { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px; }
:root body .pk-find__label { margin: 0 0 13px; color: var(--pk-creme); }
:root body .pk-find__value { font-family: var(--pk-golos); font-size: var(--pk-t6); line-height: 1.26; letter-spacing: -0.4px; font-weight: 600; color: #fff; }
:root body .pk-find__value a { color: #fff; }
:root body .pk-find__value a:hover { color: var(--pk-rouge); }

@media (max-width: 1024px) {
	:root body .pk-find { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	:root body .pk-find { grid-template-columns: 1fr; }
}

/* ==========================================================================
   Pages légales, blog, article
   ========================================================================== */
:root body .pk-legal { padding: 144px 0 var(--pk-section); color: var(--pk-creme); }
:root body .pk-legal .pk-t2 { margin: 0 0 30px; color: #fff; }
:root body .pk-legal h2 { margin: 1.6em 0 0.45em; color: #fff; text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 2px; }
:root body .pk-legal p { margin: 0 0 1.62em; }
:root body .pk-legal strong { color: #fff; }
/* Liens de contenu soulignés (repérables sans dépendre de la couleur) */
:root body .pk-legal a,
:root body .pk-prose a,
:root body .pk-about__text a,
:root body .pk-cookies__text a { text-decoration: underline; text-underline-offset: 3px; }
:root body .pk-blog__title { margin: 0 0 50px; }
:root body .pk-posts__grid { gap: 30px; }
:root body .pk-posts__title { font-size: var(--pk-t5); margin: 8px 0 10px; }
:root body .pk-posts__title a { color: #fff; }
:root body .pk-posts__date { font-size: 14px; color: #9a9a9a; margin-top: 18px; }
:root body .pk-article .pk-t1 { margin: 10px 0 40px; }
:root body .pk-prose p { margin: 0 0 1.62em; }
:root body .pk-prose h2 { margin: 0.93em 0 0.33em; }
:root body .pk-prose h3 { margin: 1.3em 0 0.43em; }

/* ==========================================================================
   Bandeau cookies, retour en haut, animations
   ========================================================================== */
.pk-cookies {
	position: fixed;
	left: 25px;
	bottom: 25px;
	z-index: 1100;
	width: 440px;
	max-width: calc(100vw - 40px);
	box-sizing: border-box;
	padding: 20px;
	background-color: #1c0e0c;
	border: 1px solid #2b1815;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
	color: #f3e9dc;
	font-family: var(--pk-inter);
}
.pk-cookies[hidden] { display: none; }
.pk-cookies__text { display: flex; gap: 12px; align-items: flex-start; }
.pk-cookies__icon { flex: 0 0 auto; margin-top: 3px; }
.pk-cookies__text p { margin: 0; font-size: 12px; line-height: 1.8; }
.pk-cookies__text a { color: var(--pk-rouge); }
.pk-cookies__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 18px; }
.pk-cookies__btn {
	padding: 10px 12px;
	font-family: var(--pk-golos);
	font-size: 12px;
	font-weight: 500;
	text-transform: uppercase;
	cursor: pointer;
	border-radius: 0;
	transition: background-color .3s ease, border-color .3s ease;
}
.pk-cookies__btn--refuse { background: transparent; color: #f3e9dc; border: 1px solid #3a2a27; }
.pk-cookies__btn--refuse:hover { border-color: #f3e9dc; }
.pk-cookies__btn--accept { background: var(--pk-rouge); color: #fff; border: 1px solid var(--pk-rouge); }
.pk-cookies__btn--accept:hover { background: var(--pk-rouge-fonce); }
@media (max-width: 767px) {
	.pk-cookies { left: 20px; bottom: 20px; }
}

.pk-cookies__reopen {
	position: fixed;
	left: 25px;
	bottom: 25px;
	z-index: 1090;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	background-color: #1c0e0c;
	border: 1px solid #2b1815;
	border-radius: 50%;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
	cursor: pointer;
	transition: transform .3s ease, border-color .3s ease;
}
.pk-cookies__reopen:hover { transform: translateY(-2px); border-color: var(--pk-rouge); }
.pk-cookies__reopen img { display: block; }
.pk-cookies__reopen[hidden] { display: none; }
@media (max-width: 767px) {
	.pk-cookies__reopen { left: 20px; bottom: 20px; }
}

.pk-totop {
	position: fixed;
	right: 25px;
	bottom: 25px;
	z-index: 1050;
	width: 46px;
	height: 46px;
	display: grid;
	place-items: center;
	background-color: var(--pk-beige);
	border: 1px solid rgba(75, 46, 30, 0.15);
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity .3s ease, transform .3s ease, visibility .3s;
}
.pk-totop.is-visible { opacity: 1; visibility: visible; transform: none; }
.pk-totop span {
	width: 10px;
	height: 10px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%230e0e0e' d='M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Apparition au défilement (ajoutée uniquement si JS actif) */
.pk-js .pk-reveal { opacity: 0; transform: translateY(30px); transition: opacity .8s ease, transform .8s ease; }
.pk-js .pk-reveal.is-in { opacity: 1; transform: none; }
.pk-letters .pk-l { display: inline-block; }
.pk-js .pk-letters .pk-l { opacity: 0; transform: translateY(0.25em); transition: opacity .6s ease, transform .6s ease; }
.pk-js .pk-letters.is-in .pk-l { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.pk-js .pk-reveal, .pk-js .pk-letters .pk-l { opacity: 1; transform: none; transition: none; }
	:root body .pk-acc__item { transition: none; }
}
