/**
 * Landing coming soon — document isolé.
 * Panneau ivoire éditorial + média existant. Logo 63 sans invert.
 * Dépend de fonts.css + tokens.css uniquement (pas de shell du site).
 */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

html,
body.amo-coming-soon-body {
	margin: 0;
	width: 100%;
}

body.amo-coming-soon-body {
	display: block;
	min-height: 100vh;
	min-height: 100svh;
	background-color: var(--amo-color-bg-primary, #f7f4ef);
	color: var(--amo-color-text-primary, #1a1a1a);
	font-family: var(--amo-font-interface);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color-scheme: light;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus,
.screen-reader-text:focus-visible {
	background-color: var(--amo-color-white, #ffffff);
	clip: auto !important;
	clip-path: none;
	color: var(--amo-color-text-primary, #1a1a1a);
	display: block;
	font-family: var(--amo-font-interface);
	font-size: var(--amo-text-body);
	height: auto;
	inset-block-start: max(var(--amo-space-sm, 0.75rem), env(safe-area-inset-top, 0px));
	inset-inline-start: max(var(--amo-space-sm, 0.75rem), env(safe-area-inset-left, 0px));
	line-height: normal;
	padding: 0.75rem 1rem;
	position: absolute;
	text-decoration: none;
	width: auto;
	z-index: var(--amo-z-skip-link, 100000);
	outline: 2px solid var(--amo-color-focus, #005fcc);
	outline-offset: 3px;
}

.amo-coming-soon {
	position: relative;
	isolation: isolate;
	display: grid;
	grid-template-rows: min(28vh, 11rem) minmax(0, 1fr);
	min-height: 100vh;
	min-height: 100svh;
	overflow-x: clip;
	color: var(--amo-color-text-primary, #1a1a1a);
}

.amo-coming-soon__login {
	position: absolute;
	z-index: 4;
	inset-block-start: max(0.75rem, env(safe-area-inset-top, 0px));
	inset-inline-end: max(0.75rem, env(safe-area-inset-right, 0px));
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	padding: 0.35rem 0.7rem;
	border-radius: 2px;
	background-color: rgb(247 244 239 / 82%);
	color: var(--amo-color-text-secondary, #68625c);
	font-family: var(--amo-font-interface);
	font-size: var(--amo-text-small, 0.9375rem);
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.2;
	text-decoration: none;
}

.amo-coming-soon__login:hover {
	color: var(--amo-color-text-primary, #1a1a1a);
}

.amo-coming-soon__login:focus-visible {
	color: var(--amo-color-text-primary, #1a1a1a);
	outline: 2px solid var(--amo-color-focus, #005fcc);
	outline-offset: 3px;
}

.amo-coming-soon__media,
.amo-coming-soon__overlay {
	grid-row: 1;
	grid-column: 1;
	position: relative;
	min-height: 0;
}

.amo-coming-soon__media {
	overflow: hidden;
	background-color: var(--amo-color-bg-dark, #1a1a1a);
}

.amo-coming-soon__picture,
.amo-coming-soon__image,
.amo-coming-soon__video {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
}

.amo-coming-soon__picture {
	z-index: 0;
}

.amo-coming-soon__image {
	z-index: 0;
	object-fit: cover;
	object-position: center 28%;
	max-width: none;
}

.amo-coming-soon__video {
	z-index: 1;
	object-fit: cover;
	object-position: center 28%;
	max-width: none;
	opacity: 0;
	pointer-events: none;
	transition: opacity var(--amo-duration-slow, 400ms) var(--amo-easing, cubic-bezier(0.25, 0.1, 0.25, 1));
}

.amo-coming-soon__video.is-playing {
	opacity: 1;
}

.amo-coming-soon__overlay {
	z-index: 2;
	pointer-events: none;
	background: linear-gradient(
		to bottom,
		rgb(26 26 26 / 18%) 0%,
		rgb(26 26 26 / 8%) 70%,
		var(--amo-color-bg-primary, #f7f4ef) 100%
	);
}

.amo-coming-soon__content {
	grid-row: 2;
	grid-column: 1;
	position: relative;
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1.15rem;
	width: 100%;
	max-width: 36rem;
	margin-inline: auto;
	padding-block: 1.5rem max(2.5rem, env(safe-area-inset-bottom, 0px));
	padding-inline: max(1.5rem, var(--amo-gutter, 1.25rem), env(safe-area-inset-left, 0px)) max(1.5rem, var(--amo-gutter, 1.25rem), env(safe-area-inset-right, 0px));
	background-color: var(--amo-color-bg-primary, #f7f4ef);
	text-align: left;
}

.amo-coming-soon__brand {
	margin: 0 0 0.35rem;
	line-height: 0;
}

.amo-coming-soon__logo {
	display: block;
	width: auto;
	height: auto;
	max-width: min(7.5rem, 42vw);
	max-height: 3.75rem;
	background: transparent;
}

.amo-coming-soon__brand--text {
	margin: 0;
	font-family: var(--amo-font-editorial);
	font-size: clamp(1.5rem, 4vw, 2.25rem);
	font-weight: 500;
	line-height: var(--amo-leading-tight, 1.15);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--amo-color-text-primary, #1a1a1a);
}

.amo-coming-soon__title {
	margin: 0;
	max-width: 14ch;
	font-family: var(--amo-font-editorial);
	font-size: clamp(2rem, 6.2vw, 3.25rem);
	font-weight: 500;
	line-height: 1.08;
	letter-spacing: -0.03em;
	color: var(--amo-color-text-primary, #1a1a1a);
}

.amo-coming-soon__lead {
	margin: 0;
	max-width: 38rem;
	color: var(--amo-color-text-secondary, #68625c);
	font-family: var(--amo-font-interface);
	font-size: var(--amo-text-body, 1.0625rem);
	font-weight: 400;
	line-height: var(--amo-leading-relaxed, 1.75);
}

.amo-coming-soon__open {
	margin: 0.35rem 0 0;
	max-width: 22ch;
	font-family: var(--amo-font-editorial);
	font-size: clamp(1.25rem, 2.8vw, 1.625rem);
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: -0.01em;
	color: var(--amo-color-text-primary, #1a1a1a);
}

.amo-coming-soon__action {
	margin: 0.35rem 0 0;
}

.amo-coming-soon__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.75rem;
	min-height: 2.75rem;
	padding: 0.875rem 1.75rem;
	border: 1px solid var(--amo-color-bg-dark, #1a1a1a);
	border-radius: 2px;
	background-color: var(--amo-color-bg-dark, #1a1a1a);
	color: var(--amo-color-white, #ffffff);
	font-family: var(--amo-font-interface);
	font-size: var(--amo-text-label, 0.75rem);
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: var(--amo-tracking-label, 0.08em);
	text-decoration: none;
	text-transform: uppercase;
	transition:
		color var(--amo-duration-base, 250ms) var(--amo-easing, cubic-bezier(0.25, 0.1, 0.25, 1)),
		border-color var(--amo-duration-base, 250ms) var(--amo-easing, cubic-bezier(0.25, 0.1, 0.25, 1)),
		background-color var(--amo-duration-base, 250ms) var(--amo-easing, cubic-bezier(0.25, 0.1, 0.25, 1));
}

.amo-coming-soon__cta:hover {
	background-color: transparent;
	color: var(--amo-color-bg-dark, #1a1a1a);
}

.amo-coming-soon__cta:focus-visible,
.amo-coming-soon__instagram-link:focus-visible {
	outline: 2px solid var(--amo-color-focus, #005fcc);
	outline-offset: 3px;
}

.amo-coming-soon__instagram {
	margin: 0;
}

.amo-coming-soon__instagram-link {
	color: var(--amo-color-text-secondary, #68625c);
	font-family: var(--amo-font-interface);
	font-size: var(--amo-text-small, 0.9375rem);
	font-weight: 500;
	letter-spacing: 0.04em;
	text-decoration: none;
}

.amo-coming-soon__instagram-link:hover,
.amo-coming-soon__instagram-link:focus-visible {
	color: var(--amo-color-accent, #9a7a4f);
}

.amo-coming-soon__geo {
	margin: 0;
	color: var(--amo-color-text-secondary, #68625c);
	font-family: var(--amo-font-interface);
	font-size: var(--amo-text-small, 0.9375rem);
	line-height: 1.55;
}

.amo-coming-soon__brief {
	margin: 0.5rem 0 0;
	padding-block-start: 1.15rem;
	border-block-start: 1px solid var(--amo-color-border, #d8d0c6);
}

.amo-coming-soon__brief-intro {
	margin: 0 0 0.65rem;
	color: var(--amo-color-text-secondary, #68625c);
	font-family: var(--amo-font-interface);
	font-size: var(--amo-text-small, 0.9375rem);
	line-height: var(--amo-leading-relaxed, 1.75);
}

.amo-coming-soon__brief-list {
	margin: 0;
	padding: 0;
	list-style: none;
	color: var(--amo-color-text-secondary, #68625c);
	font-family: var(--amo-font-interface);
	font-size: var(--amo-text-small, 0.9375rem);
	line-height: 1.7;
}

.amo-coming-soon__brief-list li + li {
	margin-block-start: 0.15rem;
}

@media (max-width: 39.99rem) {
	.amo-coming-soon__cta {
		width: 100%;
	}
}

@media (min-width: 48rem) {
	.amo-coming-soon {
		grid-template-rows: min(32vh, 14rem) minmax(0, 1fr);
	}

	.amo-coming-soon__content {
		gap: 1.25rem;
		padding-block-start: 2rem;
	}

	.amo-coming-soon__image,
	.amo-coming-soon__video {
		object-position: center 36%;
	}
}

@media (min-width: 64rem) {
	.amo-coming-soon {
		grid-template-rows: 1fr;
		grid-template-columns: minmax(24rem, 30rem) minmax(0, 1fr);
		min-height: 100vh;
		min-height: 100svh;
		overflow: hidden;
	}

	.amo-coming-soon__media,
	.amo-coming-soon__overlay {
		grid-row: 1;
		grid-column: 1 / -1;
	}

	.amo-coming-soon__overlay {
		background: linear-gradient(
			to right,
			var(--amo-color-bg-primary, #f7f4ef) 0,
			var(--amo-color-bg-primary, #f7f4ef) 30rem,
			rgb(247 244 239 / 0%) 38rem
		);
	}

	.amo-coming-soon__content {
		grid-row: 1;
		grid-column: 1;
		width: 100%;
		max-width: none;
		min-height: 100svh;
		margin: 0;
		justify-content: center;
		gap: 1.15rem;
		padding-block: max(3rem, env(safe-area-inset-top, 0px)) max(3rem, env(safe-area-inset-bottom, 0px));
		padding-inline: clamp(2rem, 4vw, 4rem) 2.5rem;
		background-color: transparent;
		overflow-y: auto;
	}

	.amo-coming-soon__logo {
		max-width: 8.5rem;
		max-height: 4.25rem;
	}

	.amo-coming-soon__title {
		font-size: clamp(2.5rem, 3.6vw, 3.5rem);
	}

	.amo-coming-soon__image,
	.amo-coming-soon__video {
		object-position: center 42%;
	}
}

@media (min-width: 64rem) and (max-width: 79.99rem) {
	.amo-coming-soon {
		grid-template-columns: minmax(22rem, 26rem) minmax(0, 1fr);
	}

	.amo-coming-soon__overlay {
		background: linear-gradient(
			to right,
			var(--amo-color-bg-primary, #f7f4ef) 0,
			var(--amo-color-bg-primary, #f7f4ef) 26rem,
			rgb(247 244 239 / 0%) 34rem
		);
	}
}

@media (max-height: 30rem) and (orientation: landscape) {
	.amo-coming-soon {
		grid-template-rows: 1fr;
	}

	.amo-coming-soon__media,
	.amo-coming-soon__overlay {
		display: none;
	}

	.amo-coming-soon__content {
		padding-block: max(1rem, env(safe-area-inset-top, 0px)) max(1rem, env(safe-area-inset-bottom, 0px));
		gap: 0.75rem;
	}

	.amo-coming-soon__logo {
		max-height: 3rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.amo-coming-soon__video {
		display: none !important;
		opacity: 0 !important;
		transition: none;
	}

	.amo-coming-soon__cta,
	.amo-coming-soon__instagram-link {
		transition: none;
	}
}
