/**
 * Section « Mes spécialités » de l'accueil — bloc « Services » du template Captured.
 * Cotes relevées sur la démo à 1440 px : fond #0c0c0d, marges 200 / 36, grille de
 * 4 colonnes (lignes blanches à 10 %), photo de fond à 30 % dézoomée de 120 % à 100 %
 * à l'arrivée à l'écran. À droite, 6 cartes de 338 × 220 en 2 colonnes décalées
 * (01-02-03 / 04-05-06, la seconde une rangée plus bas).
 */

.aml-services {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	background: #0c0c0d;
	color: var(--aml-white);
	padding: clamp(120px, 13.9vw, 200px) clamp(16px, 2.5vw, 36px);
}

/* Photo de fond : opacité 30 % (animée depuis 0 par data-anim) */
.aml-services__bg {
	position: absolute;
	inset: 0;
	z-index: -2;
	opacity: 0.3;
}

.aml-services__bg img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

/* Lignes de la grille : 4 colonnes sur la largeur utile */
.aml-services__lines {
	position: absolute;
	top: 0;
	bottom: 0;
	left: clamp(16px, 2.5vw, 36px);
	right: clamp(16px, 2.5vw, 36px);
	z-index: -1;
	background-image: linear-gradient(to right, rgba(255, 255, 255, 0.1) 1px, transparent 1px);
	background-size: 25% 100%;
	background-position: -1px 0; /* la première ligne tombe hors cadre, comme sur la démo */
	pointer-events: none;
}

.aml-services .aml-corners {
	z-index: -1;
}

.aml-services__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	max-width: 1920px;
	margin: 0 auto;
}

/* --- Colonne gauche : titre, introduction, lien -------------------------------------- */

.aml-services__left {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-start;
	gap: 48px;
	padding-right: 36px;
}

.aml-services__h2 {
	margin: 0;
	font-size: clamp(38px, 5.7vw, 82px);
	font-weight: 500;
	letter-spacing: -0.07em;
	line-height: 0.96;
	color: var(--aml-white);
}

.aml-services__intro {
	margin: 50px 0 0;
	max-width: 370px;
	font-size: clamp(20px, 1.8vw, 26px);
	font-weight: 500;
	letter-spacing: -0.05em;
	line-height: 1.2;
	color: rgba(255, 255, 255, 0.6);
}

/* Variante claire du lien « galeries » (composant « Desktop light » de la démo) */
.aml-about__more--light {
	margin-top: 0;
	color: var(--aml-white);
	border-bottom-color: var(--aml-white);
}

.aml-about__more--light::after {
	background-image: var(--aml-i-arrow-white);
}

/* --- Cartes ---------------------------------------------------------------------------- */

.aml-services__cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: start;
}

.aml-services__col--a { padding-top: 40px; }
.aml-services__col--b { padding-top: 260px; }

.aml-service {
	position: relative;
	min-height: 220px;
	padding: 30px;
}

.aml-service__thumb {
	width: 58px;
	height: 58px;
	border-radius: 8px;
	overflow: hidden;
}

.aml-service__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.aml-service__num {
	position: absolute;
	top: 30px;
	right: 30px;
	margin: 0;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: -0.05em;
	line-height: 22px;
	color: rgba(255, 255, 255, 0.6);
}

.aml-service__title {
	margin: 26px 0 8px;
	font-size: 22px;
	font-weight: 600;
	letter-spacing: -0.05em;
	line-height: 28px;
	color: var(--aml-white);
}

.aml-service__title a {
	color: inherit;
	text-decoration: none;
}

/* Toute la carte mène à la page de l'offre */
.aml-service__title a::after {
	content: '';
	position: absolute;
	inset: 0;
}

.aml-service__title a:focus-visible::after {
	outline: 2px solid var(--aml-white);
	outline-offset: -8px;
}

.aml-service__text {
	margin: 0;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: -0.04em;
	line-height: 20px;
	color: rgba(255, 255, 255, 0.6);
}

/* --- Tablette et mobile -------------------------------------------------------------- */

@media (max-width: 1199px) {
	.aml-services__inner { grid-template-columns: 1fr; row-gap: 64px; }
	.aml-services__left { padding-right: 0; }
	.aml-services__col--a { padding-top: 0; }
	.aml-services__col--b { padding-top: 110px; }
}

@media (max-width: 809px) {
	.aml-services__lines { background-size: 50% 100%; }
	.aml-services__cards { grid-template-columns: 1fr; }
	.aml-services__col--b { padding-top: 0; }
	.aml-service { min-height: 0; padding: 24px 0 24px 78px; }
	.aml-service__thumb { position: absolute; left: 0; top: 24px; }
	.aml-service__num { top: 24px; right: 0; }
	.aml-service__title { margin-top: 0; padding-right: 32px; }
}
