/**
 * Refonte 2026 — composants communs à tout le site.
 *
 * Extraits de v2-accueil.css (14/10/2026) pour être réutilisés hors de la home :
 * fonds marine et verre, sections et intros, cartes d'études de cas, CTA final.
 * Chargé partout après v2.css ; v2-accueil.css (home seule) passe après.
 */

/* Fond marine commun : hero, carte « Un projet ? », tarif, CTA final. */
.v2-navyglow {
	background:
		radial-gradient(55% 75% at 0% 100%, rgba(var(--v2-teal), .42) 0%, rgba(var(--v2-teal), 0) 70%),
		radial-gradient(40% 50% at 100% 0%, rgba(255, 239, 94, .12) 0%, rgba(255, 239, 94, 0) 70%),
		var(--v2-navy);
	color: #fff;
}

.v2-glass {
	background: linear-gradient(135deg, rgba(255, 255, 255, .18), rgba(255, 255, 255, .05));
	border: 1px solid rgba(255, 255, 255, .22);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

.v2-sec {
	max-width: var(--v2-wrap);
	margin: 0 auto;
	padding: clamp(64px, 9vw, 104px) var(--v2-gutter);
}

.v2-sec__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 32px;
	flex-wrap: wrap;
	margin-bottom: 44px;
}

.v2-sec__intro {
	display: flex;
	flex-direction: column;
	gap: 16px;
	max-width: 760px;
}

.v2-lead {
	font-size: 16px;
	line-height: 1.6;
	color: var(--v2-text);
	text-wrap: pretty;
}

/* ------------------------------------------------------------ Études de cas */

.v2-cases {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
	gap: 16px;
}

.v2-case {
	background: #fff;
	border: 1px solid var(--v2-line);
	border-radius: 22px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform .2s, box-shadow .2s;
}

.v2-case:hover {
	transform: translateY(-3px);
	box-shadow: 0 30px 60px -36px rgba(15, 15, 61, .45);
}

.v2-case__media {
	position: relative;
	aspect-ratio: 16 / 10;
	background: var(--v2-navy);
	display: block;
}

.v2-case__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
}

.v2-case__media::after {
	content: "";
	position: absolute;
	inset: auto 0 0 0;
	height: 60%;
	background: linear-gradient(to top, rgba(15, 15, 61, .85), rgba(15, 15, 61, 0));
	pointer-events: none;
}

.v2-case__big {
	position: absolute;
	left: 16px;
	bottom: 14px;
	z-index: 1;
	font-family: var(--v2-title);
	font-size: 44px;
	font-weight: 700;
	letter-spacing: -.03em;
	line-height: 1;
	color: var(--v2-yellow);
}

.v2-case__tag {
	position: absolute;
	left: 14px;
	top: 14px;
	z-index: 1;
	border-radius: 999px;
	padding: 5px 11px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .06em;
	color: var(--v2-navy);
}

.v2-case__tag--geo {
	background: var(--v2-cyan);
}

.v2-case__tag--seo {
	background: var(--v2-yellow);
}

.v2-case__tag--mix {
	background: linear-gradient(90deg, var(--v2-yellow), var(--v2-cyan));
}

.v2-case__sector {
	position: absolute;
	right: 14px;
	top: 14px;
	z-index: 1;
	background: rgba(255, 255, 255, .9);
	color: var(--v2-ink);
	border-radius: 999px;
	padding: 5px 11px;
	font-size: 12px;
	font-weight: 700;
}

.v2-scope a.v2-case__body {
	padding: 20px 22px 22px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	flex: 1;
}

.v2-scope a.v2-case__body:hover {
	color: var(--v2-ink);
}

.v2-case__client {
	font-family: var(--v2-title);
	font-size: 21px;
	font-weight: 600;
}

.v2-case__sub {
	font-size: 13px;
	color: var(--v2-soft);
}

.v2-case__detail {
	font-size: 15px;
	color: var(--v2-text);
	margin-top: 6px;
}

.v2-case__more {
	margin-top: auto;
	padding-top: 12px;
	font-size: 14px;
	font-weight: 700;
}

/* ---------------------------------------------------------------- CTA final */

.v2-final {
	max-width: 1360px;
	margin: 0 auto;
	padding: 0 clamp(10px, 2vw, 20px) 24px;
}

.v2-final__card {
	border-radius: clamp(22px, 3vw, 32px);
	background:
		radial-gradient(45% 90% at 0% 100%, rgba(var(--v2-teal), .45) 0%, rgba(var(--v2-teal), 0) 70%),
		radial-gradient(35% 70% at 100% 0%, rgba(255, 239, 94, .12) 0%, rgba(255, 239, 94, 0) 70%),
		var(--v2-navy);
	color: #fff;
	padding: clamp(64px, 9vw, 104px) var(--v2-gutter);
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 24px;
}

.v2-scope .v2-final__title {
	font-family: var(--v2-title);
	font-size: clamp(36px, 5.6vw, 80px);
	line-height: 1;
	letter-spacing: -.035em;
	font-weight: 700;
	max-width: 1000px;
	text-wrap: balance;
	color: #fff;
}

.v2-scope .v2-final__sub {
	font-size: 18px;
	font-weight: 600;
	color: #e4e3f2;
	max-width: 620px;
}

.v2-final a.v2-btn--yellow {
	margin-top: 16px;
	font-size: 19px;
	padding: 18px 32px;
	border-radius: 16px;
}
