:root {
	--void: #070708;
	--night: #0c0c0f;
	--gold: #c9a36a;
	--gold-hi: #e8c98a;
	--bone: #f3eee4;
	--mist: #8e877c;
	--line: rgba(201, 163, 106, 0.32);
	--glass: rgba(7, 7, 8, 0.55);
	--panel: rgba(8, 8, 10, 0.28);
	--ice: #8fb4c6;
	--serif: "Cormorant Garamond", "Times New Roman", serif;
	--sans: "Outfit", "Helvetica Neue", sans-serif;
	--mono: "IBM Plex Mono", ui-monospace, "Cascadia Mono", monospace;
	--space: clamp(1.25rem, 3vw, 2.5rem);
	--wrap: 1180px;
	--wrap-wide: 1340px;
	--ease: cubic-bezier(0.16, 1, 0.3, 1);
}

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

html.cu-html {
	background: var(--void);
	color: var(--bone);
	scroll-behavior: smooth;
}

body.cu-body {
	margin: 0;
	min-height: 100vh;
	font-family: var(--sans);
	font-weight: 300;
	font-size: 16px;
	line-height: 1.6;
	background: transparent;
	color: var(--bone);
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; cursor: pointer; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
ul { list-style: none; margin: 0; padding: 0; }

.cu-sr,
.screen-reader-text,
.cu-skip:not(:focus) {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.cu-skip:focus {
	position: fixed;
	z-index: 80;
	top: 12px;
	left: 12px;
	padding: 0.6rem 1rem;
	background: var(--gold);
	color: var(--void);
}

:focus-visible {
	outline: 1px solid var(--gold);
	outline-offset: 3px;
}

.cu-wrap {
	width: min(var(--wrap), calc(100% - 2 * var(--space)));
	margin-inline: auto;
}

.cu-wrap--wide {
	width: min(var(--wrap-wide), calc(100% - 2 * var(--space)));
}

/* —— Univers ancré —— */
.cu-universe {
	position: fixed;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
	background: var(--void);
}

.cu-layer {
	position: absolute;
	inset: 0;
	will-change: transform;
	transition: transform 2.2s var(--ease), opacity 1.8s var(--ease);
}

.cu-layer--video {
	inset: -4% -3%;
}

.cu-layer--still {
	inset: 0;
	opacity: 0;
}

.cu-bg-video,
.cu-layer--still img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

html[data-cu-screen="1"] .cu-layer--video,
html[data-cu-screen="2"] .cu-layer--video,
html[data-cu-screen="3"] .cu-layer--video {
	opacity: 0;
}

html.cu-html--home[data-cu-screen="0"] .cu-layer--video,
html.cu-html--home[data-cu-screen="1"] .cu-layer--video,
html.cu-html--home[data-cu-screen="1"] .cu-layer--still[data-cu-bg="1"] {
	opacity: 0;
}

html[data-cu-screen="1"] .cu-layer--still[data-cu-bg="1"],
html[data-cu-screen="2"] .cu-layer--still[data-cu-bg="2"],
html[data-cu-screen="3"] .cu-layer--still[data-cu-bg="3"] {
	opacity: 1;
}

html[data-cu-screen="3"] .cu-layer--still[data-cu-bg="3"] img {
	object-position: center 22%;
}

html.cu-html--home[data-cu-screen="1"] .cu-layer--still[data-cu-bg="1"] {
	opacity: 0;
}

.cu-sky {
	position: absolute;
	inset: 0;
	z-index: 1;
	opacity: 0;
	pointer-events: none;
}

html.cu-html--home[data-cu-screen="0"] .cu-sky,
html.cu-html--home[data-cu-screen="1"] .cu-sky {
	opacity: 1;
}

.cu-sky__shot {
	position: absolute;
	inset: 0;
	opacity: 0;
	overflow: hidden;
}

.cu-sky__shot.is-on { opacity: 1; }

.cu-sky__shot img,
.cu-sky__shot video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

html[data-cu-screen="3"] .cu-sky {
	opacity: 0;
}

body:not(.cu-is-home) .cu-layer--video {
	opacity: 0;
}

body:not(.cu-is-home) .cu-layer--still[data-cu-bg="shop"] {
	opacity: 0.7;
}

body.cu-chamber--livres .cu-layer--still[data-cu-bg="shop"],
body.cu-chamber--lifestyle .cu-layer--still[data-cu-bg="shop"],
body.cu-chamber--digital .cu-layer--still[data-cu-bg="shop"],
body.cu-chamber--artefact .cu-layer--still[data-cu-bg="shop"] {
	opacity: 0;
}

body.cu-chamber--livres .cu-layer--still[data-cu-bg="1"],
body.cu-chamber--lifestyle .cu-layer--still[data-cu-bg="2"],
body.cu-chamber--digital .cu-layer--still[data-cu-bg="3"],
body.cu-chamber--artefact .cu-layer--still[data-cu-bg="3"] {
	opacity: 0.88;
}

.cu-mist {
	position: absolute;
	inset: auto 0 0;
	height: 42%;
	background: linear-gradient(180deg, transparent, rgba(7, 7, 8, 0.28) 40%, rgba(7, 7, 8, 0.55));
	transition: transform 2.2s var(--ease), opacity 1.8s var(--ease);
}

.cu-vignette {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse at 70% 42%, transparent 18%, rgba(7, 7, 8, 0.35) 52%, rgba(7, 7, 8, 0.78) 100%),
		linear-gradient(90deg, rgba(7, 7, 8, 0.62) 0%, transparent 42%);
}

.cu-header,
.cu-main,
.cu-footer,
.cu-search {
	position: relative;
	z-index: 2;
}

/* —— Header —— */
.cu-header {
	position: fixed;
	inset: 0 0 auto;
	z-index: 20;
	padding: 1.15rem var(--space) 0;
	transition: background 0.35s var(--ease), backdrop-filter 0.35s var(--ease);
}

.cu-header.is-scrolled {
	background: rgba(7, 7, 8, 0.72);
	backdrop-filter: blur(16px);
	padding-bottom: 0.85rem;
	border-bottom: 1px solid rgba(201, 163, 106, 0.12);
}

.cu-header__bar {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 1.5rem;
	width: min(1320px, 100%);
	margin-inline: auto;
}

.cu-logo {
	display: flex;
	flex-direction: column;
	line-height: 0.9;
}

.cu-logo__charly {
	font-family: var(--serif);
	font-size: 1.35rem;
	font-weight: 500;
	color: var(--gold);
	letter-spacing: 0.04em;
}

.cu-logo__universe {
	font-size: 0.62rem;
	letter-spacing: 0.46em;
	text-transform: uppercase;
	color: var(--bone);
	margin-left: 0.08rem;
}

.cu-nav__list {
	display: flex;
	justify-content: center;
	gap: clamp(1.1rem, 2.4vw, 2.4rem);
}

.cu-nav a {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	font-size: 0.72rem;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: rgba(243, 238, 228, 0.82);
	transition: color 0.25s;
}

.cu-secure-mark {
	width: 1.15rem;
	height: 1.15rem;
	border-radius: 0.28rem;
	object-fit: cover;
	flex: 0 0 auto;
}

.cu-nav a:hover,
.cu-nav .current-menu-item > a { color: var(--gold-hi); }

.cu-tools {
	display: flex;
	align-items: center;
	gap: 0.35rem;
}

.cu-icon-btn {
	position: relative;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	color: var(--bone);
	transition: color 0.25s;
}

.cu-icon-btn:hover { color: var(--gold); }

.cu-cart-count {
	position: absolute;
	top: 6px;
	right: 4px;
	min-width: 16px;
	height: 16px;
	padding: 0 4px;
	border-radius: 99px;
	background: var(--gold);
	color: var(--void);
	font-size: 0.62rem;
	font-weight: 500;
	line-height: 16px;
	text-align: center;
}

.cu-burger {
	display: none;
	width: 44px;
	height: 44px;
	place-items: center;
	gap: 6px;
}

.cu-burger span {
	display: block;
	width: 18px;
	height: 1px;
	background: var(--bone);
}

.cu-search {
	position: fixed;
	inset: 0;
	z-index: 40;
	display: grid;
	place-items: center;
	background: rgba(7, 7, 8, 0.88);
	backdrop-filter: blur(18px);
}

.cu-search[hidden] { display: none; }

.cu-search__form {
	display: grid;
	gap: 1rem;
	width: min(560px, calc(100% - 2 * var(--space)));
}

.cu-search input[type="search"] {
	width: 100%;
	padding: 1rem 0;
	border: 0;
	border-bottom: 1px solid var(--gold);
	background: transparent;
	color: var(--bone);
	font-family: var(--serif);
	font-size: 1.8rem;
	outline: none;
}

.cu-search__close {
	position: absolute;
	top: 1.4rem;
	right: var(--space);
	letter-spacing: 0.2em;
	text-transform: uppercase;
	font-size: 0.7rem;
	color: var(--mist);
}

/* —— Hero —— */
.cu-hero {
	position: relative;
	min-height: 100svh;
	display: grid;
	align-content: end;
	padding: 7.5rem var(--space) 0;
}

/* —— Accueil : un scroll = un écran —— */
html.cu-html--home,
html.cu-html--home body.cu-is-home {
	height: 100%;
	overflow: hidden;
	overscroll-behavior: none;
}

.cu-is-home .cu-main.cu-stage {
	height: 100svh;
}

.cu-screen {
	position: fixed;
	inset: 0;
	z-index: 2;
	display: grid;
	align-content: center;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translate3d(0, 72px, 0);
	transition: opacity 1.7s var(--ease), transform 2.1s var(--ease), visibility 1.7s;
}

.cu-screen.is-active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: none;
}

.cu-screen.is-exit-up { transform: translate3d(0, -64px, 0); }
.cu-screen.is-exit-down { transform: translate3d(0, 72px, 0); }

.cu-hero.cu-screen {
	align-content: end;
	padding-bottom: 6.2rem;
	pointer-events: none;
}

.cu-hero.cu-screen .cu-hero__copy,
.cu-hero.cu-screen .cu-quote,
.cu-hero.cu-screen .cu-btn {
	pointer-events: auto;
}

.cu-doors.cu-screen {
	align-content: end;
	padding: 0;
	pointer-events: none;
}

.cu-doors.cu-screen .cu-marquee {
	pointer-events: auto;
}

.cu-close.cu-screen {
	align-content: end;
	padding-top: 5.5rem;
}

.cu-pager {
	position: fixed;
	right: 1.1rem;
	top: 50%;
	z-index: 25;
	display: none;
	transform: translateY(-50%);
	gap: 0.7rem;
}

.cu-is-home .cu-pager { display: grid; }

.cu-pager button {
	width: 9px;
	height: 9px;
	padding: 0;
	border: 1px solid var(--gold);
	border-radius: 99px;
	background: transparent;
	min-height: 0;
}

.cu-pager button[aria-current="true"] {
	background: var(--gold);
	transform: scale(1.25);
}

.cu-is-home .cu-doors,
.cu-is-home .cu-select,
.cu-is-home .cu-trust {
	background: transparent;
	backdrop-filter: none;
}

.cu-is-home .cu-close.cu-screen {
	background: transparent;
}

.cu-is-home .cu-footer,
.cu-is-home .cu-footer--stage {
	background: #000;
	backdrop-filter: none;
}

.cu-is-home .cu-doors__grid { display: none; }

.cu-is-home .cu-card__media {
	background: transparent;
}

.cu-hero__copy {
	width: min(620px, 100%);
	padding-bottom: 2.2rem;
}

.cu-kicker {
	margin: 0 0 0.7rem;
	font-size: 0.68rem;
	letter-spacing: 0.38em;
	text-transform: uppercase;
	color: var(--gold);
}

.cu-hero__title {
	margin: 0;
	line-height: 0.82;
}

.cu-hero__charly {
	display: block;
	font-family: var(--serif);
	font-size: clamp(4.4rem, 12vw, 8.4rem);
	font-weight: 500;
	color: var(--gold);
	letter-spacing: -0.03em;
}

.cu-hero__universe {
	display: block;
	margin-top: 0.35rem;
	font-size: clamp(1.05rem, 2.6vw, 1.7rem);
	font-weight: 400;
	letter-spacing: 0.46em;
	text-transform: uppercase;
	color: var(--bone);
}

.cu-hero__lead {
	margin: 1.25rem 0 1.6rem;
	max-width: 28rem;
	color: rgba(243, 238, 228, 0.78);
	font-size: 0.98rem;
}

.cu-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	min-height: 48px;
	padding: 0.85rem 1.35rem;
	border: 1px solid var(--gold);
	font-size: 0.72rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	transition: background 0.25s var(--ease), color 0.25s var(--ease), transform 0.25s var(--ease);
}

.cu-btn--ghost { color: var(--gold-hi); }
.cu-btn--ghost:hover { background: var(--gold); color: var(--void); }
.cu-btn--solid { background: var(--gold); color: var(--void); border-color: var(--gold); }
.cu-btn--solid:hover { background: var(--gold-hi); }

.cu-quote {
	position: absolute;
	right: var(--space);
	top: 42%;
	width: min(240px, 28vw);
	margin: 0;
	padding-left: 1rem;
	border-left: 1px solid var(--line);
	color: rgba(243, 238, 228, 0.72);
	font-family: var(--serif);
	font-size: 1.05rem;
	font-style: italic;
	line-height: 1.45;
}

.cu-quote cite {
	display: block;
	margin-top: 0.7rem;
	font-family: var(--sans);
	font-style: normal;
	font-size: 0.62rem;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--gold);
}

.cu-gates {
	--cu-gate-head: 5.8rem;
	--cu-header-offset: 5.65rem;
	--cu-marquee-slot: 9.1rem;
	position: fixed;
	left: 0;
	right: 0;
	top: calc(100svh - var(--cu-gate-head));
	z-index: 12;
	display: flex;
	gap: 0;
	height: var(--cu-gate-head);
	overflow: hidden;
	pointer-events: auto;
	background: rgba(7, 7, 8, 0.52);
	border-top: 1px solid rgba(201, 163, 106, 0.22);
	backdrop-filter: blur(10px);
	transition: height 2.1s var(--ease), top 2.1s var(--ease), transform 2.1s var(--ease), opacity 1.4s var(--ease);
}

html[data-cu-screen="1"] .cu-gates {
	top: var(--cu-header-offset);
	height: calc(100svh - var(--cu-header-offset) - var(--cu-marquee-slot));
	min-height: 14rem;
	background: rgba(7, 7, 8, 0.22);
	backdrop-filter: none;
	border-top: 0;
	border-bottom: 1px solid rgba(201, 163, 106, 0.18);
}

html[data-cu-screen="2"] .cu-gates,
html[data-cu-screen="3"] .cu-gates {
	top: var(--cu-header-offset);
	transform: translate3d(0, -120%, 0);
	opacity: 0;
	pointer-events: none;
}

.cu-gate {
	position: relative;
	display: flex;
	flex: 1 1 0%;
	flex-direction: column;
	min-width: 0;
	height: 100%;
	margin: 0;
	border: 0;
	overflow: hidden;
	color: inherit;
	pointer-events: auto;
}

.cu-gate + .cu-gate {
	margin-left: -1px;
}

.cu-gate:hover,
.cu-gate.is-hot {
	background: rgba(201, 163, 106, 0.05);
	z-index: 1;
}

.cu-gate:focus-visible {
	outline: 1px solid var(--gold);
	outline-offset: -2px;
}

.cu-gate__head {
	flex: 0 0 var(--cu-gate-head);
	display: grid;
	align-content: center;
	gap: 0.18rem;
	padding: 0.85rem 1.15rem;
}

.cu-gate__head .cu-kicker { margin: 0; }

.cu-gate__title {
	font-family: var(--serif);
	font-size: clamp(1.05rem, 1.6vw, 1.4rem);
	line-height: 1.05;
	letter-spacing: -0.02em;
}

.cu-gate__title::after {
	content: "";
	display: block;
	width: 22px;
	height: 1px;
	margin-top: 0.4rem;
	background: var(--gold);
}

.cu-gate__text,
.cu-gate__cta {
	display: none;
}

html[data-cu-screen="1"] .cu-gate__head {
	flex-basis: auto;
	padding-top: 1.15rem;
	padding-bottom: 0.85rem;
}

html[data-cu-screen="1"] .cu-gate__text,
html[data-cu-screen="1"] .cu-gate__cta {
	display: block;
}

.cu-gate__text {
	color: var(--mist);
	font-size: 0.82rem;
	line-height: 1.35;
}

.cu-gate__cta {
	margin-top: 0.25rem;
	font-size: 0.64rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--gold);
}

.cu-gate__media {
	flex: 1 1 auto;
	min-height: 0;
	overflow: hidden;
}

.cu-gate__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.22s var(--ease);
}

.cu-gate:hover .cu-gate__media img,
.cu-gate.is-hot .cu-gate__media img { transform: scale(1.04); }

.cu-gate--mark .cu-gate__media {
	display: grid;
	place-items: center;
	background: #05070c;
}

.cu-gate--mark .cu-gate__media img {
	width: 58%;
	height: auto;
	aspect-ratio: 1;
	object-fit: contain;
	border-radius: 1.1rem;
}

.cu-marquee {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: 1rem;
	width: 100%;
	padding: 0.85rem 0 1.05rem;
	border-top: 1px solid rgba(201, 163, 106, 0.2);
	background: linear-gradient(180deg, rgba(7, 7, 8, 0.18), rgba(7, 7, 8, 0.62));
}

.cu-marquee__kicker {
	margin: 0;
	padding-left: var(--space);
	font-size: 0.64rem;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	color: var(--gold);
	white-space: nowrap;
}

.cu-marquee__viewport {
	overflow: hidden;
	mask-image: linear-gradient(90deg, transparent, #000 5%, #000 92%, transparent);
}

.cu-marquee__track {
	display: flex;
	width: max-content;
	animation: cu-marquee 38s linear infinite;
	will-change: transform;
}

.cu-marquee:hover .cu-marquee__track {
	animation-play-state: paused;
}

html:not([data-cu-screen="1"]) .cu-marquee__track {
	animation-play-state: paused;
}

.cu-marquee__group {
	display: flex;
	align-items: center;
	gap: 1.35rem;
	padding-right: 1.35rem;
}

.cu-bubble {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.4rem;
	min-width: 5.4rem;
	color: inherit;
}

.cu-bubble__orb {
	width: 4.6rem;
	height: 4.6rem;
	overflow: hidden;
	border-radius: 50%;
	box-shadow:
		0 0 0 1px rgba(201, 163, 106, 0.48),
		0 0 22px rgba(201, 163, 106, 0.16);
	background: rgba(7, 7, 8, 0.35);
}

.cu-bubble__orb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cu-bubble:hover .cu-bubble__orb {
	box-shadow:
		0 0 0 1px var(--gold-hi),
		0 0 28px rgba(232, 201, 138, 0.28);
}

.cu-bubble__name {
	max-width: 6.4rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 0.62rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(243, 238, 228, 0.78);
}

@keyframes cu-marquee {
	from { transform: translate3d(0, 0, 0); }
	to { transform: translate3d(-50%, 0, 0); }
}

/* —— Sections —— */
.cu-section {
	padding: clamp(4rem, 8vw, 6.5rem) 0;
}

.cu-section__head { margin-bottom: 2rem; }

.cu-section__head--row {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 1rem;
}

.cu-section__title {
	margin: 0;
	font-family: var(--serif);
	font-size: clamp(2rem, 4vw, 3.1rem);
	font-weight: 500;
	letter-spacing: -0.02em;
}

.cu-text-link {
	font-size: 0.72rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--gold);
}

.cu-doors,
.cu-select,
.cu-trust,
.cu-footer {
	background: var(--panel);
	backdrop-filter: blur(10px);
}

.cu-main--chamber {
	min-height: 100vh;
	background: transparent;
	padding-top: 7.5rem;
}

.cu-doors__grid {
	display: grid;
	gap: 1rem;
}

.cu-door {
	border: 1px solid rgba(201, 163, 106, 0.14);
	background: rgba(7, 7, 8, 0.35);
	transition: border-color 0.3s, transform 0.35s var(--ease);
}

.cu-door:hover {
	border-color: var(--gold);
	transform: translateY(-3px);
}

.cu-door__link {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
	min-height: 210px;
}

.cu-door__media { overflow: hidden; }
.cu-door__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.8s var(--ease);
}

.cu-door:hover .cu-door__media img { transform: scale(1.04); }

.cu-door__body {
	display: grid;
	align-content: center;
	gap: 0.45rem;
	padding: 1.4rem 1.5rem;
}

.cu-door__title {
	font-family: var(--serif);
	font-size: 1.7rem;
	line-height: 1.1;
}

.cu-door__text {
	color: var(--mist);
	font-size: 0.92rem;
}

.cu-door__cta {
	margin-top: 0.4rem;
	font-size: 0.68rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--gold);
}

/* —— Produits —— */
.cu-rail { position: relative; }

.cu-rail__track,
.products.cu-products,
ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.1rem;
}

.cu-rail__track {
	display: flex;
	gap: 1.1rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	padding-bottom: 0.4rem;
}

.cu-rail__track::-webkit-scrollbar { display: none; }

.cu-rail .cu-card {
	flex: 0 0 min(280px, 78vw);
	scroll-snap-align: start;
}

.cu-rail__nav {
	position: absolute;
	top: 34%;
	z-index: 2;
	width: 40px;
	height: 40px;
	border: 1px solid var(--line);
	color: var(--gold);
	background: rgba(7, 7, 8, 0.55);
}

.cu-rail__nav--prev { left: -8px; }
.cu-rail__nav--next { right: -8px; }

.cu-card {
	list-style: none;
}

.cu-card__link {
	display: grid;
	justify-items: center;
	gap: 1rem;
	text-align: center;
}

.cu-card__vignette {
	position: relative;
	width: 100%;
	aspect-ratio: 1;
	display: grid;
	place-items: center;
}

.cu-card__orbit {
	position: absolute;
	inset: 3%;
	border-radius: 50%;
	border: 1px dashed rgba(201, 163, 106, 0.38);
	pointer-events: none;
}

.cu-card__ticks {
	position: absolute;
	inset: 11%;
	pointer-events: none;
}

.cu-card__ticks::before,
.cu-card__ticks::after {
	content: "";
	position: absolute;
	width: 14px;
	height: 14px;
	border: 1px solid rgba(232, 201, 138, 0.7);
}

.cu-card__ticks::before {
	top: 0;
	left: 0;
	border-right: 0;
	border-bottom: 0;
}

.cu-card__ticks::after {
	right: 0;
	bottom: 0;
	border-left: 0;
	border-top: 0;
}

.cu-card__media {
	position: relative;
	width: 72%;
	aspect-ratio: 1;
	overflow: hidden;
	border-radius: 50%;
	background: transparent;
	box-shadow:
		0 0 0 1px rgba(201, 163, 106, 0.42),
		0 0 48px rgba(201, 163, 106, 0.14);
}

.cu-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	mix-blend-mode: lighten;
	transition: transform 1.1s var(--ease);
}

.cu-card__scan {
	position: absolute;
	left: 0;
	right: 0;
	top: -30%;
	height: 28%;
	background: linear-gradient(180deg, transparent, rgba(232, 201, 138, 0.28), transparent);
	opacity: 0;
	pointer-events: none;
}

.cu-card:hover .cu-card__orbit {
	animation: cu-orbit 16s linear infinite;
}

.cu-card:hover .cu-card__media img { transform: scale(1.08); }

.cu-card:hover .cu-card__scan {
	opacity: 1;
	animation: cu-scan 1.5s var(--ease);
}

@keyframes cu-orbit {
	to { transform: rotate(360deg); }
}

@keyframes cu-scan {
	from { top: -30%; }
	to { top: 110%; }
}

.cu-card__readout {
	display: grid;
	justify-items: center;
	gap: 0.2rem;
}

.cu-card__sig {
	font-family: var(--mono);
	font-size: 0.58rem;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--ice);
}

.cu-card__title {
	margin: 0;
	font-family: var(--serif);
	font-size: 1.15rem;
	font-weight: 500;
	letter-spacing: -0.02em;
	text-transform: none;
}

.cu-card__price,
.woocommerce-Price-amount {
	color: var(--gold);
	font-size: 0.92rem;
}

.cu-price-suffix { color: var(--mist); font-size: 0.78rem; }

.cu-trust { padding: 2.4rem 0; border-top: 1px solid rgba(201, 163, 106, 0.12); }

.cu-trust__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.5rem;
}

.cu-trust__item {
	display: grid;
	justify-items: start;
	gap: 0.35rem;
	color: var(--gold);
}

.cu-trust__item strong {
	color: var(--bone);
	font-size: 0.72rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	font-weight: 500;
}

.cu-trust__item span { color: var(--mist); font-size: 0.88rem; }

/* —— Footer / pages —— */
.cu-footer {
	border-top: 1px solid rgba(201, 163, 106, 0.12);
	padding-top: 2.6rem;
}

body:not(.cu-is-home) .cu-footer {
	margin-top: 1rem;
	background: rgba(7, 7, 8, 0.78);
	backdrop-filter: blur(18px);
}

.cu-footer__grid {
	display: flex;
	justify-content: space-between;
	gap: 2rem;
	padding-bottom: 2rem;
}

.cu-footer__tag { color: var(--mist); max-width: 18rem; }
.cu-footer__list { display: grid; gap: 0.45rem; }
.cu-footer__list a {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	font-size: 0.7rem;
	color: var(--mist);
}
.cu-footer__list a:hover { color: var(--gold); }

.cu-footer__legal {
	border-top: 1px solid rgba(201, 163, 106, 0.1);
	padding: 1rem 0 1.3rem;
	color: var(--mist);
	font-size: 0.8rem;
}

.cu-page { padding: 9.5rem 0 6rem; }
.cu-page--center { text-align: left; max-width: 40rem; }
.cu-empty { color: var(--mist); max-width: 28rem; }

.cu-prose :where(h1, h2, h3) { font-family: var(--serif); font-weight: 500; }
.cu-prose a { color: var(--gold); }

body:not(.cu-is-home) .cu-header {
	background: rgba(7, 7, 8, 0.72);
	backdrop-filter: blur(18px);
	padding-bottom: 0.9rem;
	border-bottom: 1px solid rgba(201, 163, 106, 0.12);
}

.cu-hud { display: none; }

/* —— Chambre —— */
.cu-main--chamber {
	position: relative;
	min-height: 100vh;
	padding-bottom: 5rem;
}

.cu-main--chamber::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		linear-gradient(90deg, rgba(7, 7, 8, 0.62) 0%, rgba(7, 7, 8, 0.12) 46%, rgba(7, 7, 8, 0.28) 100%),
		linear-gradient(180deg, rgba(7, 7, 8, 0.28) 0%, transparent 38%, rgba(7, 7, 8, 0.55) 100%);
}

.cu-main--chamber > .cu-wrap {
	position: relative;
	z-index: 1;
}

.cu-main--chamber .page-title,
.cu-main--chamber .term-description,
.cu-main--chamber .woocommerce-products-header {
	display: none;
}

.cu-chamber-open {
	padding: 2.5rem 0 2.75rem;
	max-width: 36rem;
}

.cu-page .cu-chamber-open { padding: 0 0 2.25rem; }

.cu-chamber-open__title {
	margin: 0.2rem 0 0;
	font-family: var(--serif);
	font-size: clamp(2.4rem, 5vw, 3.8rem);
	font-weight: 500;
	line-height: 1.02;
	letter-spacing: -0.025em;
}

.cu-chamber-open__lead {
	margin: 0.9rem 0 0;
	color: var(--mist);
	font-size: 1.05rem;
	max-width: 26rem;
	line-height: 1.55;
}

.cu-chamber-open__line {
	display: block;
	width: 4.5rem;
	height: 1px;
	margin-top: 1.5rem;
	background: var(--gold);
	opacity: 0.7;
}

body.cu-is-index .cu-universe,
body.cu-is-leaf .cu-universe {
	opacity: 0;
	visibility: hidden;
}

body.cu-is-index .cu-header,
body.cu-is-leaf .cu-header,
body.cu-is-leaf .cu-header.is-scrolled {
	background: transparent;
	border: 0;
	backdrop-filter: none;
	padding-bottom: 0;
}

.cu-main--index,
.cu-main--leaf {
	padding: 0;
	min-height: 100vh;
}

.cu-html--index,
.cu-html--leaf {
	perspective: 1800px;
}

.cu-html--index { overflow: hidden; }

/* —— Index —— */
.cu-index {
	position: relative;
	min-height: 100vh;
	transform-origin: center left;
	transform-style: preserve-3d;
}

.cu-index__stage,
.cu-index__veil {
	position: fixed;
	inset: 0;
	pointer-events: none;
}

.cu-index__stage { z-index: 0; }

.cu-index__shot {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	opacity: 0;
	transition: opacity 0.7s var(--ease);
}

.cu-index__shot.is-on { opacity: 1; }

.cu-index__veil {
	z-index: 1;
	background:
		radial-gradient(ellipse at 50% 42%, rgba(7, 7, 8, 0.38) 0%, rgba(7, 7, 8, 0.72) 100%),
		rgba(7, 7, 8, 0.42);
}

.cu-index__ui {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(16rem, 0.42fr) minmax(0, 1fr);
	grid-template-rows: auto 1fr;
	min-height: 100vh;
	padding: 7.2rem var(--space) 3.2rem;
	gap: 0 4rem;
}

.cu-index__head {
	grid-column: 1;
	grid-row: 1;
}

.cu-index__cat {
	margin: 0;
	font-family: var(--serif);
	font-size: clamp(2.4rem, 5vw, 3.6rem);
	font-weight: 500;
	letter-spacing: -0.03em;
	line-height: 0.95;
}

.cu-index__brand {
	display: block;
	width: 4.6rem;
	height: 4.6rem;
	margin: 0 0 0.85rem;
	border-radius: 1rem;
	object-fit: cover;
}

body.cu-is-secure .cu-index__shot {
	object-fit: contain;
	width: min(38vw, 320px);
	height: auto;
	inset: auto 12% 18% auto;
	filter: drop-shadow(0 18px 40px rgba(0, 194, 203, 0.18));
}

body.cu-is-secure .cu-index__stage {
	background: #05070c;
}

.cu-index__list {
	grid-column: 1;
	grid-row: 2;
	align-self: end;
	display: grid;
	gap: 0.15rem;
	margin: 0;
	padding: 0 0 0.4rem;
	counter-reset: none;
	max-width: 28rem;
}

.cu-index__item {
	display: grid;
	grid-template-columns: 2.2rem 1fr;
	align-items: baseline;
	gap: 0.8rem;
	min-height: 48px;
	padding: 0.55rem 0;
	border-bottom: 1px solid rgba(243, 238, 228, 0.1);
	color: rgba(243, 238, 228, 0.46);
	transition: color 0.25s var(--ease);
}

.cu-index__item:hover,
.cu-index__item:focus-visible,
.cu-index__item.is-on {
	color: var(--bone);
}

.cu-index__num {
	font-family: var(--mono);
	font-size: 0.64rem;
	letter-spacing: 0.16em;
}

.cu-index__label {
	font-size: 1.02rem;
	font-weight: 300;
	letter-spacing: 0.04em;
}

.cu-index__focus {
	grid-column: 2;
	grid-row: 1 / -1;
	align-self: end;
	justify-self: end;
	width: min(28rem, 100%);
	padding-bottom: 0.6rem;
	text-align: right;
}

.cu-index__focus-name {
	margin: 0;
	font-family: var(--serif);
	font-size: clamp(2.8rem, 6vw, 5.2rem);
	font-weight: 500;
	line-height: 0.92;
	letter-spacing: -0.035em;
}

.cu-index__focus-lead {
	margin: 1rem 0 0;
	color: var(--mist);
	font-size: 1rem;
	line-height: 1.5;
}

.cu-index__focus-price {
	margin: 1.2rem 0 0;
	color: var(--gold);
	font-size: 1.05rem;
	letter-spacing: 0.04em;
}

.cu-html--turn .cu-index,
.cu-html--turn .cu-header {
	animation: cu-page-out 0.48s cubic-bezier(0.65, 0.05, 0.36, 1) forwards;
}

@keyframes cu-page-out {
	to {
		transform: translate3d(28vw, 0, 0) rotateY(-16deg);
		opacity: 0;
		filter: blur(6px);
	}
}

.cu-html--arrive .cu-leaf {
	animation: cu-page-in 0.58s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes cu-page-in {
	from {
		transform: translate3d(-16vw, 0, 0);
		opacity: 0;
	}
	to {
		transform: none;
		opacity: 1;
	}
}

/* —— Leaf —— */
.cu-html--leaf,
.cu-html--leaf body {
	overflow-x: hidden;
}

.cu-main--leaf .woocommerce-product-gallery,
.cu-main--leaf .onsale,
.cu-leaf .woocommerce-product-gallery {
	display: none !important;
}

.cu-leaf {
	position: relative;
	width: 100%;
	min-height: 100vh;
}

.cu-leaf__stage {
	position: fixed;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	overflow: hidden;
}

.cu-leaf__shot,
.cu-leaf__video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	display: block;
	will-change: transform;
}

.cu-leaf--secure .cu-leaf__stage {
	background: #05070c;
}

.cu-leaf--secure .cu-leaf__shot {
	object-fit: contain;
	width: min(36vw, 340px);
	height: auto;
	position: absolute;
	right: 10%;
	top: 22%;
	left: auto;
	bottom: auto;
	border-radius: 1.4rem;
	filter: drop-shadow(0 22px 48px rgba(0, 194, 203, 0.2));
}

.cu-leaf__veil {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse at 42% 46%, rgba(7, 7, 8, 0.28) 0%, rgba(7, 7, 8, 0.7) 72%),
		rgba(7, 7, 8, 0.38);
}

.cu-leaf__ui {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(220px, 0.42fr) minmax(0, 1fr);
	align-items: center;
	gap: clamp(1.4rem, 4vw, 4.5rem);
	width: 100%;
	min-height: 100vh;
	padding: 6.4rem var(--space) 2.2rem;
}

.cu-leaf__ui--solo {
	grid-template-columns: minmax(0, 36rem);
	align-content: end;
	align-items: end;
	padding-bottom: 3.2rem;
}

.cu-leaf__still {
	margin: 0;
	display: grid;
	place-items: center;
	height: min(68vh, 620px);
	will-change: transform;
}

.cu-leaf__still img {
	width: auto;
	height: 100%;
	max-width: 100%;
	object-fit: contain;
	filter: drop-shadow(0 28px 60px rgba(0, 0, 0, 0.55));
}

.cu-leaf__panel {
	display: grid;
	align-content: center;
	gap: 0.85rem;
	min-width: 0;
	max-width: 42rem;
}

.cu-leaf__title {
	margin: 0;
	font-family: var(--serif);
	font-weight: 500;
	font-size: clamp(2.6rem, 5.4vw, 4.8rem) !important;
	line-height: 0.92;
	letter-spacing: -0.035em;
}

.cu-leaf__lead {
	margin: 0;
	max-width: 34rem;
	color: rgba(243, 238, 228, 0.72);
	font-size: 1.02rem;
	line-height: 1.5;
}

.cu-leaf__back {
	font-family: var(--mono);
	font-size: 0.64rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--gold);
	width: fit-content;
}

.cu-leaf__back:hover { color: var(--bone); }

.cu-leaf__price,
.cu-leaf__price .woocommerce-Price-amount {
	margin: 0;
	color: var(--bone);
	font-size: 1.15rem;
}

.cu-leaf__buy {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.9rem 1.3rem;
	margin-top: 0.35rem;
}

.cu-leaf .cart {
	display: flex;
	gap: 0.7rem;
	align-items: center;
	flex-wrap: wrap;
}

.cu-leaf .quantity .qty {
	background: transparent;
	border: 1px solid rgba(243, 238, 228, 0.22);
	color: var(--bone);
	min-height: 48px;
	width: 4.2rem;
	text-align: center;
}

.cu-leaf--book .quantity { display: none !important; }

.cu-leaf--book .cu-leaf__still { height: min(58vh, 500px); }

.cu-leaf--book .cu-leaf__still img {
	mix-blend-mode: lighten;
	filter: drop-shadow(0 18px 36px rgba(0, 0, 0, 0.35));
}

.cu-leaf--book .cu-leaf__title {
	font-size: clamp(2.2rem, 4.2vw, 3.6rem) !important;
}

.cu-leaf__audio { display: none; }

.cu-leaf__excerpt {
	margin: 0;
	max-width: 36rem;
	font-family: var(--serif);
	font-size: 1.08rem;
	line-height: 1.55;
	color: rgba(243, 238, 228, 0.78);
}

.cu-leaf__word { transition: color 0.18s var(--ease); }
.cu-leaf__word.is-on { color: var(--bone); }
.cu-leaf__word.is-now { color: var(--gold-hi); }

.cu-leaf__tools {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.2rem 1.35rem;
}

.cu-leaf__tool {
	padding: 0;
	border: 0;
	background: none;
	font-family: var(--mono);
	font-size: 0.66rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--gold);
}

.cu-leaf__tool:hover,
.cu-leaf__tool[aria-pressed="true"] { color: var(--bone); }

.cu-orbit { padding: 1rem 0 4rem; }
.cu-orbit .cu-section__title { margin-bottom: 1.6rem; }

/* —— Woo / manifeste —— */
.woocommerce ul.products li.product,
.woocommerce ul.products li.cu-card {
	width: auto !important;
	margin: 0 !important;
	float: none !important;
}

.product_title { font-family: var(--serif); font-weight: 500; font-size: clamp(2.4rem, 5vw, 4.2rem) !important; line-height: 0.95; }

.single_add_to_cart_button.button,
.checkout-button,
.woocommerce-button,
button.button,
a.button,
.woocommerce #respond input#submit,
.woocommerce-form-login button,
.woocommerce-form-register button {
	background: transparent !important;
	color: var(--gold-hi) !important;
	border-radius: 0 !important;
	border: 1px solid var(--gold) !important;
	font-family: var(--sans) !important;
	font-weight: 500 !important;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	min-height: 48px;
	padding: 0 1.3rem;
}

.single_add_to_cart_button.button:hover,
.checkout-button:hover,
a.button:hover,
button.button:hover {
	background: var(--gold) !important;
	color: var(--void) !important;
}

.woocommerce a.added_to_cart { color: var(--gold); letter-spacing: 0.16em; text-transform: uppercase; font-size: 0.72rem; }

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-cart table.cart td.actions .coupon .input-text,
.woocommerce-account .woocommerce-form input,
.select2-container--default .select2-selection--single {
	background: rgba(7, 7, 8, 0.45) !important;
	border: 1px solid rgba(201, 163, 106, 0.22) !important;
	color: var(--bone) !important;
	border-radius: 0 !important;
	min-height: 46px;
}

.woocommerce table.shop_table {
	border: 0 !important;
	background: transparent;
	border-collapse: collapse;
}

.woocommerce table.shop_table th {
	font-family: var(--mono);
	font-size: 0.62rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ice);
	font-weight: 400;
	border-bottom: 1px solid rgba(201, 163, 106, 0.2) !important;
}

.woocommerce table.shop_table td {
	border-bottom: 1px solid rgba(201, 163, 106, 0.12) !important;
	padding: 1.1rem 0.4rem !important;
	background: transparent !important;
}

.woocommerce-cart .cart-collaterals,
.woocommerce-checkout #order_review {
	background: rgba(7, 7, 8, 0.28);
	border: 1px solid rgba(201, 163, 106, 0.14);
	padding: 1.4rem 1.5rem;
}

.woocommerce-checkout .col2-set,
.woocommerce-account .woocommerce {
	color: var(--bone);
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	background: rgba(7, 7, 8, 0.62) !important;
	border-top-color: var(--gold) !important;
	color: var(--bone) !important;
}

.woocommerce-ordering,
.woocommerce-result-count { display: none; }

.cu-is-shop .cu-universe .cu-layer--still[data-cu-bg="shop"] { opacity: 0.7; }

body.woocommerce-checkout,
body.woocommerce-cart,
body.woocommerce-account { color: var(--bone); }

/* —— Mobile —— */
@media (max-width: 900px) {
	.cu-nav {
		position: fixed;
		inset: 0 0 0 auto;
		width: min(320px, 86vw);
		padding: 6rem 1.6rem 2rem;
		background: rgba(7, 7, 8, 0.94);
		border-left: 1px solid rgba(201, 163, 106, 0.16);
		transform: translateX(104%);
		transition: transform 0.35s var(--ease);
	}

	.cu-nav.is-open { transform: none; }
	.cu-nav__list { flex-direction: column; align-items: flex-start; gap: 1.2rem; }
	.cu-burger { display: grid; }
	.cu-quote { display: none; }
	.cu-door__link { grid-template-columns: 1fr; }
	.cu-gates { --cu-gate-head: 4.6rem; --cu-header-offset: 4.9rem; --cu-marquee-slot: 7.6rem; }
	.cu-gate__head { padding: 0.55rem 0.7rem; }
	.cu-gate__head .cu-kicker { letter-spacing: 0.2em; font-size: 0.58rem; }
	.cu-gate__title { font-size: 0.92rem; }
	html[data-cu-screen="1"] .cu-gates { height: calc(100svh - var(--cu-header-offset) - var(--cu-marquee-slot)); }
	html[data-cu-screen="1"] .cu-gate__text { display: none; }
	.cu-marquee { grid-template-columns: 1fr; gap: 0.45rem; }
	.cu-marquee__kicker { padding-left: var(--space); }
	.cu-bubble__orb { width: 3.8rem; height: 3.8rem; }
	.cu-hero.cu-screen { padding-bottom: 5rem; }
	.cu-is-home .cu-section { padding: 5.5rem var(--space) 1.4rem; }
	.cu-is-home .cu-doors.cu-screen { padding: 0; }
	.cu-pager { right: 0.7rem; }
	.cu-door__media { aspect-ratio: 16 / 10; }
	.cu-trust__grid { grid-template-columns: 1fr 1fr; }
	.woocommerce ul.products,
	.products.cu-products,
	body:not(.cu-is-home) .cu-main--chamber .woocommerce ul.products,
	body:not(.cu-is-home) .cu-main--chamber .products.cu-products {
		grid-template-columns: 1fr 1fr;
	}
	body:not(.cu-is-home) .cu-main--chamber .woocommerce ul.products li.product,
	body:not(.cu-is-home) .cu-main--chamber .products.cu-products > li {
		grid-column: span 1;
		padding-top: 0 !important;
	}
	.cu-chamber-open { padding-top: 8.2rem; }
	.cu-index__ui {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto 1fr;
		padding-top: 6.4rem;
		gap: 1.2rem;
	}
	.cu-index__head { grid-column: 1; }
	.cu-index__list { grid-column: 1; grid-row: 3; max-width: none; }
	.cu-index__focus {
		grid-column: 1;
		grid-row: 2;
		justify-self: start;
		text-align: left;
		width: 100%;
	}
	.cu-leaf__ui,
	.cu-leaf__ui--solo {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		padding-top: 5.8rem;
		gap: 0.8rem;
	}
	.cu-leaf__still { height: min(28vh, 240px); }
	.cu-leaf__title { font-size: clamp(2.2rem, 10vw, 3.2rem) !important; }
	.cu-header__bar { grid-template-columns: auto 1fr; }
	.cu-header__bar .cu-nav { grid-column: unset; }
}

@media (max-width: 640px) {
	.cu-hero { padding-top: 6.2rem; }
	.cu-hero__copy { padding-bottom: 1.4rem; }
	.cu-trust__grid,
	.cu-footer__grid { grid-template-columns: 1fr; display: grid; }
	.woocommerce ul.products,
	.products.cu-products,
	body:not(.cu-is-home) .cu-main--chamber .woocommerce ul.products,
	body:not(.cu-is-home) .cu-main--chamber .products.cu-products { grid-template-columns: 1fr; }
}

/* —— Dolly : recul Locomotive —— */
html.cu-html--dolly,
html.cu-html--dolly body.cu-is-home {
	height: auto;
	overflow-x: clip;
	overflow-y: auto;
	overscroll-behavior: auto;
}

html.cu-html--dolly .cu-is-home .cu-main.cu-stage,
.cu-html--dolly .cu-main.cu-stage {
	height: auto;
}

html.cu-html--dolly .cu-pager { display: none; }

html.cu-html--dolly .cu-screen {
	position: relative;
	inset: auto;
	z-index: 2;
	display: block;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: none;
	min-height: 0;
}

html.cu-html--dolly .cu-gates {
	position: relative;
	top: auto;
	z-index: 4;
	height: min(62vh, 34rem);
	min-height: 16rem;
	transform: none;
	opacity: 1;
	pointer-events: auto;
	border-top: 1px solid rgba(201, 163, 106, 0.22);
	border-bottom: 1px solid rgba(201, 163, 106, 0.18);
}

html.cu-html--dolly .cu-gate__text,
html.cu-html--dolly .cu-gate__cta { display: block; }

html.cu-html--dolly .cu-gate__head {
	flex-basis: auto;
	padding-top: 1.15rem;
}

html.cu-html--dolly .cu-doors.cu-screen { padding: 0; }
html.cu-html--dolly .cu-select.cu-screen { padding: 4.5rem 0 3rem; }
html.cu-html--dolly .cu-close.cu-screen { padding-top: 0; }

html.cu-html--dolly .cu-sky,
html.cu-html--dolly .cu-layer--still {
	opacity: 0 !important;
}

html.cu-html--dolly.cu-html--home .cu-layer--video {
	opacity: 1 !important;
}

.cu-dolly {
	position: relative;
	z-index: 3;
	background: transparent;
}

.cu-dolly__track {
	height: 620vh;
	--progress: 0;
}

.cu-dolly__stage {
	position: sticky;
	top: 0;
	height: 100svh;
	overflow: hidden;
	background: transparent;
}

.cu-dolly__galactic {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	pointer-events: none;
}

.cu-dolly__world {
	position: absolute;
	inset: 0;
	z-index: 1;
}

.cu-dolly__scene {
	position: absolute;
	inset: -6%;
	margin: 0;
	opacity: 0;
	will-change: transform, opacity;
}

.cu-dolly__scene--source { z-index: 1; }
.cu-dolly__scene--blend {
	z-index: 2;
	mix-blend-mode: screen;
}
.cu-dolly__scene--cover { z-index: 3; }

.cu-dolly__scene img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transform: scale(calc(1.16 - (var(--progress, 0) * 0.16)));
	transform-origin: center center;
	will-change: transform;
}

.cu-dolly__scene--blend img {
	object-position: center 58%;
}

.cu-dolly__copy {
	position: absolute;
	inset: 0;
	z-index: 4;
	display: grid;
	align-content: end;
	padding: 0 var(--space) 5.5rem;
	pointer-events: none;
	background: linear-gradient(180deg, transparent 48%, rgba(0, 0, 0, 0.42) 100%);
}

.cu-dolly__beat {
	grid-area: 1 / 1;
	width: min(560px, 100%);
	opacity: 0;
	transform: translate3d(0, 28px, 0);
	transition: opacity 1.05s var(--ease), transform 1.05s var(--ease);
}

.cu-dolly__beat.is-on {
	opacity: 1;
	transform: none;
}

.cu-dolly__title {
	margin: 0 0 0.7rem;
	font-family: var(--serif);
	font-size: clamp(3.2rem, 8vw, 6.4rem);
	font-weight: 500;
	line-height: 0.9;
	letter-spacing: -0.03em;
}

.cu-dolly__hint {
	position: absolute;
	right: var(--space);
	bottom: 1.4rem;
	margin: 0;
	font-size: 0.62rem;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: rgba(243, 238, 228, 0.55);
}

@media (max-width: 900px) {
	.cu-dolly__track { height: 420vh; }
	.cu-dolly__copy { padding-bottom: 4rem; }
	html.cu-html--dolly .cu-gates { height: min(52vh, 26rem); }
}

@media (prefers-reduced-motion: reduce) {
	html.cu-html { scroll-behavior: auto; }
	.cu-layer,
	.cu-mist,
	.cu-door,
	.cu-gates,
	.cu-sky,
	.cu-gate__media img,
	.cu-card__media img,
	.cu-index__shot { transition: none !important; }
	.cu-marquee__track { animation: none; }
	.cu-html--turn .cu-index,
	.cu-html--turn .cu-header,
	.cu-html--arrive .cu-leaf { animation: none !important; }
}

.cu-leaf__meta { margin: 0.6rem 0 0; font-size: 0.82rem; letter-spacing: 0.04em; color: var(--mist); }


/* ===== Header logo: same capitals as home & customer space ===== */
.cu-logo { gap: 0.3rem; line-height: 1; }
.cu-logo__charly { font-size: 1.32rem; text-transform: uppercase; letter-spacing: 0.26em; }
.cu-logo__universe { font-family: var(--serif); font-size: 0.86rem; font-weight: 500; letter-spacing: 0.5em; margin-left: 0; }

/* ===== Product page: audiobook layout (cover + panel) ===== */
.cu-leaf--audio .cu-leaf__shot { filter: blur(42px) brightness(0.55) saturate(1.1); transform: scale(1.25); }
.cu-leaf--audio .cu-leaf__veil { background: linear-gradient(180deg, rgba(7, 7, 8, 0.35), rgba(7, 7, 8, 0.75)); }

.cu-leaf__ui--book {
	grid-template-columns: minmax(220px, 380px) minmax(0, 34rem);
	justify-content: center;
	align-items: center;
	gap: clamp(2rem, 6vw, 6rem);
	padding-top: 7.5rem;
	padding-bottom: 4rem;
}
.cu-leaf__cover { margin: 0; }
.cu-leaf__cover img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 2 / 3;
	object-fit: cover;
	border-radius: 6px;
	box-shadow: 0 40px 80px -30px rgba(0, 0, 0, 0.85), 0 0 0 1px rgba(255, 255, 255, 0.06);
}
.cu-leaf--audio .cu-leaf__title { font-size: clamp(2.4rem, 4.4vw, 3.8rem) !important; line-height: 1; }

.cu-leaf__chips { display: flex; flex-wrap: wrap; gap: 0.45rem; margin: 0.3rem 0 0; padding: 0; list-style: none; }
.cu-leaf__chips li {
	padding: 0.35rem 0.8rem;
	border: 1px solid rgba(243, 238, 228, 0.18);
	border-radius: 99px;
	background: rgba(243, 238, 228, 0.06);
	font-size: 0.78rem;
	color: rgba(243, 238, 228, 0.88);
}
.cu-leaf__perks { display: grid; gap: 0.45rem; margin: 0.4rem 0 0; padding: 0; list-style: none; }
.cu-leaf__perks li { display: flex; align-items: center; gap: 0.7rem; font-size: 0.92rem; color: rgba(243, 238, 228, 0.78); }
.cu-leaf__perks li::before { content: ""; width: 16px; height: 1px; background: var(--gold); flex: 0 0 auto; }

.cu-leaf__buy .single_add_to_cart_button.button { min-height: 52px; padding: 0 2rem; }
.cu-leaf__price .cu-price-suffix { margin-left: 0.25rem; font-size: 0.8rem; color: var(--mist); }

/* ===== Product page: mobile ===== */
@media (max-width: 720px) {
	.cu-leaf__ui,
	.cu-leaf__ui--solo,
	.cu-leaf__ui--book {
		grid-template-columns: 1fr;
		align-content: start;
		gap: 1.6rem;
		min-height: 100svh;
		padding: 5.6rem 1.25rem calc(6.5rem + env(safe-area-inset-bottom));
	}
	.cu-leaf__ui--solo { align-content: end; }
	.cu-leaf__cover { justify-self: center; width: min(62vw, 260px); }
	.cu-leaf__panel { gap: 0.8rem; }
	.cu-leaf__title,
	.cu-leaf--audio .cu-leaf__title,
	.cu-leaf--book .cu-leaf__title { font-size: clamp(2rem, 9vw, 2.6rem) !important; line-height: 1.02; }
	.cu-leaf__lead { font-size: 0.98rem; }
	.cu-leaf__perks li { font-size: 0.88rem; }

	/* sticky purchase bar */
	.cu-leaf__buy {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 30;
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: space-between;
		gap: 1rem;
		margin: 0;
		padding: 0.8rem 1.25rem calc(0.8rem + env(safe-area-inset-bottom));
		background: rgba(9, 9, 11, 0.92);
		backdrop-filter: blur(16px);
		-webkit-backdrop-filter: blur(16px);
		border-top: 1px solid rgba(201, 163, 106, 0.2);
	}
	.cu-leaf__buy .cu-leaf__meta { display: none; }
	.cu-leaf__price { flex: 0 0 auto; font-size: 1.1rem; white-space: nowrap; }
	.cu-leaf__buy form.cart { flex: 1; justify-content: flex-end; flex-wrap: nowrap; }
	.cu-leaf__buy .single_add_to_cart_button.button { flex: 1; max-width: 240px; min-height: 50px; padding: 0 1rem; letter-spacing: 0.14em; }
	.cu-leaf__buy > a.button { margin-left: auto; }
	.cu-leaf .quantity { display: none !important; }

	.cu-leaf--secure .cu-leaf__shot { width: 44vw; right: 50%; transform: translateX(50%); top: 16%; }
	.cu-leaf--secure .cu-leaf__veil { background: linear-gradient(180deg, rgba(5, 7, 12, 0) 30%, rgba(5, 7, 12, 0.85) 60%); }
}

/* ===== Mobile: off-canvas menu must never widen the page ===== */
html.cu-html, html.cu-html body { overflow-x: clip; }
@media (max-width: 900px) {
	.cu-nav { transform: translateY(-8px) !important; opacity: 0; visibility: hidden; pointer-events: none; transition: transform 0.35s var(--ease), opacity 0.3s, visibility 0s linear 0.35s; }
	.cu-nav.is-open { transform: none !important; opacity: 1; visibility: visible; pointer-events: auto; transition: transform 0.35s var(--ease), opacity 0.3s, visibility 0s; }
}

/* ===== Product page: always-visible bottom bar (excerpt + buy) ===== */
.cu-leaf__price--inline { font-size: 1.3rem !important; margin-top: 0.4rem !important; }
body.has-xbar .cu-leaf__ui { padding-bottom: calc(7rem + env(safe-area-inset-bottom)); }
.cu-xbar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 30;
	padding: 0.75rem var(--space) calc(0.75rem + env(safe-area-inset-bottom));
	background: rgba(9, 9, 11, 0.9);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	border-top: 1px solid rgba(201, 163, 106, 0.22);

}
.cu-xbar__inner { display: flex; align-items: center; gap: 1rem; width: min(1100px, 100%); margin-inline: auto; }
.cu-xbar__play {
	position: relative;
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: var(--gold);
	color: var(--void);
	transition: transform 0.25s var(--ease), background 0.25s;
}
.cu-xbar__play:hover { transform: scale(1.06); background: var(--gold-hi); }
.cu-xbar__play .i-play { margin-left: 3px; }
.cu-xbar__play .i-pause,
.cu-xbar.is-playing .cu-xbar__play .i-play { display: none; }
.cu-xbar.is-playing .cu-xbar__play .i-pause { display: block; }
.cu-xbar.is-playing .cu-xbar__play::after {
	content: "";
	position: absolute;
	inset: -5px;
	border-radius: 50%;
	border: 1px solid rgba(201, 163, 106, 0.55);
	animation: cu-xbar-ring 1.6s ease-out infinite;
}
.cu-xbar__thumb { width: 40px; height: 56px; object-fit: cover; border-radius: 4px; flex: 0 0 auto; }
.cu-xbar__info { display: grid; gap: 0.2rem; flex: 1; min-width: 0; }
.cu-xbar__label { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-family: var(--mono); font-size: 0.64rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--gold); }
.cu-xbar__time { color: var(--mist); letter-spacing: 0.08em; }
.cu-xbar__title { font-family: var(--serif); font-weight: 500; font-size: 1.1rem; color: var(--bone); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cu-xbar__track { position: relative; height: 3px; margin-top: 0.2rem; border-radius: 99px; background: rgba(243, 238, 228, 0.15); cursor: pointer; }
.cu-xbar__track::before { content: ""; position: absolute; inset: -8px 0; }
.cu-xbar__track span { display: block; width: 0; height: 100%; border-radius: inherit; background: var(--gold); }
.cu-xbar__cta { display: flex; align-items: center; gap: 1rem; flex: 0 0 auto; }
.cu-xbar__price { font-size: 1.05rem; color: var(--bone); white-space: nowrap; }
.cu-xbar__price .cu-price-suffix { display: none; }
.cu-xbar__buy {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 0 2rem;
	background: var(--gold);
	color: var(--void) !important;
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	white-space: nowrap;
	transition: background 0.25s;
}
.cu-xbar__buy:hover { background: var(--gold-hi); }
.cu-xbar__buy--ghost { background: transparent; border: 1px solid rgba(201, 163, 106, 0.4); color: var(--gold-hi) !important; }
@keyframes cu-xbar-up { from { transform: translateY(100%); } to { transform: none; } }
@keyframes cu-xbar-ring { from { transform: scale(0.9); opacity: 1; } to { transform: scale(1.3); opacity: 0; } }

@media (max-width: 720px) {
	.cu-xbar { padding: 0.65rem 0.9rem calc(0.65rem + env(safe-area-inset-bottom)); }
	.cu-xbar__inner { gap: 0.75rem; }
	.cu-xbar__play { width: 46px; height: 46px; }
	.cu-xbar__title { font-size: 0.98rem; }
	.cu-xbar__cta { gap: 0.6rem; }
	.cu-xbar__price { font-size: 0.95rem; }
	.cu-xbar__buy { min-height: 46px; padding: 0 1.1rem; font-size: 0.72rem; letter-spacing: 0.12em; }
}
@media (max-width: 380px) { .cu-xbar__price { display: none; } }
@media (prefers-reduced-motion: reduce) { .cu-xbar, .cu-xbar__play::after { animation: none; } }

/* Fixed elements (bottom bar, menu) need the viewport as containing block:
   keep the 3D perspective only while the page-turn animation runs. */
html.cu-html--leaf:not(.cu-html--arrive) { perspective: none; }

/* ===== Product page (audiobook), desktop: fit between header and bottom bar ===== */
@media (min-width: 721px) {
	body.has-xbar .cu-leaf__ui--book,
	.cu-leaf__ui--book {
		grid-template-columns: auto minmax(0, 34rem);
		justify-content: center;
		align-items: center;
		align-content: center;
		gap: clamp(2rem, 5vw, 5rem);
		min-height: 100vh;
		min-height: 100svh;
		padding: calc(80px + 1.5rem) var(--space) calc(90px + 1.5rem + env(safe-area-inset-bottom));
	}
	.cu-leaf__ui--book .cu-leaf__cover { justify-self: end; }
	.cu-leaf__ui--book .cu-leaf__cover img {
		width: auto;
		height: clamp(260px, calc(100svh - 80px - 90px - 4rem), 600px);
		max-width: 100%;
	}
	.cu-leaf__ui--book .cu-leaf__panel { gap: 0.75rem; }
	.cu-leaf--audio .cu-leaf__title { font-size: clamp(2.2rem, 3.6vw, 3.4rem) !important; }
}
@media (min-width: 721px) and (max-height: 760px) {
	.cu-leaf--audio .cu-leaf__title { font-size: clamp(2rem, 3vw, 2.6rem) !important; }
	.cu-leaf__ui--book .cu-leaf__panel { gap: 0.55rem; }
	.cu-leaf__perks { gap: 0.3rem; }
	.cu-leaf__perks li { font-size: 0.86rem; }
	.cu-leaf__lead { font-size: 0.95rem; }
}
@media (min-width: 721px) and (max-height: 620px) {
	.cu-leaf__perks { display: none; }
}

/* single product: the leaf handles its own spacing — neutralise the shop wrapper */
body.single-product .cu-main--chamber { padding-top: 0 !important; padding-bottom: 0 !important; min-height: 0; }
body.single-product .cu-main--chamber > .cu-wrap { width: 100%; max-width: none; margin: 0; padding: 0; }
/* footer child category */
.cu-footer__list li.is-child a, .hx-footer__col li.is-child a { opacity: 0.75; }

/* —— category index: available first, "à paraître" greyed —— */
.cu-index__list { list-style: none; padding-left: 0; }
.cu-index__list > li::marker { content: none; }
.cu-index__item.is-soon { grid-template-columns: 2.2rem 1fr auto; color: rgba(243, 238, 228, 0.26); cursor: not-allowed; pointer-events: none; user-select: none; }
.cu-index__tag { font-family: var(--mono); font-size: 0.58rem; letter-spacing: 0.16em; text-transform: uppercase; padding: 0.2rem 0.5rem; border: 1px solid rgba(243, 238, 228, 0.16); border-radius: 99px; color: rgba(243, 238, 228, 0.4); align-self: center; }
.cu-index__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 35% 30%; background: #000; }
@media (max-width: 900px) { .cu-index__video { object-position: 30% 25%; } }

/* —— product: author video background —— */
.cu-leaf__bgvid { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 30% 30%; background: #000; transition: filter 0.6s var(--ease); }
.cu-leaf--video .cu-leaf__veil { background: linear-gradient(90deg, rgba(7, 7, 8, 0.2) 0%, rgba(7, 7, 8, 0.35) 45%, rgba(7, 7, 8, 0.78) 75%), linear-gradient(180deg, rgba(7, 7, 8, 0) 60%, rgba(7, 7, 8, 0.7)); transition: opacity 0.6s var(--ease); }
html.cu-voice-on .cu-leaf--video .cu-leaf__veil { opacity: 0.7; }
@media (max-width: 900px) {
	.cu-leaf__bgvid { object-position: 32% 20%; }
	.cu-leaf--video .cu-leaf__veil { background: linear-gradient(180deg, rgba(7, 7, 8, 0.15) 0%, rgba(7, 7, 8, 0.5) 45%, rgba(7, 7, 8, 0.9) 75%); }
}
