.damos-contact {
	--damos-contact-bg: #151b55;
	--damos-contact-card: #303a78;
	--damos-contact-accent: #35c797;

	overflow: hidden;
	padding: clamp(96px, 9vw, 150px) 0 clamp(104px, 9vw, 156px);
	background:
		radial-gradient(circle at 75% 22%, rgba(62, 76, 150, 0.16), transparent 30%),
		var(--damos-contact-bg);
	color: var(--damos-white);
}

.damos-contact__container {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(420px, 0.75fr);
	align-items: center;
	gap: clamp(70px, 8vw, 140px);
}

.damos-contact__content {
	max-width: 920px;
}

.damos-contact__eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 clamp(42px, 4vw, 62px);
	color: rgba(255, 255, 255, 0.95);
	font-size: clamp(15px, 1.05vw, 18px);
	font-weight: 500;
	line-height: 1;
	letter-spacing: -0.01em;
	text-transform: uppercase;
}

.damos-contact__eyebrow span {
	display: block;
	flex: 0 0 auto;
	width: clamp(52px, 4.6vw, 74px);
	height: 3px;
	border-radius: 999px;
	background: var(--damos-contact-accent);
}

.damos-contact__title {
	max-width: 900px;
	margin: 0;
	color: var(--damos-white);
	font-size: clamp(64px, 6.4vw, 104px);
	font-weight: 700;
	line-height: 0.94;
	letter-spacing: -0.06em;
	text-wrap: balance;
}

.damos-contact__text {
	max-width: 850px;
	margin: clamp(42px, 4.1vw, 64px) 0 0;
	color: rgba(255, 255, 255, 0.95);
	font-size: clamp(24px, 2.1vw, 36px);
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: -0.03em;
}

.damos-contact-card {
	display: flex;
	flex-direction: column;
	gap: clamp(28px, 2.5vw, 38px);
	padding: clamp(44px, 4vw, 66px);
	border-radius: clamp(22px, 2vw, 30px);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.025), rgba(255, 255, 255, 0)),
		var(--damos-contact-card);
	box-shadow: 0 24px 54px rgba(5, 10, 43, 0.18);
}

.damos-contact-card__item {
	margin: 0;
}

.damos-contact-card__label {
	margin: 0 0 6px;
	color: var(--damos-contact-accent);
	font-size: clamp(18px, 1.35vw, 24px);
	font-weight: 500;
	line-height: 1.15;
	letter-spacing: -0.02em;
}

.damos-contact-card__value {
	display: inline-block;
	max-width: 100%;
	color: var(--damos-white);
	font-size: clamp(20px, 2vw, 42px);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -0.04em;
	text-decoration: none;
	overflow-wrap: anywhere;
	transition:
		color 220ms ease,
		transform 220ms ease;
}

.damos-contact-card__value:hover,
.damos-contact-card__value:focus-visible {
	color: #e9fff7;
	transform: translateX(3px);
}

.damos-contact-card__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: clamp(72px, 6vw, 98px);
	margin-top: clamp(16px, 1.5vw, 24px);
	padding: 18px 28px;
	border: 2px solid rgba(255, 255, 255, 0.75);
	border-radius: 999px;
	background: var(--damos-white);
	color: var(--damos-navy);
	font-size: clamp(28px, 2.2vw, 40px);
	font-weight: 500;
	line-height: 1;
	letter-spacing: -0.04em;
	text-align: center;
	text-decoration: none;
	transition:
		transform 240ms ease,
		box-shadow 240ms ease,
		background-color 240ms ease,
		color 240ms ease;
}

.damos-contact-card__button:hover,
.damos-contact-card__button:focus-visible {
	transform: translateY(-4px);
	background: var(--damos-contact-accent);
	color: var(--damos-navy);
	border-color: var(--damos-contact-accent);
	box-shadow: 0 16px 32px rgba(4, 10, 45, 0.22);
}

.damos-contact a:focus-visible {
	outline: 3px solid var(--damos-contact-accent);
	outline-offset: 5px;
}

/* Apparition au défilement */
.damos-contact__content,
.damos-contact-card {
	opacity: 0;
	transform: translateY(28px);
	transition:
		opacity 680ms ease,
		transform 680ms cubic-bezier(0.22, 1, 0.36, 1);
}

.damos-contact-card {
	transition-delay: 110ms;
}

.damos-contact.is-visible .damos-contact__content,
.damos-contact.is-visible .damos-contact-card {
	opacity: 1;
	transform: translateY(0);
}

@media (max-width: 1100px) {
	.damos-contact__container {
		grid-template-columns: minmax(0, 1fr) minmax(360px, 0.85fr);
		gap: 58px;
	}

	.damos-contact__title {
		font-size: clamp(58px, 7vw, 86px);
	}

	.damos-contact__text {
		font-size: clamp(22px, 2.7vw, 30px);
	}
}

@media (max-width: 860px) {
	.damos-contact {
		padding-block: 84px 94px;
	}

	.damos-contact__container {
		grid-template-columns: 1fr;
		gap: 58px;
	}

	.damos-contact__content,
	.damos-contact-card {
		max-width: 760px;
	}

	.damos-contact__title {
		font-size: clamp(50px, 10vw, 76px);
	}

	.damos-contact__text {
		font-size: clamp(21px, 3.5vw, 28px);
	}

	.damos-contact-card {
		width: 100%;
	}
}

@media (max-width: 560px) {
	.damos-contact {
		padding-block: 70px 78px;
	}

	.damos-contact__eyebrow {
		margin-bottom: 34px;
		font-size: 14px;
	}

	.damos-contact__title {
		font-size: clamp(42px, 12vw, 58px);
		line-height: 0.96;
	}

	.damos-contact__text {
		margin-top: 32px;
		font-size: 20px;
		line-height: 1.28;
	}

	.damos-contact-card {
		gap: 26px;
		padding: 30px 24px;
		border-radius: 22px;
	}

	.damos-contact-card__label {
		font-size: 17px;
	}

	.damos-contact-card__value {
		font-size: clamp(23px, 7vw, 31px);
	}

	.damos-contact-card__button {
		min-height: 68px;
		font-size: 27px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.damos-contact__content,
	.damos-contact-card {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.damos-contact-card__value,
	.damos-contact-card__button {
		transition: none;
	}
}
