/* ==========================================================================
   Pour Toujours — Page d'accueil (s'ajoute à pt-guide.css)
   Échelle d'espacement : 8 · 12 · 16 · 24 · 32 · 48 · 64 · 96 · 128
   ========================================================================== */

.pth {
	--pth-section: 112px;
	--pth-head: 64px;
	--pth-gap: 24px;
	--pth-radius: 20px;
	--pth-shadow: 0 1px 2px rgba(24, 48, 48, 0.04), 0 12px 32px -12px rgba(24, 48, 48, 0.14);
	flex: 1 1 100%;
	width: 100%;
	min-width: 0;
	overflow-x: clip;
}

/* Même largeur que le héros pour toutes les sections de l'accueil */
.pth .ptg-wrap {
	max-width: 1640px;
	padding-left: 64px;
	padding-right: 64px;
}

.pth section[id] {
	scroll-margin-top: 80px;
}

/* ---------- Typographie ---------- */

.ptg .pth-h2 {
	max-width: 22ch;
	font-family: Helvetica, Arial, sans-serif;
	font-size: clamp(32px, 3.4vw, 48px);
	font-weight: 700;
	line-height: 1.04;
	letter-spacing: -0.03em;
	color: var(--ptg-ink);
	text-wrap: balance;
}

.ptg .pth-h3 {
	font-family: Helvetica, Arial, sans-serif;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.015em;
	color: var(--ptg-ink);
	text-wrap: balance;
}

.pth-lead {
	max-width: 46ch;
	color: var(--ptg-ink-soft);
	font-size: 19px;
	line-height: 1.55;
	text-wrap: pretty;
}

.pth-text {
	color: var(--ptg-ink-soft);
	font-size: 16px;
	line-height: 1.55;
	text-wrap: pretty;
}

.pth-note {
	color: var(--ptg-ink-soft);
	font-size: 14px;
	line-height: 1.5;
}

.pth-more {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: auto;
	padding-top: 24px;
	color: var(--ptg-ink);
	font-size: 16px;
	font-weight: 700;
}

.pth-more span,
.pth-link span {
	color: var(--ptg-rose-deep);
	transition: color 0.2s var(--ptg-ease);
}

a:hover > .pth-more,
a:hover > .pth-more span {
	color: #a8402d;
}

.ptg .pth-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding-bottom: 4px;
	border-bottom: 2px solid var(--ptg-rose);
	color: var(--ptg-ink);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none;
	transition: border-color 0.2s var(--ptg-ease);
}

.ptg .pth-link:hover {
	border-color: var(--ptg-ink);
}

/* ---------- Boutons ---------- */

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

.ptg .pth-btn-ghost {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 56px;
	padding: 0 30px;
	border-radius: 999px;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.2s var(--ptg-ease), border-color 0.2s var(--ptg-ease), color 0.2s var(--ptg-ease);
}

.ptg .pth-btn-ghost {
	border: 1.5px solid rgba(255, 255, 255, 0.6);
	color: #fff;
}

.ptg .pth-btn-ghost:hover {
	border-color: #fff;
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
}



/* ---------- Sections et en-têtes ---------- */

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

.pth-head {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin-bottom: var(--pth-head);
}

.pth-head__main {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.pth-head--split {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 24px 64px;
	align-items: end;
}

.pth-head--split > .pth-lead,
.pth-head--split > .pth-link {
	justify-self: start;
	margin-bottom: 6px;
}

.pth-head--split > .pth-lead {
	max-width: 66ch;
}

/* ---------- 1. Héros ---------- */

.pth-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: var(--ptg-ink);
	color: #fff;
}

.pth-hero__media {
	position: absolute;
	inset: 0;
	z-index: -2;
}

.ptg .pth-hero__poster,
.pth-hero__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: 60% 45%;
}

.pth-hero__video {
	opacity: 0;
	transition: opacity 0.6s var(--ptg-ease);
}

.pth-hero__video.is-playing {
	opacity: 1;
}

.pth-hero::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(90deg, rgba(12, 26, 26, 0.88) 0%, rgba(12, 26, 26, 0.76) 45%, rgba(12, 26, 26, 0.4) 75%, rgba(12, 26, 26, 0.18) 100%),
		linear-gradient(0deg, rgba(12, 26, 26, 0.35) 0%, rgba(12, 26, 26, 0) 40%);
}

.pth-hero__inner {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	min-height: min(86vh, 780px);
	padding-top: 96px;
	padding-bottom: 96px;
}

.ptg .pth-hero__title,
.ptg .pth-hero__lead {
	max-width: 55%;
}

/* Le paragraphe garde deux lignes sur les petits portables */
.ptg .pth-hero__lead {
	max-width: max(55%, 700px);
}

.ptg .pth-hero__title {
	margin-top: 24px;
	font-family: Helvetica, Arial, sans-serif;
	font-size: clamp(40px, 4.2vw, 68px);
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.035em;
	color: #fff;
}

/* Deuxième ligne du titre en Georgia, comme l'ancien accueil */
.pth-hero__accent {
	display: block;
	margin-top: 0.3em;
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 0.9em;
	font-weight: 400;
	letter-spacing: -0.03em;
	line-height: 1.05;
}

.ptg .pth-hero__lead {
	margin-top: 32px;
	color: rgba(255, 255, 255, 0.86);
	font-size: 18px;
	line-height: 1.5;
	text-wrap: pretty;
}

.pth-hero .pth-actions {
	margin-top: 48px;
}

.ptg .pth-hero__facts {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 28px;
	margin-top: 40px;
}

.pth-hero__facts li {
	display: flex;
	align-items: center;
	gap: 10px;
	color: rgba(255, 255, 255, 0.82);
	font-size: 15px;
	font-weight: 700;
}

.pth-hero__facts li::before {
	content: '';
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: var(--ptg-rose) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.3 2.3 4.7-4.8' fill='none' stroke='%23183030' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat;
}

/* Bouton pause de la vidéo : discret, en bas à droite */
.ptg .pth-hero__pause {
	position: absolute;
	right: 32px;
	bottom: 32px;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.45);
	border-radius: 50%;
	background: rgba(12, 26, 26, 0.35);
	color: #fff;
	cursor: pointer;
	transition: background-color 0.2s var(--ptg-ease), border-color 0.2s var(--ptg-ease);
}

.ptg .pth-hero__pause[hidden] {
	display: none;
}

.ptg .pth-hero__pause:hover {
	border-color: #fff;
	background: rgba(12, 26, 26, 0.6);
}

.pth-hero__pause svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.pth-hero__pause-on {
	display: none;
}

.pth-hero__pause[aria-pressed="true"] .pth-hero__pause-off {
	display: none;
}

.pth-hero__pause[aria-pressed="true"] .pth-hero__pause-on {
	display: block;
	fill: currentColor;
}

/* Flèches des sous-menus de l'en-tête : cible d'au moins 24 px (WCAG 2.5.8) */
.ast-header-navigation-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 24px;
	min-height: 24px;
}

/* <picture> ajouté pour le WebP : sans effet sur la mise en page */
.ptg .pt-picture {
	display: contents;
}

/* ---------- 2. Points de départ ---------- */

.ptg .pth-paths {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--pth-gap);
}

/* Carte photo pleine hauteur, texte blanc aligné en bas */
.ptg .pth-path {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: flex-end;
	height: 100%;
	min-height: 440px;
	overflow: hidden;
	border-radius: var(--pth-radius);
	background: var(--ptg-ink);
	color: #fff;
	text-decoration: none;
}

/* Photo limitée au haut de la carte : moins recadrée (moins « zoomée ») */
.ptg .pth-path__img {
	position: absolute;
	inset: 0 0 auto;
	z-index: -2;
	width: 100%;
	height: 62%;
	max-width: none;
	object-fit: cover;
	/* Même tonalité pour les 4 photos (séances différentes) : un peu désaturées, légèrement chaudes */
	filter: saturate(0.82) sepia(0.14) contrast(0.96) brightness(1.03);
}

.ptg .pth-path::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(12, 26, 26, 0.05) 0%, rgba(12, 26, 26, 0.25) 26%, rgba(12, 26, 26, 0.88) 50%, rgb(24, 48, 48) 62%);
	transition: background-color 0.25s var(--ptg-ease);
}

.ptg .pth-path:hover::before {
	background-color: rgba(12, 26, 26, 0.25);
}

.pth-path__body {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 100%;
	padding: 28px 26px 26px;
}

.pth-path__label {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ptg-rose);
}

.ptg .pth-path .pth-h3 {
	margin: 0;
	color: #fff;
	text-wrap: balance;
}

.ptg .pth-path .pth-text {
	margin: 0;
	color: rgba(255, 255, 255, 0.82);
}

.pth-path__more {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: 10px;
	padding-top: 18px;
	border-top: 1px solid rgba(255, 255, 255, 0.22);
	font-size: 15px;
	font-weight: 700;
}

.pth-path__go {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1.5px solid rgba(255, 255, 255, 0.6);
	border-radius: 50%;
	transition: background-color 0.2s var(--ptg-ease), border-color 0.2s var(--ptg-ease), color 0.2s var(--ptg-ease);
}

.pth-path__go svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.ptg .pth-path:hover .pth-path__go {
	border-color: var(--ptg-rose);
	background: var(--ptg-rose);
	color: var(--ptg-ink);
}

/* Titres et textes alignés d'une carte à l'autre (4 colonnes) */
@media (min-width: 1101px) {
	.ptg .pth-path .pth-h3 { min-height: 2.4em; }
	.ptg .pth-path .pth-text { min-height: 4.8em; }
}

/* Budget : cadrer les mains et la tablette */
.ptg .pth-paths > li:nth-child(2) .pth-path__img {
	object-position: 36% 50%;
}

/* Cartes claires (couleurs du site) : texte et bouton foncés */
.ptg .pth-path--budget { --path-bg: 227, 240, 232; } /* vert pâle des outils */
.ptg .pth-path--app { --path-bg: 247, 174, 161; }    /* saumon */

.ptg .pth-path--budget,
.ptg .pth-path--app {
	background: rgb(var(--path-bg));
	color: var(--ptg-ink);
}

.ptg .pth-path--budget::before,
.ptg .pth-path--app::before {
	background: linear-gradient(180deg, rgba(var(--path-bg), 0) 0%, rgba(var(--path-bg), 0.3) 20%, rgba(var(--path-bg), 0.95) 40%, rgb(var(--path-bg)) 52%);
}

.ptg .pth-path--budget:hover::before,
.ptg .pth-path--app:hover::before {
	background-color: rgba(12, 26, 26, 0.12);
}

.ptg .pth-path--budget .pth-h3,
.ptg .pth-path--app .pth-h3 {
	color: var(--ptg-ink);
}

.ptg .pth-path--budget .pth-text,
.ptg .pth-path--app .pth-text {
	color: #2f4240;
}

.pth-path--budget .pth-path__label,
.pth-path--app .pth-path__label {
	color: #8a3324;
}

.pth-path--budget .pth-path__label {
	color: #2f6b55;
}

.pth-path--budget .pth-path__more,
.pth-path--app .pth-path__more {
	border-top-color: rgba(24, 48, 48, 0.2);
}

.pth-path--budget .pth-path__go,
.pth-path--app .pth-path__go {
	border-color: var(--ptg-ink);
	background: transparent;
	color: var(--ptg-ink);
}

.ptg .pth-path--budget:hover .pth-path__go,
.ptg .pth-path--app:hover .pth-path__go,
.pth-path--app .pth-path__go {
	border-color: var(--ptg-ink);
	background: var(--ptg-ink);
	color: #fff;
}

/* ---------- 3. Application ---------- */

.pth-app {
	background: var(--ptg-mint);
}

.pth-app__grid {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 48px 88px;
	align-items: start;
}

.pth-app__copy {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding-top: 8px;
}

.ptg .pth-app__copy .pth-h2 {
	font-size: clamp(32px, 3vw, 44px);
}

.ptg .pth-proofs {
	display: flex;
	flex-direction: column;
	gap: 24px;
	margin-top: 24px;
}

.pth-proofs li {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr);
	gap: 16px;
	align-items: start;
}

.pth-proofs__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: #fff;
	color: #a8402d;
	box-shadow: 0 1px 2px rgba(24, 48, 48, 0.06);
}

.pth-proofs__icon svg,
.pth-tool__icon svg {
	width: 22px;
	height: 22px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.ptg .pth-proofs__title {
	margin: 2px 0 4px;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--ptg-ink);
}

.pth-proofs .pth-text {
	font-size: 15.5px;
}

.pth-app__media {
	display: flex;
	flex-direction: column;
	gap: 28px;
}

.ptg .pth-app__visual {
	margin: 0;
	overflow: hidden;
	border-radius: var(--pth-radius);
	box-shadow: var(--pth-shadow);
}

.pth-app__visual img {
	width: 100%;
}

.pth-app__cta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 24px;
}

.pth-flow-wrap {
	margin-top: 96px;
	padding: 48px;
	border-radius: var(--pth-radius);
	background: #fff;
	box-shadow: var(--pth-shadow);
}

.pth-flow-wrap__head {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 12px 80px;
	align-items: baseline;
	margin-bottom: 32px;
}

.pth-flow-wrap__head .pth-text {
	max-width: 56ch;
}

/* Animation « tout est relié » (dessinée par pt-accueil.js) */
.pth-flow {
	--flow-grid: rgba(24, 48, 48, 0.06);
	--flow-line: #cdd6d1;
	--flow-ink: #183030;
	--flow-soft: #526354;
	--flow-paper: #fff;
	--flow-rose: #f7aea1;
	--flow-rose-deep: #e07b67;
	width: 100%;
	font-family: Helvetica, Arial, sans-serif;
}

.pth-flow__svg {
	display: block;
	width: 100%;
	height: auto;
}

.pth-flow text {
	font-family: inherit;
	fill: var(--flow-ink);
}

.pth-flow .t-box { fill: var(--flow-paper); stroke: var(--flow-ink); stroke-width: 1.5; transition: fill 0.25s ease; }
.pth-flow .t-ico { fill: none; stroke: var(--flow-ink); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.pth-flow .wire { fill: none; stroke: var(--flow-line); stroke-width: 1.4; }
.pth-flow .lit { fill: none; stroke: var(--flow-rose-deep); stroke-width: 2.6; stroke-linecap: round; opacity: 0; }
.pth-flow .port { fill: var(--flow-ink); }
.pth-flow .brk { fill: none; stroke: var(--flow-ink); stroke-width: 2; opacity: 0; transition: opacity 0.25s ease; }
.pth-flow .tile.on .brk { opacity: 1; }
.pth-flow .tile.on .t-box { fill: var(--flow-rose); }
.pth-flow .hub-box { fill: var(--flow-paper); stroke: var(--flow-ink); stroke-width: 2.5; transition: fill 0.4s ease; }
.pth-flow .hub.on .hub-box { fill: var(--flow-rose); }
.pth-flow .hub-title { font-size: 19px; font-weight: 700; }
.pth-flow .hub-sub { font-size: 12.5px; fill: var(--flow-soft); }
.pth-flow .hub.on .hub-sub { fill: var(--flow-ink); }
.pth-flow .tab-box { fill: var(--flow-paper); stroke: var(--flow-line); stroke-width: 1.2; transition: fill 0.3s ease, stroke 0.3s ease; }
.pth-flow .tab text { font-size: 12px; font-weight: 700; fill: var(--flow-soft); }
.pth-flow .tab.on .tab-box { fill: var(--flow-rose); stroke: var(--flow-ink); stroke-width: 1.5; }
.pth-flow .tab.on text { fill: var(--flow-ink); }
.pth-flow .pill { opacity: 0; }
.pth-flow .pill rect { fill: var(--flow-rose); stroke: var(--flow-ink); stroke-width: 1.5; }
.pth-flow .pill text { font-size: 13px; font-weight: 700; }

/* Variante photo : section sur image assombrie, traits blancs */
.pth-flow-wrap { --flow-photo-src: url("/wp-content/uploads/2024/10/pour-toujours-mariage-3-1536x864.webp"); }
.pth-flow-wrap.is-near { --flow-photo: var(--flow-photo-src); }

.pth-flow-wrap {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	color: #fff;
	--flow-photo: none; /* chargée seulement à l'approche de la section (classe is-near, pt-accueil.js) */
	/* Plus sombre derrière le titre et le planificateur, plus clair dans les coins */
	background:
		linear-gradient(180deg, rgba(12, 26, 26, 0.32) 0%, rgba(12, 26, 26, 0) 32%),
		radial-gradient(ellipse 50% 55% at 50% 55%, rgba(12, 26, 26, 0.3) 0%, rgba(12, 26, 26, 0) 100%),
		linear-gradient(rgba(12, 26, 26, 0.58), rgba(12, 26, 26, 0.64)),
		var(--flow-photo) center 40% / cover no-repeat #0c1a1a;
}

.ptg .pth-flow-wrap .pth-h3 { color: #fff; }
.ptg .pth-flow-wrap .pth-text { color: rgba(255, 255, 255, 0.84); }

.pth-flow-wrap .pth-flow {
	--flow-grid: transparent; /* pas de quadrillage sur la photo */
	--flow-line: rgba(255, 255, 255, 0.42);
	--flow-ink: #fff;
	--flow-soft: rgba(255, 255, 255, 0.78);
	--flow-paper: rgba(12, 26, 26, 0.45);
}

/* Texte et pictos foncés quand l'élément est rose */
.pth-flow-wrap .pth-flow .tile.on .t-ico { stroke: #183030; }
.pth-flow-wrap .pth-flow .hub.on text,
.pth-flow-wrap .pth-flow .tab.on text,
.pth-flow-wrap .pth-flow .pill text { fill: #183030; }
.pth-flow-wrap .pth-flow .tab.on .tab-box,
.pth-flow-wrap .pth-flow .pill rect,
.pth-flow-wrap .pth-flow .hub-box { stroke: #fff; }

/* ---------- 4. Témoignages ---------- */

.ptg .pth-messages {
	columns: 3;
	column-gap: var(--pth-gap);
}

.ptg .pth-quote {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 32px;
	break-inside: avoid;
	margin: 0 0 var(--pth-gap);
	padding: 36px 32px 32px;
	border: 0;
	border-radius: var(--pth-radius);
	background: var(--ptg-rose-tint);
	color: var(--ptg-ink);
	font-style: normal;
	quotes: none;
}

.ptg .pth-quote::before,
.ptg .pth-quote::after {
	content: none;
}

.ptg .pth-quote--mint {
	background: var(--ptg-mint);
}

.ptg .pth-quote p {
	color: var(--ptg-ink);
	font-size: 26px;
	font-style: normal;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.02em;
	text-wrap: balance;
}

.ptg .pth-quote footer {
	color: var(--ptg-ink-soft);
	font-size: 14px;
	font-style: normal;
}

.pth-proof__cta {
	margin-top: 40px;
}

.ptg .pth-message {
	break-inside: avoid;
	margin: 0 0 var(--pth-gap);
	overflow: hidden;
	border: 1px solid var(--ptg-line);
	border-radius: 16px;
	background: #fff;
	box-shadow: var(--pth-shadow);
}

.pth-message img {
	width: 100%;
}

/* ---------- 4b. Qui on est (fond clair, ton positif) ---------- */

.pth-about {
	padding: 56px 0;
	background: var(--ptg-rose-tint);
}

.pth-about__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); /* moitié texte, moitié photo */
	gap: 32px 64px;
	align-items: stretch;
}

.pth-about__story {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 10px;
}

/* Photo de la colonne de droite (photographe québécoise) */
.ptg .pth-about__media {
	position: relative;
	min-height: 0;
	margin: 0;
	overflow: hidden;
	border-radius: var(--pth-radius);
	background: #e9d9d4;
}

.ptg .pth-about__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: 50% 45%;
	filter: saturate(0.88) sepia(0.08);
}

.ptg .pth-about__media figcaption {
	position: absolute;
	left: 16px;
	bottom: 14px;
	padding: 5px 10px;
	border-radius: 99px;
	background: rgba(12, 26, 26, 0.55);
	color: #fff;
	font-size: 12px;
	line-height: 1.3;
}

.ptg .pth-about__media figcaption a {
	color: #fff;
	text-decoration: underline;
	text-decoration-color: rgba(255, 255, 255, 0.5);
	text-underline-offset: 2px;
	transition: text-decoration-color 0.2s var(--ptg-ease);
}

.ptg .pth-about__media figcaption a:hover {
	text-decoration-color: var(--ptg-rose);
}

.ptg .pth-about__eyebrow {
	margin: 0;
	color: #8a4a40;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.ptg .pth-about__title {
	margin: 0;
	color: var(--ptg-ink);
	font-size: clamp(28px, 2.4vw, 34px);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -0.03em;
}

/* Deuxième ligne en Georgia, comme le héros */
.pth-about__title span {
	display: block;
	font-family: Georgia, 'Times New Roman', serif;
	font-weight: 400;
	letter-spacing: -0.02em;
}

.ptg .pth-about__text {
	max-width: 52ch;
	margin: 0;
	color: var(--ptg-ink-soft);
	font-size: 16px;
	line-height: 1.6;
}

.ptg .pth-about__link {
	margin-top: 6px;
	color: var(--ptg-ink);
	font-size: 16px;
	font-weight: 700;
	text-decoration: none;
	border-bottom: 1px solid var(--ptg-rose);
	transition: color 0.2s var(--ptg-ease), border-color 0.2s var(--ptg-ease);
}

.ptg .pth-about__link span {
	color: #a8402d;
}

.ptg .pth-about__link:hover {
	color: #a8402d;
	border-color: #a8402d;
}

.ptg .pth-about__points {
	display: flex;
	flex-direction: column;
	align-self: stretch;
	margin: 6px 0 4px;
	padding: 0;
	list-style: none;
}

.pth-about__points li {
	display: grid;
	grid-template-columns: 22px minmax(0, 1fr);
	gap: 2px 12px;
	padding: 10px 0;
	border-top: 1px solid rgba(138, 74, 64, 0.18);
}

.pth-about__points li:last-child {
	border-bottom: 1px solid rgba(138, 74, 64, 0.18);
}

/* Petite coche rose */
.pth-about__points li::before {
	content: "";
	grid-row: span 2;
	width: 22px;
	height: 22px;
	margin-top: 1px;
	border-radius: 50%;
	background: var(--ptg-rose) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.3 2.3 4.7-4.8' fill='none' stroke='%23183030' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat;
}

.pth-about__points strong {
	color: var(--ptg-ink);
	font-size: 16px;
	font-weight: 700;
}

.pth-about__points span {
	color: var(--ptg-ink-soft);
	font-size: 15px;
	line-height: 1.5;
}

/* ---------- 5. Outils ---------- */

.pth-tools {
	background: var(--ptg-mint);
}

.ptg .pth-tools__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--pth-gap);
}

.ptg .pth-tool {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	border-radius: var(--pth-radius);
	background: #fff;
	color: inherit;
	text-decoration: none;
	box-shadow: var(--pth-shadow);
	outline: 1px solid transparent;
	outline-offset: -1px;
	transition: outline-color 0.2s var(--ptg-ease);
}

/* Contour au survol seulement avec une souris : pas de contour figé après un toucher */
@media (hover: hover) {
	.ptg .pth-tool:hover {
		outline-color: var(--tool-accent);
	}
}

/* Couleur propre à chaque outil */
.pth-tool--budget { --tool-bg: #fdf0ed; --tool-accent: #e07b67; }
.pth-tool--timeline { --tool-bg: #e3f0e8; --tool-accent: #2f6b55; }
.pth-tool--checklist { --tool-bg: #f3eee4; --tool-accent: #8a6a2f; }

.pth-tool__art {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 172px;
	padding: 14px 28px;
	background: var(--tool-bg);
}

/* Illustration : petite fiche qui montre le résultat de l'outil */
.pth-mini {
	width: 100%;
	max-width: 280px;
	padding: 14px 18px;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(24, 48, 48, 0.05), 0 10px 24px -14px rgba(24, 48, 48, 0.22);
	font-size: 12px;
	line-height: 1.3;
	color: var(--ptg-ink);
}

.pth-mini__top {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}

.pth-mini__top span {
	color: var(--ptg-ink-soft);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.pth-mini__top strong {
	font-size: 16px;
	letter-spacing: -0.01em;
}

/* Budget : barre empilée et légende */
.pth-mini__bar {
	display: flex;
	gap: 3px;
	height: 12px;
	margin-bottom: 16px;
}

.pth-mini__bar i {
	width: var(--w);
	border-radius: 3px;
}

.pth-mini__bar i:nth-child(1),
.pth-mini__legend li:nth-child(1) b { background: #e07b67; }
.pth-mini__bar i:nth-child(2),
.pth-mini__legend li:nth-child(2) b { background: #f7aea1; }
.pth-mini__bar i:nth-child(3),
.pth-mini__legend li:nth-child(3) b { background: #183030; }
.pth-mini__bar i:nth-child(4) { background: #8fb5a3; }
.pth-mini__bar i:nth-child(5) { background: #e4e9e6; }

.ptg .pth-mini__legend {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.pth-mini__legend li {
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 700;
}

.pth-mini__legend b {
	width: 8px;
	height: 8px;
	border-radius: 2px;
}

.pth-mini__legend span {
	margin-left: auto;
	color: var(--ptg-ink-soft);
	font-weight: 400;
}

/* Échéancier : étapes reliées */
.ptg .pth-mini__steps {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.pth-mini__steps::before {
	content: '';
	position: absolute;
	top: 6px;
	bottom: 6px;
	left: 5px;
	width: 2px;
	background: #dfe7e2;
}

.pth-mini__steps li {
	position: relative;
	display: flex;
	align-items: center;
	gap: 8px;
	padding-left: 24px;
	color: var(--ptg-ink-soft);
	font-weight: 700;
}

.pth-mini__steps li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	width: 12px;
	height: 12px;
	border: 2px solid #c8d3cd;
	border-radius: 50%;
	background: #fff;
	transform: translateY(-50%);
	box-sizing: border-box;
}

.pth-mini__steps li.is-done {
	color: #66756c;
	text-decoration: line-through;
}

.pth-mini__steps li.is-done::before {
	border-color: #2f6b55;
	background: #2f6b55;
}

.pth-mini__steps li.is-now {
	padding: 8px 10px 8px 24px;
	margin-left: -2px;
	border-radius: 8px;
	background: #e3f0e8;
	color: var(--ptg-ink);
}

.pth-mini__steps li.is-now::before {
	left: 0;
	border-color: #2f6b55;
	box-shadow: 0 0 0 4px rgba(47, 107, 85, 0.18);
}

.pth-mini__steps em {
	margin-left: auto;
	padding: 3px 8px;
	border-radius: 999px;
	background: #2f6b55;
	color: #fff;
	font-size: 10px;
	font-style: normal;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

/* Checklist : cases cochées */
.ptg .pth-mini__checks {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.pth-mini__checks li {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 4px 9px;
	border: 1px solid #ece7dd;
	border-radius: 8px;
	font-weight: 700;
}

.pth-mini__checks li::before {
	content: '';
	flex: none;
	width: 16px;
	height: 16px;
	border: 1.5px solid #cdbf9f;
	border-radius: 4px;
	box-sizing: border-box;
}

.pth-mini__checks li.is-done {
	color: #6e6655;
	text-decoration: line-through;
}

.pth-mini__checks li.is-done::before {
	border-color: #8a6a2f;
	background: #8a6a2f url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.2l2.6 2.6L12 5.4' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat;
}

.pth-tool__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	padding: 22px 26px 24px;
}

.ptg .pth-tool .pth-h3 {
	font-size: 20px;
}

.ptg .pth-tool .pth-text {
	font-size: 15px;
}

.ptg .pth-tool .pth-more {
	padding-top: 14px;
}

.pth-tool__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin-bottom: 2px;
	border-radius: 11px;
	background: var(--tool-bg);
	color: var(--tool-accent);
}

/* ---------- 6. Ressources (photo avec voile sombre) ---------- */

.pth-res {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: var(--ptg-ink);
	color: #fff;
}

.ptg .pth-res__bg {
	position: absolute;
	inset: 0;
	z-index: -2;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center 55%;
}

.pth-res::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(180deg, rgba(12, 26, 26, 0.82) 0%, rgba(12, 26, 26, 0.7) 45%, rgba(12, 26, 26, 0.86) 100%);
}

.pth-res__head {
	max-width: 760px;
	margin-bottom: 56px;
}

.ptg .pth-res .pth-h2 {
	color: #fff;
}

.pth-res .pth-lead {
	color: rgba(255, 255, 255, 0.82);
}

/* Sujets : tuiles givrées */
.ptg .pth-topics {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.ptg .pth-topic {
	display: flex;
	align-items: center;
	gap: 18px;
	height: 100%;
	padding: 22px 22px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
	text-decoration: none;
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	transition: background-color 0.2s var(--ptg-ease), border-color 0.2s var(--ptg-ease);
}

.ptg .pth-topic:hover {
	border-color: rgba(247, 174, 161, 0.6);
	background: rgba(255, 255, 255, 0.16);
	color: #fff;
}

.pth-topic__icon {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 14px;
	background: var(--ptg-rose);
	color: var(--ptg-ink);
}

.pth-topic__icon svg {
	width: 24px;
	height: 24px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.pth-topic__text {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.pth-topic__text strong {
	font-size: 18px;
	line-height: 1.25;
}

.pth-topic__text span {
	color: rgba(255, 255, 255, 0.68);
	font-size: 14px;
}

.pth-topic__arrow {
	flex: none;
	color: var(--ptg-rose);
	font-size: 20px;
	transition: color 0.2s var(--ptg-ease);
}

.pth-topic:hover .pth-topic__arrow {
	color: #fff;
}

.ptg .pth-link--light {
	color: #fff;
}

.ptg .pth-link--light:hover {
	border-color: #fff;
}

.ptg .pth-res__all {
	margin-top: 40px;
}

/* ---------- 8. Fournisseurs ---------- */

.ptg .pth-sup__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--pth-gap);
}

.ptg .pth-sup__card {
	position: relative;
	display: block;
	height: 260px;
	overflow: hidden;
	isolation: isolate;
	border-radius: var(--pth-radius);
	background: var(--ptg-ink);
	color: #fff;
	text-decoration: none;
}

.ptg .pth-sup__img {
	position: absolute;
	inset: 0;
	z-index: -2;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	/* Tonalité commune aux 6 photos, comme les cartes « Commence ici » */
	filter: saturate(0.8) sepia(0.12) contrast(0.95) brightness(0.97);
}

.pth-sup__card::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(12, 26, 26, 0) 35%, rgba(12, 26, 26, 0.55) 70%, rgba(12, 26, 26, 0.85) 100%);
	transition: background-color 0.25s var(--ptg-ease);
}

.pth-sup__card:hover::after {
	background-color: rgba(12, 26, 26, 0.12);
}

.pth-sup__name {
	position: absolute;
	left: 24px;
	right: 24px;
	bottom: 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	color: #fff;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -0.015em;
	line-height: 1.2;
}

.pth-sup__arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--ptg-rose);
	color: var(--ptg-ink);
	transition: background-color 0.2s var(--ptg-ease), color 0.2s var(--ptg-ease);
}

.pth-sup__arrow svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.4;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.pth-sup__card:hover .pth-sup__arrow {
	background: #fff;
	color: var(--ptg-ink);
}

.ptg .pth-sup__all {
	margin-top: 64px;
}

/* ---------- 9. Questions fréquentes ---------- */

.ptg .pth-faq__item p a {
	color: var(--ptg-ink);
	font-weight: 700;
	white-space: nowrap;
	text-decoration: underline;
	text-decoration-color: var(--ptg-rose);
	text-underline-offset: 3px;
}

.ptg .pth-faq__item p a span {
	color: #a8402d;
}


.pth-faq {
	background: var(--ptg-mint);
}

.pth-faq__grid {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 40px 96px;
	align-items: start;
}

.pth-faq .pth-lead a {
	color: var(--ptg-ink);
	text-decoration: underline;
	text-decoration-color: var(--ptg-rose-deep);
	text-underline-offset: 4px;
}

.pth-faq__list {
	border-top: 1px solid var(--ptg-line);
}

.pth-faq__item {
	border-bottom: 1px solid var(--ptg-line);
}

.ptg .pth-faq__item summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 26px 0;
	color: var(--ptg-ink);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -0.01em;
	list-style: none;
	cursor: pointer;
	transition: color 0.2s var(--ptg-ease);
}

.pth-faq__item summary::-webkit-details-marker {
	display: none;
}

.ptg .pth-faq__item summary:hover {
	color: #a8402d;
}

/* Signe + / − : change d'état sans animation */
.pth-faq__sign {
	position: relative;
	flex: none;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--ptg-rose);
	transition: background-color 0.2s var(--ptg-ease);
}

.pth-faq__sign::before,
.pth-faq__sign::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 12px;
	height: 2px;
	margin: -1px 0 0 -6px;
	border-radius: 1px;
	background: var(--ptg-ink);
}

.pth-faq__sign::after {
	width: 2px;
	height: 12px;
	margin: -6px 0 0 -1px;
}

.pth-faq__item[open] .pth-faq__sign::after {
	display: none;
}

.pth-faq__item[open] .pth-faq__sign {
	background: #fff;
	box-shadow: inset 0 0 0 1px var(--ptg-line);
}

.ptg .pth-faq__item p {
	max-width: 64ch;
	padding: 0 56px 28px 0;
	color: var(--ptg-ink-soft);
	font-size: 17px;
	line-height: 1.6;
}

/* ---------- Tablette ---------- */

@media (max-width: 1100px) {
	.ptg .pth-hero__title,
	.ptg .pth-hero__lead {
		max-width: 760px;
	}

	.pth .ptg-wrap {
		padding-left: 40px;
		padding-right: 40px;
	}

	.ptg .pth-paths {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pth-about__inner {
		grid-template-columns: minmax(0, 1fr);
	}

	.ptg .pth-about__media {
		order: -1;
		min-height: 0;
		aspect-ratio: 16 / 10;
	}

	.ptg .pth-about__img {
		object-position: 50% 22%;
	}

	.pth-app__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.pth-app__copy {
		max-width: 720px;
	}

	.ptg .pth-topics {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ptg .pth-messages {
		columns: 2;
	}

}

@media (max-width: 1000px) {
	.ptg .pth-tools__list {
		grid-template-columns: minmax(0, 1fr);
		max-width: 680px;
	}


	.ptg .pth-sup__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pth-head--split,
	.pth-flow-wrap__head,
	.pth-faq__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.pth-head--split > .pth-lead,
	.pth-head--split > .pth-link {
		margin-bottom: 0;
	}


}

/* ---------- Mobile ---------- */

@media (max-width: 640px) {
	.pth {
		--pth-section: 72px;
		--pth-head: 32px;
		--pth-gap: 12px;
		--pth-radius: 16px;
	}

	.pth .ptg-wrap {
		padding-left: 20px;
		padding-right: 20px;
	}

	.ptg .pth-h2 {
		font-size: 30px;
		line-height: 1.08;
	}

	.pth-lead {
		font-size: 16.5px;
		line-height: 1.55;
	}

	.pth-head {
		gap: 12px;
	}

	.pth-head__main {
		gap: 12px;
	}

	/* Héros : texte en bas, photo visible en haut, hiérarchie resserrée */
	.pth-hero__inner {
		justify-content: flex-end;
		min-height: 0;
		padding-top: 88px;
		padding-bottom: 36px;
	}

	.pth-hero::after {
		background: linear-gradient(180deg, rgba(12, 26, 26, 0.15) 0%, rgba(12, 26, 26, 0.55) 14%, rgba(12, 26, 26, 0.82) 40%, rgba(12, 26, 26, 0.95) 100%);
	}

	.ptg .pth-hero__poster,
	.pth-hero__video {
		object-position: 62% 30%;
	}

	.pth-hero .ptg-eyebrow {
		font-size: 11px;
		letter-spacing: 0.14em;
	}

	.ptg .pth-hero__title {
		margin-top: 14px;
		font-size: clamp(34px, 9.4vw, 42px);
		line-height: 1.02;
		letter-spacing: -0.03em;
	}

	.pth-hero__accent {
		margin-top: 0.2em;
	}

	.ptg .pth-hero__lead {
		margin-top: 18px;
		font-size: 16px;
		line-height: 1.5;
		color: rgba(255, 255, 255, 0.8);
	}

	.pth-hero .pth-actions {
		margin-top: 28px;
	}

	.pth-actions {
		flex-direction: column;
		align-items: stretch;
		gap: 4px;
		width: 100%;
	}

	.ptg .pth-actions .ptg-btn {
		width: 100%;
		min-height: 54px;
	}

	/* Bouton secondaire : simple lien, moins lourd que deux pilules empilées */
	.ptg .pth-btn-ghost {
		width: 100%;
		min-height: 48px;
		border-color: transparent;
		font-size: 16px;
		text-decoration: underline;
		text-decoration-color: rgba(255, 255, 255, 0.45);
		text-underline-offset: 6px;
	}

	.ptg .pth-btn-ghost:hover {
		border-color: transparent;
		background: none;
	}

	.ptg .pth-hero__facts {
		justify-content: center;
		gap: 6px 16px;
		margin-top: 16px;
		padding-top: 18px;
		border-top: 1px solid rgba(255, 255, 255, 0.16);
	}

	.pth-hero__facts li {
		gap: 6px;
		font-size: 12.5px;
		color: rgba(255, 255, 255, 0.75);
	}

	.pth-hero__facts li::before {
		width: 14px;
		height: 14px;
		background-size: 11px;
	}

	.ptg .pth-hero__pause {
		top: 16px;
		right: 16px;
		bottom: auto;
		width: 40px;
		height: 40px;
	}

	/* Qui on est */
	.pth-about {
		padding: 48px 0;
	}

	.pth-about__points li {
		padding: 12px 0;
	}

	/* Points de départ : carrousel horizontal */
	.ptg .pth-paths {
		display: flex;
		gap: 14px;
		margin: 0 -20px;
		padding: 0 20px 8px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-padding: 0 20px;
		scrollbar-width: none;
	}

	.ptg .pth-paths::-webkit-scrollbar {
		display: none;
	}

	.ptg .pth-paths > li {
		flex: 0 0 78%;
		scroll-snap-align: start;
	}

	.ptg .pth-path {
		min-height: 420px;
		border-radius: 16px;
	}

	.pth-path__body {
		padding: 22px 20px 20px;
	}

	.ptg .pth-path .pth-h3 {
		font-size: 20px;
	}

	.ptg .pth-path .pth-text {
		font-size: 15px;
		line-height: 1.5;
	}

	/* Application */
	.pth-app__grid {
		gap: 32px;
	}

	.ptg .pth-app__copy .pth-h2 {
		font-size: 30px;
	}

	.ptg .pth-proofs {
		gap: 18px;
		margin-top: 12px;
	}

	.pth-proofs li {
		grid-template-columns: 36px minmax(0, 1fr);
		gap: 14px;
	}

	.pth-proofs__icon {
		width: 36px;
		height: 36px;
		border-radius: 10px;
	}

	.pth-proofs__icon svg {
		width: 18px;
		height: 18px;
	}

	.ptg .pth-proofs__title {
		margin-top: 0;
		font-size: 16.5px;
	}

	.pth-proofs .pth-text {
		font-size: 15px;
	}

	.pth-app__media {
		gap: 20px;
	}

	.ptg .pth-app__visual {
		border-radius: 14px;
	}

	.pth-app__cta .ptg-btn {
		width: 100%;
	}

	.pth-app__cta .pth-note {
		width: 100%;
		text-align: center;
	}

	.pth-flow-wrap {
		--flow-photo-src: url("/wp-content/uploads/2024/10/pour-toujours-mariage-3-768x432.webp");
		margin-top: 56px;
		padding: 24px 14px 14px;
		border-radius: 16px;
	}

	.pth-flow-wrap__head {
		padding: 0 6px;
		margin-bottom: 16px;
	}

	/* Témoignages */
	.ptg .pth-messages {
		columns: 1;
	}

	.ptg .pth-quote {
		gap: 16px;
		padding: 24px 22px;
	}

	.ptg .pth-quote p {
		font-size: 21px;
	}

	.ptg .pth-message {
		border-radius: 12px;
	}

	.pth-proof__cta {
		margin-top: 24px;
	}

	.pth-proof__cta .ptg-btn {
		width: 100%;
	}

	/* Outils : illustration plus basse, texte plus serré */
	.ptg .pth-tools__list {
		gap: 28px;
	}

	/* La fiche garde de l'air tout autour, sans déborder sur le texte */
	.pth-tool__art {
		height: auto;
		padding: 28px 24px;
	}

	.pth-mini {
		padding: 16px 18px;
		font-size: 12.5px;
	}

	.pth-tool__body {
		gap: 8px;
		padding: 20px 20px 22px;
	}

	.pth-tool__icon {
		display: none;
	}

	.pth-tool .pth-text {
		font-size: 15px;
	}

	.ptg .pth-tool .pth-more {
		padding-top: 10px;
		font-size: 15px;
	}

	/* Ressources : rangées compactes */
	.pth-res__head {
		margin-bottom: 28px;
	}

	.ptg .pth-topics {
		grid-template-columns: minmax(0, 1fr);
		gap: 8px;
	}

	.ptg .pth-topic {
		gap: 14px;
		padding: 14px 16px 14px 14px;
		border-radius: 14px;
	}

	.pth-topic__icon {
		width: 40px;
		height: 40px;
		border-radius: 10px;
	}

	.pth-topic__icon svg {
		width: 20px;
		height: 20px;
	}

	.pth-topic__text strong {
		font-size: 16px;
	}

	.pth-topic__text span {
		font-size: 13px;
	}

	.ptg .pth-res__all {
		margin-top: 28px;
	}

	/* Fournisseurs : grille de deux, cartes basses */
	.ptg .pth-sup__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.ptg .pth-sup__card {
		height: 150px;
		border-radius: 14px;
	}

	.pth-sup__name {
		align-items: flex-end;
		left: 14px;
		right: 12px;
		bottom: 12px;
		font-size: 15.5px;
		letter-spacing: -0.005em;
	}

	.pth-sup__arrow {
		width: 30px;
		height: 30px;
	}

	.pth-sup__arrow svg {
		width: 15px;
		height: 15px;
		stroke-width: 2.6;
	}

	.ptg .pth-sup__all {
		margin-top: 28px;
	}

	/* Questions fréquentes */
	.pth-faq__grid {
		gap: 28px;
	}

	.ptg .pth-faq__item summary {
		gap: 16px;
		padding: 20px 0;
		font-size: 17px;
	}

	.pth-faq__sign {
		width: 28px;
		height: 28px;
	}

	.ptg .pth-faq__item p {
		padding: 0 0 22px;
		font-size: 15.5px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.pth-hero__video {
		display: none;
	}

	.pth *,
	.pth *::before,
	.pth *::after {
		transition: none !important;
	}
}
