/* ==========================================================
   LPROJECT — PAGE SÉANCES
   Lisibilité renforcée : texte utile >= 16 px.
   ========================================================== */

.lpse-page{
	--lpse-bg:#070707;
	--lpse-bg2:#0b0b0c;
	--lpse-cream:#efe7da;
	--lpse-muted:#aaa198;
	--lpse-purple:#522759;
	--lpse-purple-2:#73407c;
	--lpse-line:rgba(239,231,218,.14);
	background:var(--lpse-bg);
	color:var(--lpse-cream);
}

.lpse-wrap{
	width:calc(100vw - 120px);
	max-width:none;
	margin:0 auto;
}

.lpse-kicker{
	margin:0 0 16px;
	color:#b58abe;
	font-size:12px;
	font-weight:700;
	letter-spacing:.22em;
	text-transform:uppercase;
}

.lpse-page h1,
.lpse-page h2,
.lpse-page h3{
	font-family:"DM Serif Display",Georgia,serif;
	font-weight:400;
	color:var(--lpse-cream);
}

.lpse-page h2{
	margin:0;
	font-size:clamp(44px,4.8vw,76px);
	line-height:.98;
	letter-spacing:-.025em;
}

.lpse-button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:14px;
	min-height:56px;
	padding:0 24px;
	border:1px solid var(--lpse-purple-2);
	background:var(--lpse-purple);
	color:#fff !important;
	font-size:12px;
	font-weight:700;
	letter-spacing:.12em;
	text-decoration:none !important;
	text-transform:uppercase;
	transition:.2s ease;
}

.lpse-button:hover{
	background:#66316f;
	border-color:#81478c;
	color:#fff !important;
}


/* HERO */
.lpse-hero{
	position:relative;
	min-height:720px;
	display:flex;
	align-items:flex-end;
	overflow:hidden;
	isolation:isolate;
	background:#080808;
}

.lpse-hero-media{
	position:absolute;
	inset:0;
	z-index:-3;
}

.lpse-hero-media img{
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
	filter:saturate(.85) brightness(.72);
}

.lpse-hero-shade{
	position:absolute;
	inset:0;
	z-index:-2;
	background:
		linear-gradient(90deg,rgba(6,6,6,.98) 0%,rgba(6,6,6,.82) 37%,rgba(6,6,6,.35) 62%,rgba(6,6,6,.08) 100%),
		linear-gradient(0deg,rgba(6,6,6,.70) 0%,rgba(6,6,6,0) 54%);
}

.lpse-hero-inner{
	padding:180px 0 82px;
}

.lpse-hero h1{
	max-width:760px;
	margin:0;
	font-size:clamp(76px,8vw,132px);
	line-height:.83;
	letter-spacing:-.045em;
	text-transform:uppercase;
}

.lpse-hero-text{
	max-width:660px;
	margin:27px 0 30px;
	color:#c6bdb3;
	font-size:18px;
	line-height:1.72;
}


/* GENERIC */
.lpse-section{
	padding:105px 0;
	border-bottom:1px solid var(--lpse-line);
}

.lpse-section-top{
	display:grid;
	grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);
	gap:70px;
	align-items:end;
	margin-bottom:48px;
}

.lpse-section-intro{
	max-width:620px;
	margin:0 0 5px auto;
	color:#afa69c;
	font-size:17px;
	line-height:1.75;
}


/* APPROCHE */
.lpse-approach-grid{
	display:grid;
	grid-template-columns:minmax(0,1.15fr) minmax(300px,.8fr) minmax(240px,.55fr);
	gap:42px;
	align-items:stretch;
}

.lpse-approach-copy{
	padding:32px 0;
}

.lpse-approach-copy p:not(.lpse-kicker){
	max-width:760px;
	margin:27px 0 0;
	color:#b4aba1;
	font-size:17px;
	line-height:1.82;
}

.lpse-approach-media{
	min-height:560px;
	overflow:hidden;
	background:#111;
}

.lpse-approach-media img{
	width:100%;
	height:100%;
	object-fit:cover;
	filter:saturate(.72);
}

.lpse-approach-points{
	display:flex;
	flex-direction:column;
	justify-content:center;
	gap:0;
	border-left:1px solid var(--lpse-line);
}

.lpse-point{
	display:grid;
	grid-template-columns:16px 1fr;
	gap:14px;
	align-items:start;
	padding:19px 0 19px 25px;
	border-bottom:1px solid rgba(239,231,218,.08);
}

.lpse-point:last-child{
	border-bottom:0;
}

.lpse-point > span{
	width:8px;
	height:8px;
	margin-top:7px;
	border-radius:50%;
	background:#8c5796;
}

.lpse-point strong{
	color:#d4cbc1;
	font-size:15px;
	font-weight:500;
	line-height:1.5;
}


/* UNIVERS */
.lpse-univers-grid{
	display:grid;
	grid-template-columns:repeat(5,minmax(0,1fr));
	gap:16px;
}

.lpse-universe-image{
	aspect-ratio:3/4;
	overflow:hidden;
	background:#111;
}

.lpse-universe-image img{
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform .5s ease;
}

.lpse-universe-card:hover img{
	transform:scale(1.025);
}

.lpse-universe-card h3{
	margin:20px 0 9px;
	font-family:inherit;
	font-size:15px;
	font-weight:700;
	letter-spacing:.11em;
	text-transform:uppercase;
}

.lpse-universe-card p{
	margin:0;
	color:#9e958c;
	font-size:15px;
	line-height:1.65;
}


/* PRICING */
.lpse-pricing{
	background:#090909;
}

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

.lpse-price-card{
	display:grid;
	grid-template-columns:minmax(210px,.72fr) minmax(0,1fr);
	min-height:510px;
	border:1px solid var(--lpse-line);
	background:#0d0d0e;
}

.lpse-price-image{
	overflow:hidden;
	background:#111;
}

.lpse-price-image img{
	width:100%;
	height:100%;
	object-fit:cover;
}

.lpse-price-content{
	display:flex;
	flex-direction:column;
	padding:34px;
}

.lpse-price-content > span{
	color:#867c73;
	font-size:12px;
}

.lpse-price-content h3{
	margin:4px 0 4px;
	font-size:43px;
	line-height:1;
}

.lpse-price{
	display:block;
	margin:0 0 25px;
	font-family:"DM Serif Display",Georgia,serif;
	font-size:44px;
	font-weight:400;
	color:#f0e5d7;
}

.lpse-price-content ul{
	display:flex;
	flex-direction:column;
	gap:10px;
	margin:0 0 30px;
	padding:0;
	list-style:none;
}

.lpse-price-content li{
	position:relative;
	padding-left:24px;
	color:#b0a79e;
	font-size:16px;
	line-height:1.5;
}

.lpse-price-content li::before{
	content:"✓";
	position:absolute;
	left:0;
	color:#d0b57f;
}

.lpse-price-content .lpse-button{
	margin-top:auto;
}


/* PROCESS */
.lpse-process-grid{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:34px;
	margin-top:50px;
}

.lpse-process-step{
	padding-top:4px;
}

.lpse-process-number{
	display:flex;
	width:47px;
	height:47px;
	align-items:center;
	justify-content:center;
	margin-bottom:24px;
	border-radius:50%;
	background:#eee3d4;
	color:#16120f;
	font-family:"DM Serif Display",Georgia,serif;
	font-size:17px;
}

.lpse-process-step h3{
	margin:0 0 14px;
	font-family:inherit;
	font-size:15px;
	font-weight:700;
	letter-spacing:.13em;
	text-transform:uppercase;
}

.lpse-process-step p{
	margin:0;
	color:#a69d94;
	font-size:16px;
	line-height:1.72;
}


/* LOCATION */
.lpse-location-grid{
	display:grid;
	grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
	gap:62px;
	align-items:center;
}

.lpse-location-image{
	min-height:480px;
	overflow:hidden;
	background:#111;
}

.lpse-location-image img{
	width:100%;
	height:100%;
	object-fit:cover;
}

.lpse-location-copy p:not(.lpse-kicker){
	margin:28px 0 30px;
	color:#aea59c;
	font-size:17px;
	line-height:1.78;
}


/* FAQ */
.lpse-faq-grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:12px 18px;
}

.lpse-faq-item{
	border:1px solid var(--lpse-line);
	background:#0c0c0d;
}

.lpse-faq-question{
	width:100%;
	min-height:66px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:18px;
	padding:0 22px !important;
	border:0 !important;
	border-radius:0 !important;
	background:transparent !important;
	color:#ded5ca !important;
	box-shadow:none !important;
	font-family:inherit !important;
	font-size:16px !important;
	font-weight:500 !important;
	line-height:1.4 !important;
	text-align:left !important;
	text-transform:none !important;
	letter-spacing:0 !important;
	cursor:pointer;
}

.lpse-faq-question i{
	font-size:22px;
	font-style:normal;
	font-weight:300;
	color:#c9a7d0;
	transition:transform .2s ease;
}

.lpse-faq-item.is-open .lpse-faq-question i{
	transform:rotate(45deg);
}

.lpse-faq-answer{
	display:none;
	padding:0 22px 20px;
}

.lpse-faq-item.is-open .lpse-faq-answer{
	display:block;
}

.lpse-faq-answer p{
	margin:0;
	color:#a99f96;
	font-size:16px;
	line-height:1.75;
}


/* CTA */
.lpse-cta{
	position:relative;
	min-height:420px;
	display:flex;
	align-items:center;
	overflow:hidden;
	isolation:isolate;
	text-align:center;
}

.lpse-cta-image{
	position:absolute;
	inset:0;
	z-index:-3;
}

.lpse-cta-image img{
	width:100%;
	height:100%;
	object-fit:cover;
	filter:brightness(.50) saturate(.8);
}

.lpse-cta-shade{
	position:absolute;
	inset:0;
	z-index:-2;
	background:
		linear-gradient(0deg,rgba(7,7,7,.88),rgba(7,7,7,.38)),
		linear-gradient(90deg,rgba(59,31,61,.28),rgba(7,7,7,.12));
}

.lpse-cta-inner{
	padding:85px 0;
}

.lpse-cta h2{
	margin:0 auto 31px;
	font-size:clamp(46px,5vw,78px);
}


/* RESPONSIVE */
@media(max-width:1200px){
	.lpse-wrap{
		width:calc(100% - 48px);
	}

	.lpse-univers-grid{
		grid-template-columns:repeat(3,minmax(0,1fr));
	}

	.lpse-approach-grid{
		grid-template-columns:1fr 1fr;
	}

	.lpse-approach-points{
		grid-column:1 / -1;
		display:grid;
		grid-template-columns:repeat(3,minmax(0,1fr));
		border-left:0;
		border-top:1px solid var(--lpse-line);
	}

	.lpse-point{
		padding-left:0;
		padding-right:20px;
	}
}

@media(max-width:900px){
	.lpse-section{
		padding:80px 0;
	}

	.lpse-section-top,
	.lpse-location-grid{
		grid-template-columns:1fr;
		gap:30px;
	}

	.lpse-section-intro{
		margin-left:0;
	}

	.lpse-pricing-grid{
		grid-template-columns:1fr;
	}

	.lpse-process-grid{
		grid-template-columns:1fr 1fr;
	}

	.lpse-faq-grid{
		grid-template-columns:1fr;
	}
}

@media(max-width:700px){
	.lpse-wrap{
		width:calc(100% - 30px);
	}

	.lpse-hero{
		min-height:650px;
	}

	.lpse-hero-shade{
		background:
			linear-gradient(0deg,#070707 3%,rgba(7,7,7,.75) 58%,rgba(7,7,7,.24) 100%),
			linear-gradient(90deg,rgba(7,7,7,.62),rgba(7,7,7,.15));
	}

	.lpse-hero-inner{
		padding:170px 0 58px;
	}

	.lpse-hero h1{
		font-size:clamp(62px,18vw,92px);
	}

	.lpse-hero-text{
		font-size:17px;
	}

	.lpse-section{
		padding:68px 0;
	}

	.lpse-page h2{
		font-size:41px;
	}

	.lpse-approach-grid{
		grid-template-columns:1fr;
		gap:26px;
	}

	.lpse-approach-media{
		min-height:420px;
	}

	.lpse-approach-points{
		grid-column:auto;
		grid-template-columns:1fr;
	}

	.lpse-univers-grid{
		grid-template-columns:1fr 1fr;
	}

	.lpse-universe-card p{
		font-size:14px;
	}

	.lpse-price-card{
		grid-template-columns:1fr;
	}

	.lpse-price-image{
		min-height:360px;
	}

	.lpse-process-grid{
		grid-template-columns:1fr;
		gap:38px;
	}

	.lpse-location-image{
		min-height:360px;
	}

	.lpse-faq-question{
		font-size:15px !important;
	}

	.lpse-faq-answer p{
		font-size:15px;
	}
}

@media(max-width:480px){
	.lpse-univers-grid{
		grid-template-columns:1fr;
	}
}


/* ==========================================================
   V1.0.1 — FAQ PLUS ÉLÉGANTE
   ========================================================== */

.lpse-faq .lpse-section-top{
	grid-template-columns:minmax(0,1fr) minmax(360px,.7fr);
	gap:56px;
	margin-bottom:42px;
}

.lpse-faq .lpse-section-top h2{
	font-size:clamp(46px,4.4vw,68px);
}

.lpse-faq .lpse-section-intro{
	max-width:560px;
	font-size:16px;
	line-height:1.75;
}

.lpse-faq-grid{
	gap:14px 18px !important;
	align-items:start;
}

.lpse-page .lpse-faq-item{
	position:relative;
	overflow:hidden;
	border:1px solid rgba(239,231,218,.14) !important;
	background:#0b0b0c !important;
	transition:
		border-color .2s ease,
		background-color .2s ease,
		transform .2s ease;
}

.lpse-page .lpse-faq-item:hover{
	border-color:rgba(178,138,186,.32) !important;
}

.lpse-page .lpse-faq-item.is-open{
	border-color:rgba(178,138,186,.48) !important;
	background:#100d11 !important;
}

.lpse-page .lpse-faq-item.is-open::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	bottom:0;
	width:3px;
	background:#6f3b78;
}

.lpse-page .lpse-faq-question,
.lpse-page .lpse-faq-item.is-open .lpse-faq-question,
.lpse-page .lpse-faq-question:hover,
.lpse-page .lpse-faq-question:focus{
	width:100% !important;
	min-height:72px !important;
	display:flex !important;
	align-items:center !important;
	justify-content:space-between !important;
	gap:18px !important;
	margin:0 !important;
	padding:0 24px !important;
	border:0 !important;
	border-radius:0 !important;
	background:transparent !important;
	background-image:none !important;
	box-shadow:none !important;
	color:#e0d7cc !important;
	font-family:inherit !important;
	font-size:17px !important;
	font-weight:500 !important;
	line-height:1.45 !important;
	letter-spacing:0 !important;
	text-align:left !important;
	text-transform:none !important;
	transform:none !important;
	outline:none !important;
	cursor:pointer !important;
}

.lpse-page .lpse-faq-item.is-open .lpse-faq-question{
	color:#f0e6d9 !important;
}

.lpse-page .lpse-faq-question i{
	flex:0 0 auto;
	display:flex;
	align-items:center;
	justify-content:center;
	width:28px;
	height:28px;
	margin:0 !important;
	border:1px solid rgba(178,138,186,.26);
	border-radius:50%;
	color:#c7a8ce !important;
	font-size:19px !important;
	font-style:normal !important;
	font-weight:300 !important;
	line-height:1 !important;
	transition:
		transform .22s ease,
		background-color .22s ease,
		border-color .22s ease;
}

.lpse-page .lpse-faq-item.is-open .lpse-faq-question i{
	transform:rotate(45deg);
	background:rgba(106,59,115,.22);
	border-color:rgba(178,138,186,.52);
}

.lpse-page .lpse-faq-answer{
	display:none;
	padding:0 24px 24px !important;
}

.lpse-page .lpse-faq-item.is-open .lpse-faq-answer{
	display:block;
}

.lpse-page .lpse-faq-answer p{
	margin:0 !important;
	padding-top:18px;
	border-top:1px solid rgba(239,231,218,.09);
	color:#b1a79e !important;
	font-size:16px !important;
	line-height:1.75 !important;
}

@media(max-width:900px){
	.lpse-faq .lpse-section-top{
		grid-template-columns:1fr;
		gap:22px;
	}

	.lpse-faq .lpse-section-intro{
		margin:0;
	}
}

@media(max-width:700px){
	.lpse-page .lpse-faq-question,
	.lpse-page .lpse-faq-item.is-open .lpse-faq-question,
	.lpse-page .lpse-faq-question:hover,
	.lpse-page .lpse-faq-question:focus{
		min-height:68px !important;
		padding:0 18px !important;
		font-size:16px !important;
	}

	.lpse-page .lpse-faq-answer{
		padding:0 18px 20px !important;
	}

	.lpse-page .lpse-faq-answer p{
		font-size:15px !important;
	}
}


/* ==========================================================
   V1.0.2 — VRAIES PHOTOS / ICÔNES / CTA
   ========================================================== */

/* --- Points approche avec vraies icônes --- */
.lpse-approach-points{
	gap:0 !important;
}

.lpse-point{
	grid-template-columns:42px minmax(0,1fr) !important;
	gap:16px !important;
	align-items:center !important;
	min-height:72px;
	padding:15px 0 15px 24px !important;
}

.lpse-point > span:not(.lpse-point-icon){
	display:none !important;
}

.lpse-point-icon{
	display:flex !important;
	align-items:center;
	justify-content:center;
	width:38px !important;
	height:38px !important;
	margin:0 !important;
	border:1px solid rgba(214,184,139,.32);
	border-radius:50% !important;
	background:rgba(214,184,139,.035) !important;
	color:#d4b98c;
}

.lpse-point-icon svg{
	width:20px;
	height:20px;
	display:block;
	fill:none;
	stroke:currentColor;
	stroke-width:1.45;
	stroke-linecap:round;
	stroke-linejoin:round;
}

.lpse-point strong{
	font-size:16px !important;
	line-height:1.45 !important;
	color:#d7cec4 !important;
}


/* --- Images : ne jamais dégrader artificiellement --- */
.lpse-hero-media img,
.lpse-approach-media img,
.lpse-price-image img,
.lpse-location-image img,
.lpse-universe-image img,
.lpse-cta-media img{
	image-rendering:auto;
}


/* --- CTA final : photo non massacrée par un énorme zoom --- */
.lpse-cta{
	min-height:0 !important;
	display:block !important;
	background:#090909 !important;
	border-top:1px solid var(--lpse-line);
	border-bottom:1px solid var(--lpse-line);
	text-align:left !important;
	overflow:hidden;
}

.lpse-cta-image,
.lpse-cta-shade,
.lpse-cta-inner{
	display:none !important;
}

.lpse-cta-grid{
	display:grid;
	grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr);
	min-height:420px;
}

.lpse-cta-media{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	min-width:0;
	padding:24px;
	overflow:hidden;
	background:
		radial-gradient(circle at center,rgba(83,51,73,.19),transparent 58%),
		#080808;
}

.lpse-cta-media::after{
	content:"";
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	width:32%;
	pointer-events:none;
	background:linear-gradient(90deg,transparent,#090909);
}

.lpse-cta-media img{
	position:relative;
	z-index:0;
	display:block;
	width:100%;
	height:372px;
	max-width:100%;
	border:0;
}

.lpse-cta-content{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	justify-content:center;
	padding:70px clamp(42px,6vw,110px);
	background:
		linear-gradient(135deg,rgba(92,48,88,.09),transparent 52%),
		#090909;
}

.lpse-cta-content h2{
	max-width:780px;
	margin:0 0 31px;
	font-size:clamp(48px,5.2vw,82px);
	line-height:.97;
}


/* --- Un peu plus de respiration avec de vraies photos --- */
.lpse-universe-image{
	background:#0d0d0e;
}

.lpse-price-card{
	overflow:hidden;
}

.lpse-location-image,
.lpse-approach-media{
	background:#0b0b0c;
}


/* Tablet */
@media(max-width:900px){
	.lpse-cta-grid{
		grid-template-columns:1fr;
	}

	.lpse-cta-media{
		min-height:410px;
	}

	.lpse-cta-media::after{
		top:auto;
		left:0;
		right:0;
		bottom:0;
		width:100%;
		height:25%;
		background:linear-gradient(0deg,#090909,transparent);
	}

	.lpse-cta-media img{
		height:390px;
	}

	.lpse-cta-content{
		align-items:center;
		padding:55px 30px 70px;
		text-align:center;
	}
}


/* Mobile */
@media(max-width:700px){
	.lpse-point{
		grid-template-columns:38px minmax(0,1fr) !important;
		padding:13px 0 !important;
	}

	.lpse-point-icon{
		width:34px !important;
		height:34px !important;
	}

	.lpse-point-icon svg{
		width:18px;
		height:18px;
	}

	.lpse-point strong{
		font-size:15px !important;
	}

	.lpse-cta-media{
		min-height:330px;
		padding:18px;
	}

	.lpse-cta-media img{
		height:310px;
	}

	.lpse-cta-content h2{
		font-size:43px;
	}
}


/* ==========================================================
   V1.0.3 — PROPORTIONS HERO / CTA
   ========================================================== */

/* HERO : plus compact, moins envahissant */
.lpse-hero{
	min-height:520px !important;
}

.lpse-hero-inner{
	padding:135px 0 56px !important;
}

.lpse-hero h1{
	max-width:650px !important;
	font-size:clamp(64px,6.4vw,104px) !important;
	line-height:.87 !important;
}

.lpse-hero-text{
	max-width:600px !important;
	margin:22px 0 26px !important;
	font-size:17px !important;
	line-height:1.68 !important;
}


/* CTA : beaucoup plus présent visuellement */
.lpse-cta-grid{
	grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr) !important;
	min-height:470px !important;
}

.lpse-cta-media{
	min-height:470px !important;
	padding:0 !important;
	background:#080808 !important;
}

.lpse-cta-media::after{
	width:18% !important;
	background:linear-gradient(90deg,transparent,#090909) !important;
}

.lpse-cta-media img{
	width:100% !important;
	height:470px !important;
	max-width:none !important;
	object-fit:cover !important;
}

.lpse-cta-content{
	padding:64px clamp(42px,5vw,88px) !important;
}

.lpse-cta-content h2{
	max-width:620px !important;
	margin-bottom:28px !important;
	font-size:clamp(48px,4.7vw,74px) !important;
}


/* Le mode "Photo entière" reste disponible mais ne réduit plus l'image à une vignette */
.lpse-cta-media img[style*="object-fit:contain"]{
	width:100% !important;
	height:470px !important;
	padding:20px !important;
	box-sizing:border-box !important;
	object-fit:contain !important;
	background:#080808 !important;
}


/* Tablette */
@media(max-width:900px){
	.lpse-hero{
		min-height:500px !important;
	}

	.lpse-hero-inner{
		padding:130px 0 48px !important;
	}

	.lpse-cta-grid{
		grid-template-columns:1fr !important;
		min-height:0 !important;
	}

	.lpse-cta-media{
		min-height:420px !important;
	}

	.lpse-cta-media img,
	.lpse-cta-media img[style*="object-fit:contain"]{
		height:420px !important;
	}

	.lpse-cta-media::after{
		top:auto !important;
		left:0 !important;
		right:0 !important;
		bottom:0 !important;
		width:100% !important;
		height:22% !important;
		background:linear-gradient(0deg,#090909,transparent) !important;
	}
}


/* Mobile */
@media(max-width:700px){
	.lpse-hero{
		min-height:460px !important;
	}

	.lpse-hero-inner{
		padding:125px 0 42px !important;
	}

	.lpse-hero h1{
		font-size:clamp(54px,16vw,78px) !important;
	}

	.lpse-cta-media{
		min-height:340px !important;
	}

	.lpse-cta-media img,
	.lpse-cta-media img[style*="object-fit:contain"]{
		height:340px !important;
		padding:10px !important;
	}

	.lpse-cta-content{
		padding:42px 22px 56px !important;
	}

	.lpse-cta-content h2{
		font-size:40px !important;
	}
}


/* ==========================================================
   V1.0.4 — CORRECTION DES 2 PHOTOS CONCERNÉES UNIQUEMENT
   ========================================================== */

/* ----------------------------------------------------------
   1. PHOTO "UNE SÉANCE, AVANT TOUT UNE RENCONTRE"
   Plus petite et mieux proportionnée au texte.
   ---------------------------------------------------------- */

.lpse-approach-grid{
	grid-template-columns:minmax(0,1.18fr) minmax(300px,.62fr) minmax(270px,.62fr) !important;
	gap:36px !important;
	align-items:center !important;
}

.lpse-approach-copy{
	align-self:start !important;
	padding-top:28px !important;
}

.lpse-approach-media{
	width:100% !important;
	max-width:440px !important;
	height:520px !important;
	min-height:0 !important;
	justify-self:center !important;
	align-self:center !important;
}

.lpse-approach-media img{
	width:100% !important;
	height:100% !important;
	object-fit:cover !important;
}

.lpse-approach-points{
	align-self:center !important;
}


/* ----------------------------------------------------------
   2. CTA "RÉSERVEZ VOTRE SÉANCE PHOTO"
   Photo sur TOUT le fond du bloc.
   L'image remplit la largeur sans l'ancien effet de grosse
   vignette / split. Le cadrage reste réglable dans l'admin.
   ---------------------------------------------------------- */

.lpse-cta.lpse-cta-full{
	position:relative !important;
	min-height:430px !important;
	display:flex !important;
	align-items:center !important;
	overflow:hidden !important;
	isolation:isolate !important;
	background:#090909 !important;
	border-top:1px solid var(--lpse-line) !important;
	border-bottom:1px solid var(--lpse-line) !important;
	text-align:left !important;
}

.lpse-cta-full-media{
	position:absolute !important;
	inset:0 !important;
	z-index:-3 !important;
	overflow:hidden !important;
	background:#090909 !important;
}

.lpse-cta-full-media img{
	position:absolute !important;
	left:0 !important;
	top:50% !important;
	transform:translateY(-50%) !important;
	width:100% !important;
	height:auto !important;
	min-height:100% !important;
	max-width:none !important;

	/*
	 * On privilégie la largeur réelle de la photo plutôt que
	 * le cover agressif : beaucoup moins d'effet "zoom".
	 */
	object-fit:cover !important;
}

.lpse-cta-full-overlay{
	position:absolute !important;
	inset:0 !important;
	z-index:-2 !important;
	background:
		linear-gradient(
			90deg,
			rgba(7,7,7,.24) 0%,
			rgba(7,7,7,.42) 36%,
			rgba(7,7,7,.82) 64%,
			rgba(7,7,7,.96) 100%
		),
		linear-gradient(
			0deg,
			rgba(7,7,7,.38),
			rgba(7,7,7,.12)
		) !important;
}

.lpse-cta-full-content{
	position:relative !important;
	z-index:1 !important;
	display:flex !important;
	flex-direction:column !important;
	align-items:flex-start !important;
	justify-content:center !important;
	min-height:430px !important;
	padding-top:62px !important;
	padding-bottom:62px !important;
	padding-left:52% !important;
}

.lpse-cta-full-content h2{
	max-width:650px !important;
	margin:0 0 30px !important;
	font-size:clamp(48px,4.8vw,76px) !important;
	line-height:.96 !important;
}


/* Masque complètement les anciens éléments de CTA split */
.lpse-cta-grid,
.lpse-cta-media,
.lpse-cta-content,
.lpse-cta-image,
.lpse-cta-shade,
.lpse-cta-inner{
	display:none !important;
}


/* TABLETTE */
@media(max-width:1100px){

	.lpse-approach-grid{
		grid-template-columns:minmax(0,1fr) minmax(280px,.72fr) !important;
		align-items:start !important;
	}

	.lpse-approach-media{
		max-width:410px !important;
		height:480px !important;
	}

	.lpse-approach-points{
		grid-column:1 / -1 !important;
		width:100% !important;
		display:grid !important;
		grid-template-columns:repeat(3,minmax(0,1fr)) !important;
	}

	.lpse-cta-full-content{
		padding-left:45% !important;
	}
}


/* MOBILE */
@media(max-width:700px){

	.lpse-approach-grid{
		grid-template-columns:1fr !important;
		gap:28px !important;
	}

	.lpse-approach-copy{
		padding-top:0 !important;
	}

	.lpse-approach-media{
		width:82% !important;
		max-width:380px !important;
		height:430px !important;
		justify-self:center !important;
	}

	.lpse-approach-points{
		grid-column:auto !important;
		grid-template-columns:1fr !important;
	}

	.lpse-cta.lpse-cta-full{
		min-height:410px !important;
	}

	.lpse-cta-full-media img{
		left:50% !important;
		top:50% !important;
		transform:translate(-50%,-50%) !important;
		width:auto !important;
		height:100% !important;
		min-width:100% !important;
		min-height:0 !important;
	}

	.lpse-cta-full-overlay{
		background:
			linear-gradient(
				0deg,
				rgba(7,7,7,.94) 0%,
				rgba(7,7,7,.72) 54%,
				rgba(7,7,7,.25) 100%
			) !important;
	}

	.lpse-cta-full-content{
		min-height:410px !important;
		justify-content:flex-end !important;
		padding:180px 0 48px !important;
	}

	.lpse-cta-full-content h2{
		font-size:42px !important;
	}
}
