:root:has(#section-realisations.is-active #page-ia.is-current) #stage,
:root:has(#section-realisations.is-active #page-ia.is-current)
	#page-annotations {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

html[data-blue-style] #page-ia .ia-figure-zone {
	display: flex !important;
	align-items: center;
	justify-content: center;
	min-width: 0;
}

.quirel-case-card {
	display: grid;
	gap: 0.75rem;
	width: min(100%, 46rem);
	padding: 0;
	color: var(--blue-text);
	font:
		600 0.75rem / 1.2 var(--blue-body),
		sans-serif;
	letter-spacing: 0.14em;
	text-align: left;
	text-transform: uppercase;
	background: transparent;
	border: 0;
	cursor: pointer;
}

.quirel-case-card__media {
	position: relative;
	display: block;
	overflow: hidden;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #06131d;
	border: 1px solid var(--line-strong, rgb(13 57 70 / 28%));
	border-radius: max(4px, var(--blue-radius, 8px));
	box-shadow: 0 1.5rem 4rem rgb(3 19 33 / 18%);
	transition:
		transform 260ms ease,
		box-shadow 260ms ease;
}

.quirel-case-card video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.quirel-case-card__play {
	position: absolute;
	left: 50%;
	top: 50%;
	display: grid;
	place-items: center;
	width: 3.25rem;
	height: 3.25rem;
	color: #ffffff;
	background: rgb(3 19 33 / 76%);
	border: 1px solid rgb(255 255 255 / 48%);
	border-radius: 50%;
	box-shadow: 0 0.8rem 2rem rgb(3 19 33 / 25%);
	transform: translate(-50%, -50%);
	transition:
		transform 260ms ease,
		background-color 260ms ease;
}

.quirel-case-card:hover .quirel-case-card__media,
.quirel-case-card:focus-visible .quirel-case-card__media {
	box-shadow: 0 1.8rem 4.5rem rgb(3 19 33 / 26%);
	transform: translateY(-4px) scale(1.012);
}

.quirel-case-card:hover .quirel-case-card__play,
.quirel-case-card:focus-visible .quirel-case-card__play {
	background: var(--blue-secondary, #c41230);
	transform: translate(-50%, -50%) scale(1.08);
}

.quirel-case-card:focus-visible {
	outline: 2px solid var(--blue-secondary, #c41230);
	outline-offset: 0.5rem;
}

.quirel-case-dialog {
	box-sizing: border-box;
	width: 100vw;
	height: 100dvh;
	max-width: none;
	max-height: none;
	margin: 0;
	padding: clamp(0.75rem, 3vw, 2.5rem);
	background: transparent;
	border: 0;
	overflow: hidden;
}

.quirel-case-dialog:not([open]) {
	display: none;
}

.quirel-case-dialog[open] {
	display: grid;
	place-items: center;
}

.quirel-case-dialog::backdrop {
	background: rgb(2 9 15 / 0%);
	backdrop-filter: blur(0);
	transition:
		background-color 360ms ease,
		backdrop-filter 360ms ease;
}

.quirel-case-dialog.is-open::backdrop {
	background: rgb(2 9 15 / 82%);
	backdrop-filter: blur(12px);
}

.quirel-case-dialog__frame {
	position: relative;
	display: grid;
	grid-template-rows: auto minmax(0, 1fr);
	width: min(100%, 72rem);
	max-height: calc(100dvh - clamp(1.5rem, 6vw, 5rem));
	margin: auto;
	overflow: hidden;
	color: #f7fafb;
	background: #031321;
	border: 1px solid rgb(255 255 255 / 20%);
	border-radius: clamp(0.5rem, 1.5vw, 1rem);
	box-shadow: 0 2.5rem 8rem rgb(0 0 0 / 55%);
	opacity: 0.2;
	transform: translate(var(--quirel-from-x, 0), var(--quirel-from-y, 0))
		scale(var(--quirel-from-scale, 0.25));
	transition:
		transform 420ms cubic-bezier(0.22, 1, 0.36, 1),
		opacity 260ms ease;
}

.quirel-case-dialog.is-open .quirel-case-dialog__frame {
	opacity: 1;
	transform: translate(0, 0) scale(1);
}

.quirel-case-dialog.is-measuring .quirel-case-dialog__frame {
	opacity: 0;
	transform: none;
	transition: none;
}

.quirel-case-dialog__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-height: 3.5rem;
	padding: 0.75rem 0.75rem 0.75rem 1.25rem;
}

.quirel-case-dialog__header p {
	margin: 0;
	font:
		600 0.76rem / 1.2 var(--blue-body),
		sans-serif;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.quirel-case-dialog__close {
	display: grid;
	place-items: center;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	color: #f7fafb;
	background: transparent;
	border: 1px solid rgb(255 255 255 / 25%);
	border-radius: 50%;
	cursor: pointer;
}

.quirel-case-dialog__close:hover,
.quirel-case-dialog__close:focus-visible {
	background: rgb(255 255 255 / 12%);
	border-color: rgb(255 255 255 / 60%);
}

.quirel-case-dialog__video {
	display: block;
	width: 100%;
	max-height: calc(100dvh - 8rem);
	aspect-ratio: 16 / 9;
	background: #000000;
	object-fit: contain;
}

:root[data-blue-theme="light"] .quirel-case-dialog__frame {
	color: var(--blue-text);
	background: var(--blue-bg);
	border-color: var(--line-strong);
}

:root[data-blue-theme="light"] .quirel-case-dialog__close {
	color: var(--blue-text);
	border-color: var(--line-strong);
}

@media (max-width: 899px) {
	html[data-blue-style] #page-ia .ia-figure-zone {
		width: min(100%, 22rem) !important;
		height: auto !important;
		flex: 0 0 auto !important;
	}
	.quirel-case-card {
		gap: 0.45rem;
		font-size: 0.875rem;
	}
	.quirel-case-card__media {
		max-height: min(24dvh, 12rem);
	}
}

@media (max-width: 520px) {
	.quirel-case-dialog[open] {
		padding: 0.75rem;
	}
	.quirel-case-dialog__frame {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.quirel-case-card__media,
	.quirel-case-card__play,
	.quirel-case-dialog__frame,
	.quirel-case-dialog::backdrop {
		transition-duration: 0.01ms;
	}
}
