.premium-page {
	background: var(--color-black);
	color: var(--color-white);
}

.premium-page__hero {
	align-items: end;
	background:
		linear-gradient(90deg, rgb(5 5 5 / 90%), rgb(5 5 5 / 42%)),
		linear-gradient(180deg, rgb(5 5 5 / 16%), rgb(5 5 5 / 96%)),
		var(--page-hero-image) center / cover no-repeat;
	display: grid;
	min-height: 72svh;
	padding: calc(var(--header-height) + var(--space-xl)) var(--site-gutter) var(--space-lg);
}

.premium-page__hero-inner,
.premium-page__sections,
.premium-page__cards,
.premium-page__gallery,
.premium-page__cta {
	margin: 0 auto;
	max-width: var(--site-width);
	width: 100%;
}

.premium-page__kicker {
	color: var(--color-lime);
	font-family: var(--font-display);
	font-weight: 700;
	text-transform: uppercase;
}

.premium-page h1 {
	font-family: var(--font-display);
	font-size: clamp(4.5rem, 12vw, 12rem);
	line-height: 0.82;
	margin: 0;
	max-width: 9ch;
	text-transform: uppercase;
}

.premium-page__hero p:last-child {
	font-size: clamp(1.1rem, 2vw, 1.65rem);
	line-height: 1.55;
	max-width: 680px;
}

.premium-page__sections {
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	padding: var(--space-xl) var(--site-gutter) 0;
}

.premium-page__section,
.premium-page__card {
	background: var(--color-ink);
	border: 1px solid rgb(247 246 242 / 12%);
	padding: clamp(1.5rem, 3vw, 3rem);
}

.premium-page__section h2,
.premium-page__card h2 {
	color: var(--color-lime);
	font-family: var(--font-display);
	font-size: clamp(1.8rem, 3vw, 3.8rem);
	line-height: 0.95;
	margin: 0 0 1rem;
	text-transform: uppercase;
}

.premium-page__section p,
.premium-page__card p {
	color: rgb(247 246 242 / 78%);
	line-height: 1.7;
	margin: 0;
}

.premium-page__cards {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	padding: var(--space-lg) var(--site-gutter) 0;
}

.premium-page__card {
	min-height: 220px;
	transition: border-color 260ms var(--ease-premium), transform 260ms var(--ease-premium);
}

.premium-page__card:hover {
	border-color: var(--color-lime);
	transform: translateY(-6px);
}

.premium-page__gallery {
	columns: 3 260px;
	column-gap: 1rem;
	padding: var(--space-lg) var(--site-gutter) 0;
}

.premium-gallery__item {
	background: var(--color-ink);
	break-inside: avoid;
	margin: 0 0 1rem;
	overflow: hidden;
}

.premium-gallery__item img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
	width: 100%;
}

.premium-gallery__item figcaption {
	color: var(--color-lime);
	font-family: var(--font-display);
	font-weight: 700;
	padding: 1rem;
	text-transform: uppercase;
}

.premium-page__cta {
	padding: var(--space-lg) var(--site-gutter) var(--space-xl);
}

@media (max-width: 900px) {
	.premium-page__sections,
	.premium-page__cards {
		grid-template-columns: 1fr;
	}
}

.lieu-history {
	background: #040404;
	color: var(--color-white);
	overflow: hidden;
}

.lieu-history__hero {
	background:
		linear-gradient(90deg, rgb(0 0 0 / 96%) 0%, rgb(0 0 0 / 72%) 36%, rgb(0 0 0 / 18%) 100%),
		linear-gradient(180deg, rgb(0 0 0 / 12%) 0%, rgb(0 0 0 / 92%) 100%),
		var(--lieu-hero-image) right center / cover no-repeat;
	min-height: min(76svh, 760px);
	padding: calc(var(--header-height) + var(--space-lg)) var(--site-gutter) var(--space-lg);
}

.lieu-history__hero-frame {
	border-left: 4px solid var(--color-lime);
	margin: 0 auto;
	max-width: var(--site-width);
	padding: clamp(1rem, 2vw, 2rem) 0 clamp(1rem, 2vw, 2rem) clamp(1rem, 2.8vw, 2.5rem);
	position: relative;
}

.lieu-history__hero-frame::before,
.lieu-history__hero-frame::after {
	background: var(--color-lime);
	content: "";
	height: 4px;
	left: 0;
	position: absolute;
	width: clamp(2rem, 5vw, 4rem);
}

.lieu-history__hero-frame::before {
	top: 0;
}

.lieu-history__hero-frame::after {
	bottom: 0;
}

.lieu-history__eyebrow,
.lieu-history__subtitle,
.lieu-history__date,
.lieu-history__copy h2,
.lieu-history__brand,
.lieu-history__use strong {
	font-family: var(--font-display);
	text-transform: uppercase;
}

.lieu-history__eyebrow {
	color: var(--color-lime);
	font-size: 0.95rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	margin: 0 0 0.8rem;
}

.lieu-history h1 {
	color: var(--color-white);
	font-family: var(--font-display);
	font-size: clamp(4.4rem, 10vw, 10rem);
	font-weight: 800;
	line-height: 0.94;
	margin: 0 0 clamp(1rem, 2vw, 1.8rem);
	max-width: 8ch;
	text-transform: uppercase;
}

.lieu-history__subtitle {
	color: var(--color-lime);
	font-size: clamp(1.45rem, 2.6vw, 2.6rem);
	font-weight: 800;
	line-height: 1.12;
	margin: 0 0 0.7rem;
	max-width: 680px;
}

.lieu-history__hero-frame p:last-child {
	color: rgb(247 246 242 / 88%);
	font-size: clamp(1rem, 1.35vw, 1.25rem);
	line-height: 1.55;
	margin: 0;
	max-width: 720px;
}

.lieu-history__timeline {
	margin: 0 auto;
	max-width: calc(var(--site-width) + (var(--site-gutter) * 2));
	padding: 0 var(--site-gutter);
	position: relative;
}

.lieu-history__event {
	border: 1px solid rgb(247 246 242 / 18%);
	border-bottom: 0;
	display: grid;
	grid-template-columns: minmax(88px, 140px) 36px minmax(0, 1fr);
	min-height: 180px;
	position: relative;
}

.lieu-history__event:last-child {
	border-bottom: 1px solid rgb(247 246 242 / 18%);
}

.lieu-history__date {
	align-items: center;
	color: var(--color-lime);
	display: flex;
	flex-direction: column;
	justify-content: center;
	line-height: 0.9;
	padding: 1rem 0.75rem;
	text-align: center;
}

.lieu-history__date strong {
	font-size: clamp(2.2rem, 4.8vw, 4.2rem);
	font-weight: 800;
}

.lieu-history__event--today .lieu-history__date strong {
	font-size: clamp(1rem, 1.5vw, 1.35rem);
	line-height: 1.05;
	max-width: 6.5rem;
}

.lieu-history__date span {
	font-size: clamp(0.8rem, 1.5vw, 1.15rem);
	font-weight: 800;
	margin-top: 0.35rem;
}

.lieu-history__dot {
	position: relative;
}

.lieu-history__dot::before {
	background: var(--color-lime);
	content: "";
	inset: 0 auto 0 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 3px;
}

.lieu-history__dot::after {
	background: var(--color-lime);
	border-radius: 50%;
	box-shadow: 0 0 0 5px rgb(199 230 0 / 16%);
	content: "";
	height: 18px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 18px;
}

.lieu-history__content {
	background:
		linear-gradient(90deg, rgb(4 4 4 / 98%) 0%, rgb(4 4 4 / 78%) 48%, rgb(4 4 4 / 38%) 100%),
		#111;
	display: grid;
	grid-template-columns: minmax(280px, 0.96fr) minmax(320px, 1.24fr);
	overflow: hidden;
}

.lieu-history__copy {
	align-self: center;
	padding: clamp(1.25rem, 2.4vw, 2.6rem);
	position: relative;
	z-index: 2;
}

.lieu-history__copy h2 {
	color: var(--color-white);
	font-size: clamp(1.8rem, 3vw, 3.4rem);
	font-weight: 800;
	line-height: 0.95;
	margin: 0 0 0.75rem;
}

.lieu-history__copy p {
	color: rgb(247 246 242 / 86%);
	font-size: clamp(0.96rem, 1.1vw, 1.08rem);
	line-height: 1.55;
	margin: 0;
}

.lieu-history__note {
	color: var(--color-lime) !important;
	font-weight: 800;
	margin-top: 1rem !important;
}

.lieu-history__media {
	display: grid;
	min-height: 210px;
	opacity: 0.86;
	position: relative;
}

.lieu-history__media img {
	filter: grayscale(1) contrast(1.08);
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.lieu-history__event--garden .lieu-history__media img,
.lieu-history__event--mosaic .lieu-history__media img,
.lieu-history__event--today .lieu-history__media img {
	filter: saturate(1.08) contrast(1.02);
}

.lieu-history__event--brand .lieu-history__media {
	align-items: center;
	background:
		linear-gradient(90deg, rgb(4 4 4 / 20%), rgb(4 4 4 / 62%)),
		url("../images/maison-le-cercle.jpg") center / cover no-repeat;
	justify-content: center;
}

.lieu-history__event--brand .lieu-history__media img {
	filter: grayscale(1) contrast(1.08);
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.lieu-history__brand {
	color: var(--color-white);
	font-size: clamp(3.6rem, 7vw, 7.8rem);
	font-style: italic;
	font-weight: 800;
	letter-spacing: -0.03em;
	text-shadow: 0 10px 30px rgb(0 0 0 / 64%);
}

.lieu-history__event--triptych .lieu-history__media {
	gap: 4px;
	grid-template-columns: 1fr;
	padding: 0;
}

.lieu-history__event--mosaic .lieu-history__media {
	gap: 4px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	padding: 4px;
}

.lieu-history__uses {
	border-inline: 1px solid rgb(247 246 242 / 18%);
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	margin: 0 auto;
	max-width: calc(var(--site-width) + (var(--site-gutter) * 2));
	padding: 0 var(--site-gutter);
}

.lieu-history__use {
	align-items: center;
	background: #070707;
	border-bottom: 1px solid rgb(247 246 242 / 18%);
	display: flex;
	flex-direction: column;
	min-height: 140px;
	padding: 1.25rem 0.75rem;
	text-align: center;
}

.lieu-history__use-icon {
	border: 2px solid var(--color-lime);
	color: var(--color-lime);
	display: grid;
	height: 34px;
	margin-bottom: 0.8rem;
	place-items: center;
	position: relative;
	width: 34px;
}

.lieu-history__use-icon::before {
	color: var(--color-lime);
	font-family: var(--font-display);
	font-size: 1.2rem;
	font-weight: 800;
	line-height: 1;
}

.lieu-history__use-icon--frame::before {
	content: "â–¡";
}

.lieu-history__use-icon--table::before {
	content: "T";
}

.lieu-history__use-icon--hands::before {
	content: "âˆž";
}

.lieu-history__use-icon--people::before {
	content: "2";
}

.lieu-history__use-icon--group::before {
	content: "3";
}

.lieu-history__use-icon--bed::before {
	content: "B";
}

.lieu-history__use-icon--flower::before {
	content: "*";
}

.lieu-history__use strong {
	color: var(--color-white);
	font-size: 0.82rem;
	font-weight: 800;
	margin-bottom: 0.2rem;
}

.lieu-history__use span:last-child {
	color: rgb(247 246 242 / 72%);
	font-size: 0.76rem;
	line-height: 1.25;
}

.lieu-history__quote {
	align-items: center;
	display: grid;
	gap: clamp(1.5rem, 4vw, 4rem);
	grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
	margin: 0 auto;
	max-width: calc(var(--site-width) + (var(--site-gutter) * 2));
	padding: clamp(2rem, 5vw, 5rem) var(--site-gutter);
}

.lieu-history__quote > p {
	color: rgb(247 246 242 / 90%);
	font-size: clamp(1.4rem, 2.2vw, 2.25rem);
	line-height: 1.16;
	margin: 0;
	position: relative;
}

.lieu-history__quote > p::before {
	color: var(--color-lime);
	content: "\201C";
	font-family: Georgia, serif;
	font-size: clamp(4rem, 9vw, 8rem);
	left: -0.1em;
	line-height: 0.6;
	position: absolute;
	top: -0.1em;
	transform: translateX(-100%);
}

.lieu-history__quote div {
	align-items: center;
	display: grid;
	gap: 1.5rem;
	grid-template-columns: 120px minmax(0, 1fr);
}

.lieu-history__quote img {
	border: 3px solid var(--color-lime);
	padding: 0.6rem;
}

.lieu-history__quote div p {
	color: rgb(247 246 242 / 88%);
	font-size: clamp(1.05rem, 1.6vw, 1.45rem);
	line-height: 1.35;
	margin: 0;
}

@media (max-width: 1100px) {
	.lieu-history__content {
		grid-template-columns: 1fr;
	}

	.lieu-history__media {
		min-height: 260px;
	}

	.lieu-history__uses {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	.lieu-history__event {
		grid-template-columns: 74px 24px minmax(0, 1fr);
	}

	.lieu-history__date {
		padding-inline: 0.35rem;
	}

	.lieu-history__date strong {
		font-size: 1.85rem;
	}

	.lieu-history__content {
		display: block;
	}

	.lieu-history__media {
		min-height: 190px;
	}

	.lieu-history__event--mosaic .lieu-history__media,
	.lieu-history__event--triptych .lieu-history__media {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.lieu-history__uses,
	.lieu-history__quote {
		grid-template-columns: 1fr;
	}

	.lieu-history__quote > p::before {
		position: static;
		transform: none;
	}
}

/* Visiter page */
.visit-page {
	background: var(--color-black);
	color: var(--color-white);
}

.visit-hero {
	align-items: end;
	background:
		linear-gradient(90deg, rgb(5 5 5 / 86%), rgb(5 5 5 / 36%) 55%, rgb(5 5 5 / 78%)),
		var(--visit-hero-image) center / cover;
	display: grid;
	min-height: clamp(560px, 82vh, 820px);
	padding: clamp(8rem, 16vw, 13rem) var(--site-gutter) clamp(3rem, 7vw, 6rem);
}

.visit-hero__inner {
	max-width: 980px;
}

.visit-hero__kicker,
.visit-label {
	color: var(--color-lime);
	font-family: var(--font-display);
	font-size: 0.95rem;
	letter-spacing: 0;
	margin: 0 0 0.75rem;
	text-transform: uppercase;
}

.visit-hero h1,
.visit-intro h2,
.visit-gallery__heading h2 {
	font-family: var(--font-display);
	font-size: clamp(3.4rem, 9vw, 8rem);
	line-height: 0.92;
	margin: 0;
	text-transform: uppercase;
}

.visit-hero p:not(.visit-hero__kicker) {
	color: rgb(247 246 242 / 88%);
	font-size: clamp(1.1rem, 2vw, 1.45rem);
	line-height: 1.45;
	margin: 1.4rem 0 2rem;
	max-width: 720px;
}

.visit-strip {
	border-bottom: 1px solid rgb(247 246 242 / 14%);
	border-top: 1px solid rgb(247 246 242 / 14%);
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.visit-strip__item {
	background: #070707;
	border-right: 1px solid rgb(247 246 242 / 14%);
	padding: clamp(1.35rem, 3vw, 2.5rem);
}

.visit-strip__item strong {
	color: var(--color-lime);
	display: block;
	font-family: var(--font-display);
	font-size: clamp(1.8rem, 4vw, 3.4rem);
	line-height: 0.95;
	text-transform: uppercase;
}

.visit-strip__item span {
	color: rgb(247 246 242 / 76%);
	display: block;
	margin-top: 0.55rem;
}

.visit-intro {
	display: grid;
	gap: clamp(1.5rem, 5vw, 5rem);
	grid-template-columns: minmax(0, 0.95fr) minmax(280px, 0.75fr);
	margin: 0 auto;
	max-width: calc(var(--site-width) + (var(--site-gutter) * 2));
	padding: clamp(4rem, 8vw, 7rem) var(--site-gutter);
}

.visit-intro > p {
	color: rgb(247 246 242 / 84%);
	font-size: clamp(1.05rem, 1.8vw, 1.35rem);
	line-height: 1.55;
	margin: 0;
}

.visit-route {
	display: grid;
	gap: clamp(1rem, 2vw, 2rem);
	grid-template-columns: minmax(320px, 0.85fr) minmax(0, 1fr);
	margin: 0 auto;
	max-width: calc(var(--site-width) + (var(--site-gutter) * 2));
	padding: 0 var(--site-gutter) clamp(4rem, 8vw, 7rem);
}

.visit-route__photo {
	margin: 0;
	min-height: 100%;
	overflow: hidden;
}

.visit-route__photo img {
	height: 100%;
	min-height: 520px;
	object-fit: cover;
	width: 100%;
}

.visit-route__steps {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.visit-route__step {
	background: #0a0a0a;
	border: 1px solid rgb(247 246 242 / 14%);
	min-height: 250px;
	padding: clamp(1.4rem, 3vw, 2.4rem);
}

.visit-route__step span {
	color: var(--color-lime);
	font-family: var(--font-display);
	font-size: 1.6rem;
}

.visit-route__step h2,
.visit-practical h2 {
	font-family: var(--font-display);
	font-size: clamp(1.8rem, 3vw, 2.8rem);
	line-height: 0.98;
	margin: 1.2rem 0 0.8rem;
	text-transform: uppercase;
}

.visit-route__step p,
.visit-practical p {
	color: rgb(247 246 242 / 78%);
	line-height: 1.5;
	margin: 0;
}

.visit-practical {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.visit-practical article {
	background:
		linear-gradient(135deg, rgb(199 230 0 / 12%), transparent 42%),
		#080808;
	border-block: 1px solid rgb(247 246 242 / 14%);
	padding: clamp(2rem, 5vw, 5rem) var(--site-gutter);
}

.visit-gallery {
	margin: 0 auto;
	max-width: calc(var(--site-width) + (var(--site-gutter) * 2));
	padding: clamp(4rem, 8vw, 7rem) var(--site-gutter);
}

.visit-gallery__heading {
	margin-bottom: clamp(1.5rem, 4vw, 3rem);
	max-width: 760px;
}

.visit-gallery__grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.visit-gallery__item {
	aspect-ratio: 4 / 5;
	background: #111;
	margin: 0;
	overflow: hidden;
	position: relative;
}

.visit-gallery__item:nth-child(1),
.visit-gallery__item:nth-child(6) {
	aspect-ratio: 16 / 10;
	grid-column: span 2;
}

.visit-gallery__item img {
	height: 100%;
	object-fit: cover;
	transition: transform 700ms ease;
	width: 100%;
}

.visit-gallery__item:hover img {
	transform: scale(1.05);
}

.visit-gallery__item figcaption {
	background: linear-gradient(transparent, rgb(5 5 5 / 88%));
	bottom: 0;
	color: var(--color-white);
	font-weight: 800;
	left: 0;
	padding: 3rem 1.2rem 1.2rem;
	position: absolute;
	right: 0;
}

.visit-cta {
	align-items: center;
	background: var(--color-lime);
	color: #050505;
	display: flex;
	gap: 1.5rem;
	justify-content: space-between;
	padding: clamp(2rem, 5vw, 4rem) var(--site-gutter);
}

.visit-cta p {
	font-family: var(--font-display);
	font-size: clamp(2rem, 5vw, 4.5rem);
	line-height: 0.95;
	margin: 0;
	text-transform: uppercase;
}

@media (max-width: 980px) {
	.visit-strip,
	.visit-intro,
	.visit-route,
	.visit-practical {
		grid-template-columns: 1fr;
	}

	.visit-route__steps,
	.visit-gallery__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.visit-hero {
		min-height: 620px;
	}

	.visit-route__steps,
	.visit-gallery__grid {
		grid-template-columns: 1fr;
	}

	.visit-gallery__item:nth-child(1),
	.visit-gallery__item:nth-child(6) {
		grid-column: span 1;
	}

	.visit-cta {
		align-items: start;
		flex-direction: column;
	}
}


/* Shop / Boutique */
.shop-page {
	background: #0f1115;
	color: #f7f6f2;
}

.shop-page .button {
	border-radius: 6px;
}

.shop-hero {
	min-height: 78vh;
	display: flex;
	align-items: flex-end;
	background:
		linear-gradient(90deg, rgba(15, 17, 21, 0.92), rgba(15, 17, 21, 0.58), rgba(15, 17, 21, 0.18)),
		var(--shop-hero-image) center/cover;
	padding: clamp(120px, 14vw, 190px) 24px 64px;
}

.shop-hero__inner,
.shop-section,
.shop-made,
.shop-click-collect,
.shop-final-cta {
	width: min(1180px, calc(100% - 32px));
	margin: 0 auto;
}

.shop-hero__inner {
	max-width: 760px;
	margin-left: max(16px, calc((100vw - 1180px) / 2));
}

.shop-kicker {
	margin: 0 0 14px;
	color: #c6ff2e;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.shop-hero h1 {
	margin: 0;
	color: #f7f6f2;
	font-size: clamp(4.4rem, 11vw, 10rem);
	line-height: 0.98;
	letter-spacing: 0;
}

.shop-hero p {
	max-width: 660px;
	color: rgba(247, 246, 242, 0.84);
	font-size: clamp(1rem, 1.6vw, 1.2rem);
	line-height: 1.7;
}

.shop-hero__lead {
	margin-top: 24px;
	color: #f7f6f2 !important;
	font-size: clamp(1.3rem, 2.6vw, 2rem) !important;
	line-height: 1.25 !important;
}

.shop-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 28px;
}

.shop-support {
	margin-top: 26px;
	color: #c6ff2e !important;
	font-weight: 700;
}

.shop-section {
	padding: clamp(60px, 8vw, 108px) 0;
}

.shop-section--light {
	background: #f7f6f2;
	color: #0f1115;
	width: 100%;
	max-width: none;
	padding-left: max(16px, calc((100vw - 1180px) / 2));
	padding-right: max(16px, calc((100vw - 1180px) / 2));
}

.shop-section--dark {
	background: #0f1115;
}

.shop-section__head {
	display: grid;
	gap: 10px;
	margin-bottom: 32px;
}

.shop-section__head h2,
.shop-made h2,
.shop-click-collect h2,
.shop-final-cta h2,
.shop-rosieres h2 {
	margin: 0;
	font-size: clamp(2rem, 5vw, 4.5rem);
	line-height: 1.02;
	letter-spacing: 0;
}

.shop-collection-grid,
.shop-product-grid,
.shop-gift-grid,
.shop-artist-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.shop-collection-card,
.shop-product-card,
.shop-gift-grid article,
.shop-artist-grid article {
	overflow: hidden;
	border: 1px solid rgba(94, 100, 110, 0.28);
	border-radius: 8px;
	background: #fff;
	color: #0f1115;
	box-shadow: 0 18px 60px rgba(15, 17, 21, 0.08);
}

.shop-collection-card img,
.shop-product-card img,
.shop-artist-grid img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
}

.shop-collection-card div,
.shop-product-card div,
.shop-artist-grid div,
.shop-gift-grid article {
	padding: 22px;
}

.shop-collection-card h3,
.shop-product-card h3,
.shop-gift-grid h3,
.shop-artist-grid h3 {
	margin: 0 0 10px;
	font-size: 1.25rem;
	line-height: 1.2;
}

.shop-collection-card p,
.shop-product-card p,
.shop-gift-grid p,
.shop-artist-grid p {
	margin: 0;
	color: #5e646e;
	line-height: 1.6;
}

.shop-product-card {
	background: #191c23;
	color: #f7f6f2;
}

.shop-product-card p {
	color: #c6ff2e;
	font-weight: 700;
}

.shop-product-card a,
.shop-artist-grid a {
	display: inline-flex;
	margin-top: 16px;
	color: #c6ff2e;
	font-weight: 800;
	text-decoration: none;
}

.shop-made {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	gap: clamp(28px, 5vw, 72px);
	align-items: center;
	padding: clamp(64px, 8vw, 112px) 0;
}

.shop-made__badge {
	display: grid;
	gap: 12px;
	border-radius: 8px;
	background: #c6ff2e;
	color: #0f1115;
	padding: clamp(28px, 5vw, 52px);
}

.shop-made__badge strong {
	font-size: clamp(1.8rem, 4vw, 4rem);
	line-height: 0.98;
}

.shop-made__badge span {
	border-top: 1px solid rgba(15, 17, 21, 0.22);
	padding-top: 12px;
	font-weight: 800;
}

.shop-made__copy p,
.shop-final-cta p,
.shop-rosieres p,
.shop-click-collect h2 {
	color: rgba(247, 246, 242, 0.78);
	line-height: 1.7;
}

.shop-rosieres {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 36px;
	align-items: center;
}

.shop-rosieres p {
	color: #5e646e;
}

.shop-rosieres img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 8px;
}

.shop-click-collect,
.shop-final-cta {
	padding: clamp(64px, 8vw, 108px) 0;
	text-align: center;
}

.shop-click-collect h2,
.shop-final-cta h2,
.shop-final-cta p {
	max-width: 860px;
	margin-left: auto;
	margin-right: auto;
}

@media (max-width: 900px) {
	.shop-collection-grid,
	.shop-product-grid,
	.shop-gift-grid,
	.shop-artist-grid,
	.shop-made,
	.shop-rosieres {
		grid-template-columns: 1fr;
	}

	.shop-hero {
		min-height: 70vh;
		padding-top: 110px;
	}

	.shop-hero h1 {
		font-size: clamp(3.8rem, 20vw, 6rem);
	}
}


/* Espaces rebuilt */
.espaces-page {
	background: #f7f6f2;
	color: #0f1115;
}

.espaces-hero {
	min-height: 76vh;
	display: flex;
	align-items: flex-end;
	background:
		linear-gradient(90deg, rgba(15, 17, 21, 0.92), rgba(15, 17, 21, 0.48), rgba(15, 17, 21, 0.18)),
		var(--espaces-hero-image) center/cover;
	padding: clamp(120px, 14vw, 190px) 24px 64px;
	color: #f7f6f2;
}

.espaces-hero__content,
.espaces-intro,
.espaces-grid,
.espaces-photo-section,
.espaces-final {
	width: min(1180px, calc(100% - 32px));
	margin: 0 auto;
}

.espaces-hero__content {
	margin-left: max(16px, calc((100vw - 1180px) / 2));
	max-width: 760px;
}

.espaces-kicker,
.espaces-card__kicker {
	margin: 0 0 12px;
	color: #c6ff2e;
	font-size: 0.78rem;
	font-weight: 850;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.espaces-hero h1 {
	margin: 0;
	font-size: clamp(4.5rem, 12vw, 10rem);
	line-height: 0.96;
	letter-spacing: 0;
}

.espaces-hero p {
	max-width: 680px;
	color: rgba(247, 246, 242, 0.84);
	font-size: clamp(1.05rem, 1.6vw, 1.25rem);
	line-height: 1.7;
}

.espaces-intro {
	display: grid;
	grid-template-columns: 1fr 0.75fr;
	gap: clamp(28px, 6vw, 78px);
	padding: clamp(64px, 8vw, 112px) 0;
	align-items: end;
}

.espaces-intro h2,
.espaces-section-head h2,
.espaces-final h2 {
	margin: 0;
	font-size: clamp(2rem, 5vw, 4.5rem);
	line-height: 1.03;
	letter-spacing: 0;
}

.espaces-intro p {
	color: #5e646e;
	line-height: 1.75;
}

.espaces-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	padding-bottom: clamp(64px, 8vw, 110px);
}

.espaces-card {
	overflow: hidden;
	border: 1px solid rgba(94, 100, 110, 0.24);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 18px 60px rgba(15, 17, 21, 0.08);
}

.espaces-card img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
}

.espaces-card__body {
	padding: 22px;
}

.espaces-card__kicker {
	color: #5e646e;
}

.espaces-card h2 {
	margin: 0 0 10px;
	font-size: 1.35rem;
	line-height: 1.2;
}

.espaces-card p {
	color: #5e646e;
	line-height: 1.65;
}

.espaces-card a {
	display: inline-flex;
	margin-top: 8px;
	color: #0f1115;
	font-weight: 850;
	text-decoration: underline;
	text-decoration-color: #c6ff2e;
	text-decoration-thickness: 4px;
	text-underline-offset: 4px;
}

.espaces-photo-section {
	padding: clamp(64px, 8vw, 108px) 0;
}

.espaces-photo-section--dark {
	width: 100%;
	max-width: none;
	padding-left: max(16px, calc((100vw - 1180px) / 2));
	padding-right: max(16px, calc((100vw - 1180px) / 2));
	background: #0f1115;
	color: #f7f6f2;
}

.espaces-section-head {
	margin-bottom: 30px;
}

.espaces-section-head--row {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 24px;
}

.espaces-photo-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.espaces-photo-grid--three {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.espaces-photo-grid figure,
.espaces-carousel__item {
	overflow: hidden;
	margin: 0;
	border-radius: 8px;
	background: #fff;
	color: #0f1115;
}

.espaces-photo-grid img,
.espaces-carousel__item img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
}

.espaces-photo-grid figcaption,
.espaces-carousel__item figcaption {
	padding: 14px 16px 16px;
	font-weight: 800;
}

.espaces-carousel-controls {
	display: flex;
	gap: 10px;
}

.espaces-carousel-button {
	width: 44px;
	height: 44px;
	border: 1px solid rgba(247, 246, 242, 0.24);
	border-radius: 50%;
	background: #c6ff2e;
	color: #0f1115;
	font-size: 2rem;
	line-height: 1;
	cursor: pointer;
}

.espaces-carousel {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 36px) / 3);
	gap: 18px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
	padding-bottom: 12px;
}

.espaces-carousel__item {
	scroll-snap-align: start;
	background: #191c23;
	color: #f7f6f2;
}

.espaces-final {
	padding: clamp(64px, 8vw, 110px) 0;
	text-align: center;
}

.espaces-final h2 {
	max-width: 820px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 28px;
}

@media (max-width: 900px) {
	.espaces-intro,
	.espaces-grid,
	.espaces-photo-grid,
	.espaces-photo-grid--three {
		grid-template-columns: 1fr;
	}

	.espaces-section-head--row {
		align-items: start;
		flex-direction: column;
	}

	.espaces-carousel {
		grid-auto-columns: min(82vw, 360px);
	}

	.espaces-hero h1 {
		font-size: clamp(4rem, 22vw, 6rem);
	}
}


/* Residences rebuilt */
.residences-page {
	background: #f7f6f2;
	color: #0f1115;
}

.residences-hero {
	min-height: 82vh;
	display: flex;
	align-items: flex-end;
	background:
		linear-gradient(90deg, rgba(15, 17, 21, 0.92), rgba(15, 17, 21, 0.54), rgba(15, 17, 21, 0.16)),
		var(--residences-hero-image) center/cover;
	color: #f7f6f2;
	padding: clamp(120px, 14vw, 190px) 24px 64px;
}

.residences-hero__content,
.residences-intro,
.residences-program,
.residences-statement,
.residences-gallery,
.residences-cta {
	width: min(1180px, calc(100% - 32px));
	margin: 0 auto;
}

.residences-hero__content {
	max-width: 820px;
	margin-left: max(16px, calc((100vw - 1180px) / 2));
}

.residences-kicker {
	margin: 0 0 14px;
	color: #c6ff2e;
	font-size: 0.78rem;
	font-weight: 850;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.residences-hero h1 {
	margin: 0;
	font-size: clamp(3.8rem, 9vw, 8.5rem);
	line-height: 0.98;
	letter-spacing: 0;
}

.residences-hero p {
	max-width: 680px;
	color: rgba(247, 246, 242, 0.84);
	font-size: clamp(1.05rem, 1.6vw, 1.25rem);
	line-height: 1.7;
}

.residences-intro,
.residences-statement {
	display: grid;
	grid-template-columns: 1fr 0.78fr;
	gap: clamp(28px, 6vw, 78px);
	padding: clamp(64px, 8vw, 112px) 0;
	align-items: end;
}

.residences-intro h2,
.residences-statement h2,
.residences-section-head h2,
.residences-cta h2 {
	margin: 0;
	font-size: clamp(2rem, 5vw, 4.5rem);
	line-height: 1.03;
	letter-spacing: 0;
}

.residences-intro p,
.residences-statement p,
.residences-cta p {
	color: #5e646e;
	line-height: 1.75;
}

.residences-program {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
	padding-bottom: clamp(64px, 8vw, 110px);
}

.residence-feature {
	border: 1px solid rgba(94, 100, 110, 0.22);
	border-radius: 8px;
	background: #fff;
	padding: clamp(22px, 3vw, 34px);
	box-shadow: 0 18px 60px rgba(15, 17, 21, 0.08);
}

.residence-feature span {
	display: inline-flex;
	margin-bottom: 34px;
	color: #c6ff2e;
	font-size: 3rem;
	font-weight: 900;
	line-height: 1;
}

.residence-feature h2 {
	margin: 0 0 12px;
	font-size: 1.35rem;
	line-height: 1.18;
}

.residence-feature p {
	margin: 0;
	color: #5e646e;
	line-height: 1.65;
}

.residences-statement {
	width: 100%;
	max-width: none;
	padding-left: max(16px, calc((100vw - 1180px) / 2));
	padding-right: max(16px, calc((100vw - 1180px) / 2));
	background: #0f1115;
	color: #f7f6f2;
}

.residences-statement p {
	color: rgba(247, 246, 242, 0.74);
}

.residences-gallery {
	padding: clamp(64px, 8vw, 110px) 0;
}

.residences-section-head {
	margin-bottom: 30px;
}

.residences-gallery__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.residences-gallery figure {
	overflow: hidden;
	margin: 0;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 18px 60px rgba(15, 17, 21, 0.08);
}

.residences-gallery img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.residences-gallery figcaption {
	padding: 14px 16px 16px;
	font-weight: 800;
}

.residences-cta {
	padding: clamp(64px, 8vw, 110px) 0;
	text-align: center;
}

.residences-cta h2,
.residences-cta p {
	max-width: 820px;
	margin-left: auto;
	margin-right: auto;
}

@media (max-width: 980px) {
	.residences-intro,
	.residences-statement,
	.residences-program,
	.residences-gallery__grid {
		grid-template-columns: 1fr;
	}

	.residences-hero h1 {
		font-size: clamp(3.5rem, 16vw, 6rem);
	}
}


/* Residences original layout restored */
.residences-page--original {
	--black: #0f1115;
	--black-rgb: 15, 17, 21;
	--cream: #f7f6f2;
	--cream-rgb: 247, 246, 242;
	--white: #ffffff;
	--lime: #c6ff2e;
	--steel: #5e646e;
	--steel-rgb: 94, 100, 110;
	--site-gutter: clamp(20px, 4vw, 72px);
	--site-content-width: 1180px;
	--site-header-height: 92px;
	--space-sm: clamp(14px, 1.4vw, 22px);
	--space-md: clamp(22px, 2.4vw, 36px);
	--space-lg: clamp(34px, 4vw, 64px);
	--space-xl: clamp(58px, 7vw, 110px);
	--space-2xl: clamp(84px, 10vw, 160px);
	--radius-md: 8px;
	background: var(--black);
	color: var(--cream);
}

.residences-page--original .residences-hero {
	align-items: stretch;
	background: var(--black);
	display: flex;
	isolation: isolate;
	min-height: 100vh;
	overflow: hidden;
	padding: 0 var(--site-gutter);
	position: relative;
}

.residences-page--original .residences-hero__media {
	background-color: var(--black);
	background-image: var(--residences-hero-image, none);
	background-position: center;
	background-size: cover;
	inset: 0;
	position: absolute;
	z-index: -3;
}

.residences-page--original .residences-hero__media::after {
	background:
		linear-gradient(120deg, rgba(var(--steel-rgb), 0.22), rgba(var(--black-rgb), 0)),
		linear-gradient(180deg, rgba(var(--black-rgb), 0.08), rgba(var(--black-rgb), 0.76));
	content: "";
	inset: 0;
	position: absolute;
}

.residences-page--original .residences-hero__overlay {
	background: rgba(var(--black-rgb), 0.62);
	inset: 0;
	position: absolute;
	z-index: -2;
}

.residences-page--original .residences-hero__content {
	align-content: end;
	display: grid;
	gap: var(--space-md);
	margin: 0 auto;
	max-width: var(--site-content-width);
	min-height: 100vh;
	padding: calc(var(--site-header-height) + var(--space-xl)) 0 var(--space-xl);
	width: 100%;
}

.residences-page--original .residences-hero__eyebrow {
	color: var(--lime);
	font-size: 0.78rem;
	font-weight: 850;
	letter-spacing: 0;
	margin: 0;
	text-transform: uppercase;
}

.residences-page--original .residences-hero__title {
	color: var(--cream);
	font-family: var(--font-display, inherit);
	font-size: clamp(4rem, 11vw, 12rem);
	font-weight: 800;
	letter-spacing: 0;
	line-height: 0.82;
	margin: 0;
	max-width: 10ch;
	text-transform: uppercase;
}

.residences-page--original .residences-program {
	background: var(--cream);
	color: var(--black);
	padding: var(--space-2xl) var(--site-gutter);
}

.residences-page--original .residences-program__inner,
.residences-page--original .residences-gallery__inner {
	margin: 0 auto;
	max-width: var(--site-content-width);
}

.residences-page--original .residences-program__grid {
	display: grid;
	gap: var(--space-sm);
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.residences-page--original .residence-feature {
	background: transparent;
	border: 1px solid rgba(var(--black-rgb), 0.12);
	border-radius: var(--radius-md);
	box-shadow: none;
	display: grid;
	gap: var(--space-lg);
	min-height: 300px;
	padding: var(--space-md);
}

.residences-page--original .residence-feature__number {
	color: var(--steel);
	font-size: 0.78rem;
	font-weight: 850;
}

.residences-page--original .residence-feature__title {
	align-self: end;
	color: var(--black);
	font-family: var(--font-display, inherit);
	font-size: clamp(2rem, 3vw, 3.5rem);
	font-weight: 800;
	letter-spacing: 0;
	line-height: 0.98;
	margin: 0;
}

.residences-page--original .residences-gallery {
	background: var(--black);
	color: var(--cream);
	padding: var(--space-2xl) var(--site-gutter);
}

.residences-page--original .residences-gallery__inner {
	display: grid;
	gap: var(--space-lg);
}

.residences-page--original .residences-gallery__title {
	color: var(--cream);
	font-family: var(--font-display, inherit);
	font-size: clamp(2.5rem, 6vw, 7rem);
	font-weight: 800;
	letter-spacing: 0;
	line-height: 0.96;
	margin: 0;
	max-width: 9ch;
}

.residences-page--original .residences-gallery__grid {
	display: grid;
	gap: var(--space-sm);
	grid-template-columns: 1.15fr 0.85fr 1fr;
	min-height: clamp(320px, 42vw, 620px);
}

.residences-page--original .residences-gallery__item {
	background:
		linear-gradient(180deg, rgba(var(--cream-rgb), 0.08), rgba(var(--cream-rgb), 0.02)),
		var(--steel);
	border: 1px solid rgba(var(--cream-rgb), 0.16);
	border-radius: var(--radius-md);
	display: block;
	opacity: 0.3;
}

.residences-page--original .residences-gallery .button {
	justify-self: start;
}

@media (max-width: 900px) {
	.residences-page--original .residences-program__grid,
	.residences-page--original .residences-gallery__grid {
		grid-template-columns: 1fr;
	}

	.residences-page--original .residences-hero__title {
		font-size: clamp(3.8rem, 18vw, 6rem);
	}
}


/* Residences full zip layout restored */
.lcr-page{--lime:#c9e600;--black:#050505;--white:#fff;--muted:#eeeeee;font-family:Arial,Helvetica,sans-serif;color:#111;background:#f3f1ef;margin:0;overflow:hidden}.lcr-page *{box-sizing:border-box}.lcr-hero{min-height:530px;background:linear-gradient(90deg,rgba(0,0,0,.98) 0%,rgba(0,0,0,.92) 34%,rgba(0,0,0,.25) 58%,rgba(0,0,0,.08) 100%),var(--hero) center right/cover no-repeat;color:white;display:flex;align-items:center;padding:50px 64px}.lcr-hero-content{max-width:610px}.lcr-breadcrumb{text-transform:uppercase;font-weight:900;font-size:14px}.lcr-breadcrumb:first-letter{color:var(--lime)}.lcr-breadcrumb span{color:var(--lime);margin:0 8px}.lcr-hero h1{text-transform:uppercase;font-size:76px;line-height:.96;margin:25px 0 18px;letter-spacing:0;text-shadow:0 5px 16px #000;font-weight:1000;color:white}.lcr-hero h2{text-transform:uppercase;color:var(--lime);font-size:22px;margin:0 0 18px;font-weight:1000}.lcr-hero p{font-size:18px;line-height:1.55;margin:0 0 30px;max-width:520px;color:white}.lcr-features{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:22px}.lcr-features div{border-right:1px solid rgba(255,255,255,.45);text-align:center;padding:0 16px}.lcr-features div:last-child{border-right:none}.lcr-features span{display:block;color:var(--lime);font-size:38px;line-height:1;margin-bottom:10px}.lcr-features strong{display:block;text-transform:uppercase;font-size:13px;color:white}.lcr-features small{display:block;color:white;font-size:13px;margin-top:6px}.lcr-intro{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:42px;padding:46px 64px;background:#f4f2f0}.lcr-intro h2,.lcr-section-head h2{text-transform:uppercase;font-size:28px;line-height:1.1;margin:0 0 24px;font-weight:1000;letter-spacing:0;color:#111}.lcr-intro h2:after,.lcr-info b:after{content:"";display:block;width:30px;height:2px;background:var(--lime);margin-top:14px}.lcr-intro p{line-height:1.55;margin:0 0 10px;color:#111}.lcr-info{border-left:1px solid #c8c8c8;padding-left:26px}.lcr-info b{text-transform:uppercase;font-size:18px;display:block;margin-bottom:14px}.lcr-btn{display:inline-block;border:1.5px solid var(--lime);padding:13px 20px;color:#111!important;text-decoration:none;text-transform:uppercase;font-weight:1000;margin-top:12px;background:transparent}.lcr-gallery-section{background:#f6f4f2;padding:26px 50px 44px}.lcr-section-head{text-align:center;margin-bottom:20px}.lcr-section-head span{display:block;width:34px;height:2px;background:var(--lime);margin:0 auto 12px}.lcr-section-head p{margin:0;color:#555;font-size:16px}.lcr-gallery{display:grid;grid-template-columns:repeat(7,1fr);gap:16px}.lcr-card img{width:100%;height:190px;object-fit:cover;border-radius:4px;display:block;box-shadow:0 4px 14px rgba(0,0,0,.14)}.lcr-card div{padding-top:12px;border-top:3px solid var(--lime);margin-top:10px}.lcr-card b{display:block;font-size:14px}.lcr-card p{margin:5px 0 0;font-size:13px;line-height:1.35}.lcr-center{text-align:center;margin-top:24px}.lcr-black-band{margin:0 58px 44px;background:linear-gradient(90deg,#030707,#071010);color:white;border-radius:8px;display:grid;grid-template-columns:repeat(4,1fr);padding:30px 32px;gap:26px}.lcr-black-band div{display:grid;grid-template-columns:64px 1fr;column-gap:16px;border-right:1px solid rgba(255,255,255,.35);padding-right:20px}.lcr-black-band div:last-child{border-right:0}.lcr-black-band span{grid-row:1/3;color:var(--lime);font-size:42px;line-height:1}.lcr-black-band b{text-transform:uppercase;font-size:16px;color:white}.lcr-black-band p{margin:8px 0 0;line-height:1.45;color:#f3f3f3}@media(max-width:1200px){.lcr-gallery{grid-template-columns:repeat(3,1fr)}.lcr-intro{grid-template-columns:1fr 1fr}.lcr-black-band{grid-template-columns:1fr 1fr}}@media(max-width:760px){.lcr-hero{min-height:620px;padding:34px 22px;background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.98)),var(--hero) center/cover no-repeat;align-items:flex-end}.lcr-hero h1{font-size:48px}.lcr-hero h2{font-size:18px}.lcr-hero p{font-size:16px}.lcr-features{grid-template-columns:1fr 1fr;gap:20px}.lcr-features div{border-right:0}.lcr-intro{grid-template-columns:1fr;padding:34px 22px;gap:24px}.lcr-info{border-left:0;border-top:1px solid #ccc;padding-left:0;padding-top:20px}.lcr-gallery-section{padding:34px 18px}.lcr-gallery{grid-template-columns:1fr}.lcr-card img{height:250px}.lcr-black-band{grid-template-columns:1fr;margin:0 18px 34px;padding:26px 20px}.lcr-black-band div{border-right:0;border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:18px}.lcr-black-band div:last-child{border-bottom:0}}


/* Art BnB full zip layout restored */
.artbnb-page{--black:#050505;--white:#f5f2ea;--yellow:#f2b900;--muted:#b8b2a6;--line:rgba(245,242,234,.18);background:radial-gradient(circle at 20% 5%,rgba(242,185,0,.16),transparent 28%),linear-gradient(180deg,#080808 0%,#010101 100%);color:var(--white);font-family:Arial,Helvetica,sans-serif;line-height:1.45;overflow-x:hidden}.artbnb-page *{box-sizing:border-box}.artbnb-wrap{width:min(1180px,92vw);margin:auto}.artbnb-top{display:flex;justify-content:space-between;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}.artbnb-brand{font-weight:900;letter-spacing:0;font-size:42px;line-height:.85}.artbnb-brand span{color:var(--yellow);font-size:.72em;vertical-align:.05em}.artbnb-label{letter-spacing:.32em;text-transform:uppercase;font-size:12px;color:var(--muted)}.artbnb-hero{display:grid;grid-template-columns:1.02fr .98fr;gap:48px;align-items:center;padding:70px 0 55px}.artbnb-kicker{color:var(--yellow);font-weight:800;text-transform:uppercase;letter-spacing:.18em;font-size:13px;margin-bottom:18px}.artbnb-hero h1{font-size:clamp(48px,8vw,118px);line-height:.85;margin:0 0 24px;text-transform:uppercase;letter-spacing:0;color:var(--white);font-weight:1000}.artbnb-hero h1 em{font-style:normal;color:var(--yellow)}.artbnb-lead{font-size:clamp(18px,2vw,25px);color:#eee;max-width:620px;margin:0 0 32px}.artbnb-cta{display:flex;gap:14px;flex-wrap:wrap}.artbnb-btn{border:1px solid var(--yellow);padding:14px 20px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;text-decoration:none!important;color:var(--black)!important;background:var(--yellow)}.artbnb-btn--alt{background:transparent;color:var(--white)!important;border-color:var(--white)}.artbnb-hero-card{position:relative}.artbnb-hero-card img{width:100%;height:650px;object-fit:cover;display:block;filter:contrast(1.08) saturate(1.05);border:1px solid var(--line)}.artbnb-tag{position:absolute;left:22px;bottom:22px;background:rgba(5,5,5,.84);border-left:6px solid var(--yellow);padding:16px 18px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.artbnb-section{padding:70px 0;border-top:1px solid var(--line)}.artbnb-section h2{font-size:clamp(32px,5vw,70px);line-height:.9;margin:0 0 22px;text-transform:uppercase;letter-spacing:0;color:var(--white);font-weight:1000}.artbnb-section h2 span{color:var(--yellow)}.artbnb-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}.artbnb-photo{background:#111;border:1px solid var(--line);overflow:hidden;margin:0}.artbnb-photo img{width:100%;height:420px;object-fit:cover;display:block;transition:.35s}.artbnb-photo:hover img{transform:scale(1.04)}.artbnb-photo figcaption{padding:16px 18px;color:var(--muted);font-size:14px;text-transform:uppercase;letter-spacing:.1em}.artbnb-features{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:34px}.artbnb-feature{border:1px solid var(--line);padding:24px;background:rgba(255,255,255,.03)}.artbnb-feature b{display:block;color:var(--yellow);font-size:28px;margin-bottom:12px}.artbnb-feature h3{margin:0 0 8px;text-transform:uppercase;letter-spacing:.08em;color:var(--white)}.artbnb-feature p{margin:0;color:var(--muted)}.artbnb-split{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start}.artbnb-box{border:1px solid var(--line);padding:30px;background:rgba(255,255,255,.035)}.artbnb-box ul{margin:0;padding-left:18px;color:var(--muted)}.artbnb-box li{margin:9px 0}.artbnb-contact{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-top:25px}.artbnb-contact a,.artbnb-contact div{border:1px solid var(--line);padding:18px;color:var(--white)!important;text-decoration:none}.artbnb-contact small{display:block;color:var(--yellow);text-transform:uppercase;letter-spacing:.16em;margin-bottom:6px}.artbnb-footer{padding:36px 0;color:var(--muted);border-top:1px solid var(--line)}.artbnb-logo-cercle{float:right;border:2px solid var(--white);padding:16px 18px;color:var(--white);font-weight:900;font-size:22px;margin-top:-8px}@media(max-width:850px){.artbnb-hero,.artbnb-split{grid-template-columns:1fr}.artbnb-hero-card img{height:480px}.artbnb-grid3,.artbnb-features,.artbnb-contact{grid-template-columns:1fr}.artbnb-photo img{height:auto}.artbnb-top{align-items:flex-start;gap:16px}.artbnb-label{letter-spacing:.18em}.artbnb-logo-cercle{float:none;display:inline-block;margin-top:20px}}


/* Art BnB recovered noon adjustments */
.artbnb-details{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:34px}.artbnb-detail{min-height:180px;border:1px solid var(--line);background:rgba(255,255,255,.04);padding:24px}.artbnb-detail h3{margin:0 0 12px;color:var(--yellow);font-size:18px;text-transform:uppercase;letter-spacing:.08em}.artbnb-detail p{margin:0;color:var(--muted);font-size:16px}@media(max-width:850px){.artbnb-details{grid-template-columns:1fr}.artbnb-detail{min-height:auto}}

/* Presse recovered full layout */
.presse-page{--press-black:#0f1115;--press-cream:#f7f6f2;--press-lime:#c6ff2e;--press-steel:#5e646e;--press-line:rgba(247,246,242,.16);background:#0f1115;color:#f7f6f2;font-family:Inter,Arial,sans-serif;overflow:hidden}.presse-page *{box-sizing:border-box}.presse-wrap{width:min(1180px,92vw);margin:0 auto}.presse-kicker{margin:0 0 14px;color:var(--press-lime);text-transform:uppercase;letter-spacing:.16em;font-weight:900;font-size:13px}.presse-hero{min-height:82vh;display:flex;align-items:center;padding:72px 0;background:linear-gradient(130deg,#0f1115 0%,#151922 58%,#0f1115 100%);border-bottom:1px solid var(--press-line)}.presse-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:54px;align-items:center}.presse-hero h1{margin:0;color:#f7f6f2;font-size:clamp(64px,12vw,150px);line-height:.82;letter-spacing:0;font-weight:1000}.presse-hero h2,.presse-section h2,.presse-final h2{margin:0 0 18px;color:#f7f6f2;font-size:clamp(34px,5vw,76px);line-height:.94;letter-spacing:0;font-weight:950}.presse-hero p,.presse-featured__text p,.presse-kit p,.presse-final p{max-width:720px;color:#d6d7d2;font-size:clamp(18px,2vw,24px);line-height:1.5}.presse-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 20px;background:var(--press-lime);color:#0f1115!important;text-decoration:none!important;text-transform:uppercase;letter-spacing:.11em;font-size:13px;font-weight:950;border:1px solid var(--press-lime);transition:.2s}.presse-button:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(198,255,46,.2)}.presse-button--ghost{background:transparent;color:#f7f6f2!important;border-color:rgba(247,246,242,.42)}.presse-hero__visual,.presse-featured__image,.presse-card,.presse-portfolio__item,.presse-video{display:block;color:inherit!important;text-decoration:none!important}.presse-hero__visual{transform:rotate(2deg);filter:drop-shadow(0 24px 52px rgba(0,0,0,.42))}.presse-hero__visual img,.presse-featured__image img,.presse-card img,.presse-portfolio__item img,.presse-video img{display:block;width:100%;height:100%;object-fit:cover}.presse-section{padding:76px 0;border-bottom:1px solid var(--press-line)}.presse-section__head{display:flex;justify-content:space-between;gap:32px;align-items:end;margin-bottom:32px}.presse-featured{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:center}.presse-featured__image{height:420px;border:1px solid var(--press-line);background:#181d25;overflow:hidden}.presse-featured__text{padding:12px 0}.presse-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.presse-card{background:#151922;border:1px solid var(--press-line);min-height:100%;transition:.2s}.presse-card:hover,.presse-portfolio__item:hover,.presse-video:hover{transform:translateY(-4px);border-color:rgba(198,255,46,.7)}.presse-card img{height:230px;border-bottom:1px solid var(--press-line)}.presse-card__body{padding:20px}.presse-card span,.presse-video span{color:var(--press-lime);font-size:12px;text-transform:uppercase;letter-spacing:.13em;font-weight:900}.presse-card h3,.presse-portfolio__item h3,.presse-video h3{margin:10px 0;color:#f7f6f2;font-size:22px;line-height:1.08}.presse-card p,.presse-portfolio__item p,.presse-video p{color:#c5c8c2;line-height:1.5}.presse-card strong,.presse-video strong{display:inline-block;margin-top:8px;color:#f7f6f2;text-transform:uppercase;letter-spacing:.1em;font-size:12px}.presse-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}.presse-filters span{border:1px solid var(--press-line);color:#f7f6f2;background:#151922;padding:10px 14px;text-transform:uppercase;letter-spacing:.09em;font-size:12px;font-weight:800}.presse-filters span:first-child{background:var(--press-lime);color:#0f1115;border-color:var(--press-lime)}.presse-portfolio{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.presse-portfolio__item{position:relative;min-height:330px;border:1px solid var(--press-line);background:#151922;overflow:hidden}.presse-portfolio__item img{height:210px;border-bottom:1px solid var(--press-line)}.presse-portfolio__item div{padding:16px}.presse-portfolio__item small{color:#aeb4ad;text-transform:uppercase;letter-spacing:.1em;font-size:11px}.presse-video-list{display:grid;gap:20px}.presse-video{display:grid;grid-template-columns:360px 1fr;gap:26px;align-items:center;background:#151922;border:1px solid var(--press-line);padding:18px}.presse-video img{height:230px;border:1px solid var(--press-line)}.presse-kit{display:grid;grid-template-columns:1fr auto;gap:34px;align-items:center;background:#090b0e;border:1px solid var(--press-lime);padding:42px}.presse-kit__actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end}.presse-final{text-align:center;padding:88px 0 96px;background:#f7f6f2;color:#0f1115}.presse-final h2,.presse-final p{color:#0f1115;margin-left:auto;margin-right:auto}.presse-final .presse-button{margin-top:14px;background:#0f1115;color:#f7f6f2!important;border-color:#0f1115}@media(max-width:900px){.presse-hero__grid,.presse-featured,.presse-video,.presse-kit{grid-template-columns:1fr}.presse-hero{min-height:auto}.presse-grid,.presse-portfolio{grid-template-columns:1fr}.presse-section__head{display:block}.presse-hero__visual{transform:none}.presse-featured__image{height:auto}.presse-video img{height:auto}.presse-kit__actions{justify-content:flex-start}.presse-portfolio__item{min-height:auto}}


/* Vie locale recovered full layout */
.vie-locale-page{--vl-black:#0f1115;--vl-cream:#f7f6f2;--vl-lime:#c6ff2e;--vl-red:#e5473f;--vl-blue:#6aa6ff;--vl-line:rgba(247,246,242,.16);background:#0f1115;color:#f7f6f2;font-family:Inter,Arial,sans-serif;overflow:hidden}.vie-locale-page *{box-sizing:border-box}.vie-locale-wrap{width:min(1180px,92vw);margin:0 auto}.vie-locale-kicker{margin:0 0 14px;color:var(--vl-lime);font-size:13px;font-weight:950;letter-spacing:.16em;text-transform:uppercase}.vie-locale-hero{min-height:82vh;display:flex;align-items:center;padding:72px 0;background:linear-gradient(125deg,#0f1115 0%,#172018 52%,#101318 100%);border-bottom:1px solid var(--vl-line)}.vie-locale-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,520px);gap:50px;align-items:center}.vie-locale-hero h1,.vie-locale-section h2{margin:0 0 20px;color:#f7f6f2;font-size:clamp(42px,7vw,96px);line-height:.92;letter-spacing:0;font-weight:1000;text-transform:uppercase}.vie-locale-hero p,.vie-locale-sante p,.vie-locale-info p{max-width:720px;color:#dce1d6;font-size:clamp(18px,2vw,24px);line-height:1.5}.vie-locale-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.vie-locale-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 20px;background:var(--vl-lime);color:#0f1115!important;border:1px solid var(--vl-lime);text-decoration:none!important;text-transform:uppercase;letter-spacing:.1em;font-size:13px;font-weight:950}.vie-locale-button--ghost{background:transparent;color:#f7f6f2!important;border-color:rgba(247,246,242,.42)}.vie-locale-hero__image{margin:0;border:1px solid var(--vl-line);background:#151922;overflow:hidden;transform:rotate(1.5deg)}.vie-locale-hero__image img{display:block;width:100%;height:650px;object-fit:cover}.vie-locale-section{padding:76px 0;border-bottom:1px solid var(--vl-line)}.vie-locale-head{max-width:860px;margin-bottom:34px}.vie-locale-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.vie-locale-card{background:#151922;border:1px solid var(--vl-line);min-height:100%;overflow:hidden}.vie-locale-card img{display:block;width:100%;height:320px;object-fit:cover}.vie-locale-card div{padding:22px}.vie-locale-card h3{margin:0 0 10px;color:#f7f6f2;font-size:24px;line-height:1;text-transform:uppercase}.vie-locale-card p{margin:0;color:#c7cdc4;line-height:1.5}.vie-locale-sante{display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:42px;align-items:center;background:#f7f6f2;color:#0f1115;padding:42px}.vie-locale-sante .vie-locale-kicker,.vie-locale-sante h2,.vie-locale-sante p{color:#0f1115}.vie-locale-sante img{width:100%;height:360px;object-fit:cover;border:1px solid rgba(15,17,21,.16)}.vie-locale-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.vie-locale-gallery figure{margin:0;background:#151922;border:1px solid var(--vl-line);overflow:hidden}.vie-locale-gallery img{display:block;width:100%;height:310px;object-fit:cover}.vie-locale-gallery figcaption{padding:14px 16px;color:#c7cdc4;font-size:14px;line-height:1.35}.vie-locale-info{display:grid;grid-template-columns:1fr 430px;gap:36px;align-items:stretch}.vie-locale-info__box{border:1px solid var(--vl-lime);background:#090b0e;padding:30px}.vie-locale-info__box h3{margin:0 0 12px;color:#f7f6f2;font-size:30px;text-transform:uppercase}.vie-locale-info__box p{font-size:18px}.vie-locale-info__box .vie-locale-button{margin-top:14px}@media(max-width:980px){.vie-locale-hero__grid,.vie-locale-sante,.vie-locale-info{grid-template-columns:1fr}.vie-locale-cards,.vie-locale-gallery{grid-template-columns:repeat(2,1fr)}.vie-locale-hero{min-height:auto}.vie-locale-hero__image{transform:none}.vie-locale-hero__image img{height:auto}.vie-locale-sante{padding:26px}}@media(max-width:620px){.vie-locale-cards,.vie-locale-gallery{grid-template-columns:1fr}.vie-locale-card img,.vie-locale-gallery img{height:auto}.vie-locale-section{padding:54px 0}}

/* Vie locale recovered 20260702 */
.vie-locale-page {
	background: #f5f2ec;
	color: #090909;
}

.vie-locale-section__inner {
	margin: 0 auto;
	max-width: var(--site-width);
	width: 100%;
}

.vie-locale-link {
	align-items: center;
	background: #090909;
	color: var(--color-white);
	display: inline-flex;
	font-size: 0.82rem;
	font-weight: 900;
	gap: 0.45rem;
	justify-content: center;
	line-height: 1.1;
	min-height: 44px;
	padding: 0.85rem 1.05rem;
	text-decoration: none;
	text-transform: uppercase;
}

.vie-locale-hero {
	align-items: center;
	background:
		linear-gradient(90deg, rgb(0 0 0 / 94%) 0%, rgb(0 0 0 / 64%) 36%, rgb(0 0 0 / 10%) 100%),
		linear-gradient(180deg, rgb(0 0 0 / 10%) 0%, rgb(0 0 0 / 58%) 100%),
		var(--vie-locale-hero-image) center / cover no-repeat;
	display: grid;
	min-height: min(47svh, 475px);
	padding: calc(var(--header-height) + 2rem) var(--site-gutter) clamp(2rem, 4vw, 4rem);
}

.vie-locale-hero__copy {
	max-width: 520px;
}

.vie-locale-hero h1,
.vie-locale-hero__subtitle,
.vie-locale-page h2,
.vie-locale-card h3,
.vie-locale-events h3,
.vie-locale-cta h2 {
	font-family: var(--font-display);
	font-weight: 800;
	text-transform: uppercase;
}

.vie-locale-hero h1 {
	color: var(--color-white);
	font-size: clamp(5rem, 9vw, 8rem);
	line-height: 0.92;
	margin: 0 0 1rem;
}

.vie-locale-hero__subtitle {
	color: var(--color-lime);
	font-size: clamp(1.8rem, 3vw, 3rem);
	line-height: 1.05;
	margin: 0 0 1.4rem;
}

.vie-locale-hero p:not(.vie-locale-hero__subtitle) {
	color: rgb(255 255 255 / 92%);
	font-size: clamp(1rem, 1.35vw, 1.24rem);
	line-height: 1.55;
	margin: 0 0 1rem;
}

.vie-locale-weekly,
.vie-locale-open,
.vie-locale-health {
	padding: clamp(2rem, 4vw, 3.6rem) var(--site-gutter);
}

.vie-locale-page h2 {
	color: #101010;
	font-size: clamp(2rem, 3vw, 2.8rem);
	line-height: 1;
	margin: 0 0 1.5rem;
}

.vie-locale-page h2::after {
	background: var(--color-lime);
	content: "";
	display: block;
	height: 3px;
	margin-top: 0.85rem;
	width: 72px;
}

.vie-locale-weekly__grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.vie-locale-card {
	background: #fff;
	box-shadow: 0 22px 50px rgb(0 0 0 / 10%);
	display: grid;
	min-height: 100%;
}

.vie-locale-card img {
	aspect-ratio: 1 / 1.04;
	display: block;
	object-fit: cover;
	width: 100%;
}

.vie-locale-card__body {
	padding: 1.15rem;
}

.vie-locale-card span,
.vie-locale-events em {
	background: rgb(199 230 0 / 22%);
	color: #111;
	display: inline-flex;
	font-size: 0.7rem;
	font-style: normal;
	font-weight: 900;
	line-height: 1.1;
	margin-bottom: 0.65rem;
	padding: 0.25rem 0.4rem;
	text-transform: uppercase;
}

.vie-locale-card h3 {
	font-size: clamp(1.25rem, 1.7vw, 1.75rem);
	line-height: 1;
	margin: 0 0 0.55rem;
}

.vie-locale-card p,
.vie-locale-open p,
.vie-locale-health p {
	line-height: 1.55;
	margin: 0;
}

.vie-locale-open {
	background: #fff;
}

.vie-locale-open__grid {
	display: grid;
	gap: clamp(2rem, 4vw, 4rem);
	grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
}

.vie-locale-year {
	display: grid;
	gap: 0;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.vie-locale-year span {
	border-left: 4px solid var(--color-lime);
	border-top: 1px solid rgb(0 0 0 / 12%);
	font-weight: 800;
	padding: 0.9rem 1rem;
	text-transform: uppercase;
}

.vie-locale-open__copy {
	border-left: 1px solid rgb(0 0 0 / 18%);
	padding-left: clamp(1.5rem, 3vw, 3rem);
}

.vie-locale-open__copy ul {
	line-height: 1.7;
	margin: 1rem 0;
	padding-left: 1.2rem;
}

.vie-locale-open__copy strong {
	background: #090909;
	color: var(--color-lime);
	display: block;
	font-size: 1.1rem;
	line-height: 1.35;
	margin-top: 1.2rem;
	padding: 1rem;
}

.vie-locale-health {
	background: #efe9dc;
}

.vie-locale-health__grid {
	align-items: center;
	display: grid;
	gap: clamp(1.5rem, 3vw, 3rem);
	grid-template-columns: minmax(280px, 0.8fr) minmax(0, 1fr);
}

.vie-locale-health img {
	aspect-ratio: 1.55 / 1;
	display: block;
	object-fit: cover;
	width: 100%;
}

.vie-locale-agenda {
	background: #0a0a0a;
	padding: clamp(2rem, 4vw, 3.5rem) var(--site-gutter);
}

.vie-locale-agenda__grid {
	display: grid;
	gap: clamp(1.5rem, 3vw, 2.5rem);
	grid-template-columns: minmax(300px, 0.75fr) minmax(0, 1.25fr);
}

.vie-locale-events h2,
.vie-locale-gallery h2,
.vie-locale-cta h2 {
	color: var(--color-white);
}

.vie-locale-events h2::after,
.vie-locale-gallery h2::after,
.vie-locale-cta h2::after {
	background: var(--color-lime);
}

.vie-locale-events article {
	border-top: 1px solid rgb(255 255 255 / 18%);
	display: grid;
	gap: 1rem;
	grid-template-columns: 64px 1fr;
	padding: 1rem 0;
}

.vie-locale-events time {
	align-content: center;
	background: var(--color-lime);
	color: #090909;
	display: grid;
	justify-items: center;
	min-height: 64px;
	text-transform: uppercase;
}

.vie-locale-events time strong {
	font-size: 1.6rem;
	line-height: 1;
}

.vie-locale-events time span {
	font-size: 0.75rem;
	font-weight: 900;
}

.vie-locale-events h3 {
	color: var(--color-white);
	font-size: 1.15rem;
	margin: 0 0 0.3rem;
}

.vie-locale-events p {
	color: rgb(255 255 255 / 82%);
	margin: 0 0 0.25rem;
}

.vie-locale-events .vie-locale-link {
	background: var(--color-white);
	color: #090909;
	margin-top: 0.8rem;
}

.vie-locale-gallery {
	background: #f8f6f1;
	padding: clamp(1.5rem, 3vw, 2.2rem);
}

.vie-locale-gallery h2 {
	color: #101010;
}

.vie-locale-gallery div {
	display: grid;
	gap: 0.35rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.vie-locale-gallery img {
	aspect-ratio: 1.58 / 1;
	display: block;
	object-fit: cover;
	width: 100%;
}

.vie-locale-gallery > a {
	margin: 1.2rem auto 0;
}

.vie-locale-map {
	background: #f5f2ec;
	padding: clamp(2rem, 4vw, 3.5rem) var(--site-gutter);
}

.vie-locale-map__panel {
	background:
		linear-gradient(135deg, rgb(0 0 0 / 86%), rgb(0 0 0 / 72%)),
		linear-gradient(45deg, transparent 48%, rgb(199 230 0 / 35%) 49%, rgb(199 230 0 / 35%) 51%, transparent 52%),
		linear-gradient(-45deg, transparent 48%, rgb(255 255 255 / 18%) 49%, rgb(255 255 255 / 18%) 51%, transparent 52%);
	background-size: auto, 44px 44px, 68px 68px;
	color: var(--color-white);
	min-height: 260px;
	padding: clamp(1.5rem, 3vw, 2.5rem);
}

.vie-locale-map__panel p {
	color: rgb(255 255 255 / 78%);
	font-weight: 800;
	margin: 0 0 0.8rem;
	text-transform: uppercase;
}

.vie-locale-map__panel strong {
	color: var(--color-lime);
	display: block;
	font-family: var(--font-display);
	font-size: clamp(2rem, 4vw, 4rem);
	line-height: 0.95;
	text-transform: uppercase;
}

.vie-locale-cta {
	background: #050505;
	padding: clamp(2rem, 4vw, 3rem) var(--site-gutter);
}

.vie-locale-cta .vie-locale-section__inner {
	align-items: center;
	display: grid;
	gap: 1rem;
	grid-template-columns: minmax(0, 1fr) auto auto;
}

.vie-locale-cta h2 {
	font-size: clamp(2rem, 3vw, 3rem);
	margin: 0;
}

.vie-locale-cta p {
	color: var(--color-lime);
	font-size: clamp(1.1rem, 1.5vw, 1.4rem);
	font-weight: 800;
	margin: 0;
}

.vie-locale-cta .vie-locale-link {
	background: transparent;
	border: 1px solid rgb(255 255 255 / 28%);
	color: var(--color-white);
	min-width: 190px;
}

.vie-locale-cta .vie-locale-link:first-of-type {
	background: var(--color-lime);
	border-color: var(--color-lime);
	color: #090909;
}

@media (max-width: 1080px) {
	.vie-locale-weekly__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.vie-locale-open__grid,
	.vie-locale-health__grid,
	.vie-locale-agenda__grid,
	.vie-locale-cta .vie-locale-section__inner {
		grid-template-columns: 1fr;
	}

	.vie-locale-open__copy {
		border-left: 0;
		border-top: 1px solid rgb(0 0 0 / 18%);
		padding: 2rem 0 0;
	}
}

@media (max-width: 680px) {
	.vie-locale-hero h1 {
		font-size: clamp(4rem, 18vw, 5.6rem);
	}

	.vie-locale-weekly__grid,
	.vie-locale-year,
	.vie-locale-gallery div {
		grid-template-columns: 1fr;
	}

	.vie-locale-year span {
		border-left: 0;
	}
}

/* Visiter recovered zip 20260702 */
.visiter-page {
	background: #050505;
	color: var(--color-white);
}

.visiter-hero {
	align-items: center;
	background:
		linear-gradient(90deg, rgb(0 0 0 / 94%) 0%, rgb(0 0 0 / 66%) 36%, rgb(0 0 0 / 10%) 100%),
		linear-gradient(180deg, rgb(0 0 0 / 12%) 0%, rgb(0 0 0 / 78%) 100%),
		var(--visiter-hero-image) center / cover no-repeat;
	display: grid;
	min-height: min(68svh, 650px);
	padding: calc(var(--header-height) + 2rem) var(--site-gutter) clamp(2rem, 5vw, 5rem);
}

.visiter-hero__content {
	max-width: 520px;
}

.visiter-hero h1,
.visiter-journey h2,
.visiter-live h2,
.visiter-info h2,
.visiter-card h3,
.visiter-info h3,
.visiter-info__item strong {
	font-family: var(--font-display);
	font-weight: 800;
	text-transform: uppercase;
}

.visiter-hero h1 {
	color: var(--color-white);
	font-size: clamp(4.7rem, 8vw, 7.6rem);
	line-height: 0.95;
	margin: 0;
}

.visiter-hero h1::after,
.visiter-live h2::after,
.visiter-info h2::after {
	background: var(--color-lime);
	content: "";
	display: block;
	height: 3px;
	margin: 1.1rem 0 1rem;
	width: 58px;
}

.visiter-hero__subtitle {
	color: var(--color-lime);
	font-family: var(--font-display);
	font-size: clamp(1.45rem, 2.4vw, 2.25rem);
	font-weight: 800;
	line-height: 1.18;
	margin: 0.35rem 0 0.9rem;
	text-transform: uppercase;
}

.visiter-hero p:not(.visiter-hero__subtitle) {
	color: rgb(255 255 255 / 90%);
	font-size: clamp(1rem, 1.25vw, 1.18rem);
	line-height: 1.46;
	margin: 0 0 1rem;
}

.visiter-hero a {
	align-items: center;
	border: 1px solid var(--color-lime);
	color: var(--color-white);
	display: inline-flex;
	font-family: var(--font-display);
	font-weight: 800;
	gap: 1rem;
	margin-top: 0.7rem;
	min-height: 50px;
	padding: 0.9rem 1.25rem;
	text-decoration: none;
	text-transform: uppercase;
}

.visiter-hero a:hover,
.visiter-hero a:focus-visible {
	background: var(--color-lime);
	color: #050505;
}

.visiter-section__inner {
	margin: 0 auto;
	max-width: var(--site-width);
	width: 100%;
}

.visiter-journey,
.visiter-live,
.visiter-info {
	padding: clamp(2rem, 4vw, 3.6rem) var(--site-gutter);
}

.visiter-journey h2,
.visiter-info h2 {
	color: var(--color-white);
	font-size: clamp(2rem, 3vw, 2.8rem);
	line-height: 1;
	margin: 0 0 1.5rem;
	text-align: center;
}

.visiter-journey h2::after,
.visiter-info h2::after {
	margin-left: auto;
	margin-right: auto;
}

.visiter-journey__grid {
	display: grid;
	gap: clamp(1rem, 1.6vw, 1.5rem);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.visiter-card img {
	aspect-ratio: 1.5 / 1;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.visiter-card__body {
	align-items: start;
	display: grid;
	gap: 1rem;
	grid-template-columns: 44px minmax(0, 1fr);
	padding-top: 0.9rem;
}

.visiter-card__icon,
.visiter-info__pin,
.visiter-info__icon {
	align-items: center;
	border: 2px solid var(--color-lime);
	border-radius: 999px;
	color: var(--color-lime);
	display: inline-flex;
	font-family: var(--font-display);
	font-size: 0.78rem;
	font-weight: 800;
	height: 44px;
	justify-content: center;
	line-height: 1;
	width: 44px;
}

.visiter-card__icon--frame::before {
	content: "EXP";
}

.visiter-card__icon--spray::before {
	content: "ART";
}

.visiter-card__icon--factory::before {
	content: "IND";
}

.visiter-card__icon--tools::before {
	content: "FAB";
}

.visiter-card__icon--leaf::before {
	content: "JAR";
}

.visiter-card__icon--bed::before {
	content: "BNB";
}

.visiter-card h3 {
	color: var(--color-white);
	font-size: 1.3rem;
	line-height: 1.05;
	margin: 0 0 0.5rem;
}

.visiter-card p {
	color: rgb(255 255 255 / 82%);
	font-size: 0.94rem;
	line-height: 1.45;
	margin: 0;
}

.visiter-live__inner {
	align-items: center;
	display: grid;
	gap: clamp(1.4rem, 3vw, 3rem);
	grid-template-columns: minmax(260px, 0.36fr) minmax(0, 0.64fr);
}

.visiter-live h2 {
	color: var(--color-white);
	font-size: clamp(2rem, 3.2vw, 3rem);
	line-height: 1;
	margin: 0;
}

.visiter-live p {
	color: rgb(255 255 255 / 84%);
	font-size: 1rem;
	line-height: 1.55;
	margin: 0 0 1rem;
}

.visiter-live strong {
	color: var(--color-lime);
	display: block;
	font-size: clamp(1.1rem, 1.6vw, 1.45rem);
	line-height: 1.2;
}

.visiter-live__gallery {
	display: grid;
	gap: 0.55rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.visiter-live__gallery img {
	aspect-ratio: 1.55 / 1;
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.visiter-live__gallery img:nth-child(4),
.visiter-live__gallery img:nth-child(5) {
	grid-column: span 1;
}

.visiter-info {
	padding-top: 1rem;
}

.visiter-info__box {
	border: 1px solid var(--color-lime);
	display: grid;
	grid-template-columns: 1.7fr repeat(4, minmax(0, 1fr));
}

.visiter-info__note {
	color: var(--color-white);
	font-size: clamp(1rem, 1.3vw, 1.25rem);
	margin: 1.1rem 0 0;
	text-align: center;
}

.visiter-info__note strong {
	color: var(--color-lime);
	font-family: var(--font-display);
	font-weight: 800;
	text-transform: uppercase;
}

.visiter-info__note span {
	color: rgb(255 255 255 / 82%);
}

.visiter-info__intro,
.visiter-info__item {
	align-items: center;
	border-left: 1px solid rgb(199 230 0 / 48%);
	display: grid;
	min-height: 112px;
	padding: 1rem;
	text-align: center;
}

.visiter-info__intro {
	border-left: 0;
	gap: 1rem;
	grid-template-columns: 56px minmax(0, 1fr);
	text-align: left;
}

.visiter-info__pin::before {
	background: var(--color-lime);
	border-radius: 999px;
	content: "";
	display: block;
	height: 16px;
	width: 16px;
}

.visiter-info h3 {
	color: var(--color-white);
	font-size: clamp(1.45rem, 2vw, 2rem);
	line-height: 1;
	margin: 0 0 0.45rem;
}

.visiter-info__intro p,
.visiter-info__item span:last-child {
	color: rgb(255 255 255 / 82%);
	font-size: 0.9rem;
	line-height: 1.35;
	margin: 0;
}

.visiter-info__item {
	justify-items: center;
}

.visiter-info__item strong {
	color: var(--color-white);
	font-size: 0.92rem;
	line-height: 1.12;
	margin: 0.45rem 0 0.25rem;
}

.visiter-info__icon {
	border: 0;
	color: var(--color-lime);
	font-size: 0.78rem;
	height: 32px;
	width: 32px;
}

.visiter-info__icon--calendar::before {
	content: "RDV";
}

.visiter-info__icon--euro::before {
	content: "\20AC";
}

.visiter-info__icon--group::before {
	content: "GRP";
}

.visiter-info__icon--clock::before {
	content: "1H";
}

.visiter-info__icon--masterclass::before {
	content: "Ã¢Å“Â¦";
}

@media (max-width: 1080px) {
	.visiter-journey__grid,
	.visiter-live__inner,
	.visiter-info__box {
		grid-template-columns: 1fr;
	}

	.visiter-info__intro,
	.visiter-info__item {
		border-left: 0;
		border-top: 1px solid rgb(199 230 0 / 48%);
	}

	.visiter-info__intro {
		border-top: 0;
	}
}

@media (max-width: 680px) {
	.visiter-hero h1 {
		font-size: clamp(3.4rem, 17vw, 4.8rem);
	}

	.visiter-live__gallery {
		grid-template-columns: 1fr;
	}
}

.services-pro-page {
	background: #040505;
	color: var(--color-white);
}

.services-pro-hero {
	background:
		linear-gradient(90deg, rgb(0 0 0 / 96%) 0%, rgb(0 0 0 / 70%) 42%, rgb(0 0 0 / 20%) 100%),
		linear-gradient(180deg, rgb(0 0 0 / 20%) 0%, rgb(0 0 0 / 92%) 100%),
		var(--services-pro-hero-image) center / cover no-repeat;
	padding: calc(var(--header-height) + clamp(2rem, 4vw, 4rem)) var(--site-gutter) clamp(2rem, 4vw, 4rem);
}

.services-pro-hero__inner,
.services-pro-content__inner {
	margin: 0 auto;
	max-width: var(--site-width);
	width: 100%;
}

.services-pro-hero__inner {
	align-items: center;
	display: grid;
	gap: clamp(2rem, 5vw, 6rem);
	grid-template-columns: minmax(0, 1fr) minmax(260px, 0.34fr);
}

.services-pro-hero__copy {
	max-width: 760px;
}

.services-pro-hero__kicker,
.services-pro-hero__subtitle,
.services-pro-quality strong,
.services-pro-card h2,
.services-pro-more h2,
.services-pro-quote h2 {
	font-family: var(--font-display);
	font-weight: 800;
	text-transform: uppercase;
}

.services-pro-hero__kicker,
.services-pro-hero__subtitle,
.services-pro-quality strong,
.services-pro-more h2 {
	color: var(--color-lime);
}

.services-pro-hero__kicker {
	font-size: clamp(1rem, 1.3vw, 1.2rem);
	margin: 0 0 1.1rem;
}

.services-pro-hero h1 {
	color: var(--color-white);
	font-family: var(--font-display);
	font-size: clamp(5rem, 10vw, 10rem);
	font-weight: 800;
	line-height: 0.9;
	margin: 0;
	text-transform: uppercase;
}

.services-pro-hero h1::after {
	background: var(--color-lime);
	content: "";
	display: block;
	height: 3px;
	margin: 1.1rem 0 0.9rem;
	width: 64px;
}

.services-pro-hero__subtitle {
	font-size: clamp(1.35rem, 2vw, 2rem);
	line-height: 1.1;
	margin: 0 0 1rem;
}

.services-pro-hero__copy p:last-child {
	color: rgb(255 255 255 / 88%);
	font-size: clamp(1rem, 1.35vw, 1.24rem);
	line-height: 1.52;
	margin: 0;
	max-width: 640px;
}

.services-pro-hero__qualities {
	border-left: 2px solid var(--color-lime);
	display: grid;
	gap: 1rem;
	padding-left: clamp(1.2rem, 2vw, 2rem);
}

.services-pro-quality {
	align-items: center;
	display: grid;
	gap: 1rem;
	grid-template-columns: 44px minmax(0, 1fr);
}

.services-pro-quality span:last-child {
	color: rgb(255 255 255 / 82%);
	display: block;
	font-size: 0.95rem;
	line-height: 1.35;
	margin-top: 0.18rem;
}

.services-pro-icon {
	align-items: center;
	border: 2px solid var(--color-lime);
	border-radius: 999px;
	color: var(--color-lime);
	display: inline-flex;
	font-family: var(--font-display);
	font-size: 1.35rem;
	font-weight: 800;
	height: 46px;
	justify-content: center;
	line-height: 1;
	width: 46px;
}

.services-pro-icon--people::before { content: "\25CF"; }
.services-pro-icon--gear::before { content: "\2699"; }
.services-pro-icon--idea::before { content: "\263C"; }
.services-pro-icon--leaf::before { content: "\25D2"; }
.services-pro-icon--palette::before { content: "\25CC"; }
.services-pro-icon--tools::before { content: "\00D7"; }
.services-pro-icon--cube::before { content: "\25C7"; }
.services-pro-icon--star::before { content: "\2606"; }
.services-pro-icon--weld::before { content: "\25CB"; }
.services-pro-icon--laser::before { content: "\2304"; }
.services-pro-icon--spark::before { content: "\2736"; }
.services-pro-icon--shirt::before { content: "T"; }
.services-pro-icon--truck::before { content: "\25B0"; }

.services-pro-content {
	padding: clamp(1.5rem, 3vw, 3rem) var(--site-gutter) clamp(2rem, 4vw, 4rem);
}

.services-pro-featured,
.services-pro-technical,
.services-pro-wide {
	display: grid;
	gap: 1rem;
}

.services-pro-featured {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.services-pro-technical {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: 1rem;
}

.services-pro-wide {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	margin-top: 1rem;
}

.services-pro-card,
.services-pro-more,
.services-pro-quote {
	background: linear-gradient(180deg, rgb(255 255 255 / 4%), rgb(255 255 255 / 1%));
	border: 1px solid rgb(255 255 255 / 28%);
}

.services-pro-card {
	padding: clamp(1.1rem, 2vw, 1.55rem);
}

.services-pro-card header {
	align-items: center;
	display: grid;
	gap: 0.9rem;
	grid-template-columns: 50px minmax(0, 1fr);
	margin-bottom: 1rem;
}

.services-pro-card h2 {
	color: var(--color-white);
	font-size: clamp(1.35rem, 2vw, 2rem);
	line-height: 1.05;
	margin: 0;
}

.services-pro-card img {
	aspect-ratio: 1.95 / 1;
	display: block;
	margin: 0 -0.25rem 1.2rem;
	object-fit: cover;
	width: calc(100% + 0.5rem);
}

.services-pro-card ul {
	display: grid;
	gap: 0.8rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.services-pro-card li {
	color: rgb(255 255 255 / 88%);
	font-size: 0.98rem;
	line-height: 1.35;
	padding-left: 1rem;
	position: relative;
}

.services-pro-card li::before {
	color: var(--color-lime);
	content: "\2022";
	left: 0;
	position: absolute;
}

.services-pro-textile__body {
	align-items: center;
	display: grid;
	gap: clamp(1rem, 3vw, 2rem);
	grid-template-columns: 180px minmax(0, 1fr);
}

.services-pro-textile img {
	aspect-ratio: 1 / 1;
	margin: 0;
	object-fit: cover;
	width: 100%;
}

.services-pro-textile p,
.services-pro-more p,
.services-pro-quote p,
.services-pro-quote li {
	color: rgb(255 255 255 / 86%);
	font-size: 1rem;
	line-height: 1.45;
	margin: 0;
}

.services-pro-more {
	padding: clamp(1.4rem, 3vw, 2rem);
}

.services-pro-more > .services-pro-icon {
	border-radius: 0;
	border-width: 0;
	font-size: 2.6rem;
	height: auto;
	width: auto;
}

.services-pro-more h2 {
	font-size: clamp(1.9rem, 3vw, 3rem);
	line-height: 1.05;
	margin: 0.3rem 0 1rem;
}

.services-pro-more div {
	color: var(--color-white);
	display: grid;
	font-family: var(--font-display);
	font-weight: 800;
	gap: 0.8rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 1.8rem;
	text-transform: uppercase;
}

.services-pro-quote {
	align-items: center;
	display: grid;
	gap: clamp(1.2rem, 3vw, 2rem);
	grid-template-columns: minmax(0, 1.2fr) minmax(240px, 0.8fr) minmax(220px, 0.55fr);
	margin-top: clamp(1rem, 2vw, 1.5rem);
	padding: clamp(1.4rem, 3vw, 2.2rem);
}

.services-pro-quote h2 {
	color: var(--color-white);
	font-size: clamp(1.9rem, 2.7vw, 2.6rem);
	line-height: 1;
	margin: 0 0 0.7rem;
}

.services-pro-quote ul {
	border-left: 1px solid rgb(255 255 255 / 38%);
	display: grid;
	gap: 0.7rem;
	list-style: none;
	margin: 0;
	padding: 0 0 0 1.4rem;
}

.services-pro-quote a {
	align-items: center;
	background: var(--color-lime);
	color: #050505;
	display: flex;
	font-family: var(--font-display);
	font-size: 1.25rem;
	font-weight: 800;
	justify-content: space-between;
	min-height: 72px;
	padding: 1rem 1.35rem;
	text-decoration: none;
	text-transform: uppercase;
}

@media (max-width: 1100px) {
	.services-pro-hero__inner,
	.services-pro-featured,
	.services-pro-technical,
	.services-pro-wide,
	.services-pro-quote {
		grid-template-columns: 1fr;
	}

	.services-pro-hero__qualities {
		border-left: 0;
		border-top: 2px solid var(--color-lime);
		padding-left: 0;
		padding-top: 1.5rem;
	}
}

@media (max-width: 680px) {
	.services-pro-hero h1 {
		font-size: clamp(3.8rem, 17vw, 5rem);
	}

	.services-pro-card header,
	.services-pro-textile__body,
	.services-pro-more div {
		grid-template-columns: 1fr;
	}
}

.artbnb-page {
	background: #030303;
	color: var(--color-white);
}

.artbnb-hero {
	align-items: end;
	background:
		linear-gradient(90deg, rgb(0 0 0 / 96%) 0%, rgb(0 0 0 / 70%) 43%, rgb(0 0 0 / 8%) 100%),
		linear-gradient(180deg, rgb(0 0 0 / 15%) 0%, rgb(0 0 0 / 92%) 100%),
		var(--artbnb-hero-image) 68% center / cover no-repeat;
	display: grid;
	min-height: min(68svh, 700px);
	padding: calc(var(--header-height) + 2rem) var(--site-gutter) clamp(2.2rem, 5vw, 5rem);
}

.artbnb-hero__content,
.artbnb-section__inner {
	margin: 0 auto;
	max-width: var(--site-width);
	width: 100%;
}

.artbnb-hero h1,
.artbnb-hero__subtitle,
.artbnb-feature strong,
.artbnb-info h2,
.artbnb-booking a {
	font-family: var(--font-display);
	font-weight: 800;
	text-transform: uppercase;
}

.artbnb-hero h1 {
	color: var(--color-white);
	font-size: clamp(5rem, 10vw, 10rem);
	line-height: 0.92;
	margin: 0 0 1rem;
}

.artbnb-hero__subtitle {
	color: var(--color-lime);
	font-size: clamp(2.3rem, 4.2vw, 4.2rem);
	line-height: 1.16;
	margin: 0 0 1.4rem;
	max-width: 650px;
}

.artbnb-hero__content > p:last-child {
	color: rgb(255 255 255 / 90%);
	font-size: clamp(1.35rem, 2.2vw, 2rem);
	line-height: 1.45;
	margin: 0;
	max-width: 560px;
}

.artbnb-features {
	padding: clamp(1.4rem, 3vw, 2.4rem) var(--site-gutter);
}

.artbnb-features .artbnb-section__inner {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.artbnb-feature {
	align-items: center;
	border-left: 1px solid rgb(255 255 255 / 28%);
	display: grid;
	gap: 1rem;
	grid-template-columns: 58px minmax(0, 1fr);
	min-height: 86px;
	padding: 0 1.5rem;
}

.artbnb-feature:first-child {
	border-left: 0;
}

.artbnb-icon {
	align-items: center;
	border: 2px solid var(--color-lime);
	color: var(--color-lime);
	display: inline-flex;
	font-family: var(--font-display);
	font-size: 1.6rem;
	font-weight: 800;
	height: 54px;
	justify-content: center;
	line-height: 1;
	width: 54px;
}

.artbnb-icon--chair::before { content: "Ã¢â€“Â±"; }
.artbnb-icon--art::before { content: "Ã¢â€”â€¡"; }
.artbnb-icon--bed::before { content: "Ã¢â€“Â­"; }
.artbnb-icon--calm::before { content: "Ã¢Ëœâ€¢"; }

.artbnb-feature strong {
	color: var(--color-white);
	display: block;
	font-size: 1.28rem;
	line-height: 1;
}

.artbnb-feature span:last-child {
	color: rgb(255 255 255 / 82%);
	display: block;
	font-size: 1.05rem;
	line-height: 1.35;
	margin-top: 0.35rem;
}

.artbnb-gallery {
	padding: clamp(1rem, 2vw, 1.6rem) var(--site-gutter) clamp(2.2rem, 4vw, 4rem);
}

.artbnb-gallery .artbnb-section__inner {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.artbnb-gallery img {
	aspect-ratio: 1.18 / 1;
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.artbnb-info {
	padding: 0 var(--site-gutter) clamp(3rem, 6vw, 6rem);
}

.artbnb-info .artbnb-section__inner {
	display: grid;
	gap: clamp(1.5rem, 4vw, 3rem);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.artbnb-info__block {
	border-left: 1px solid rgb(255 255 255 / 28%);
	min-height: 300px;
	padding: 0 clamp(1.2rem, 2vw, 2rem);
}

.artbnb-info__block:first-child {
	border-left: 0;
	padding-left: 0;
}

.artbnb-info h2 {
	color: var(--color-white);
	font-size: clamp(2rem, 3vw, 3rem);
	line-height: 1;
	margin: 0 0 1.7rem;
}

.artbnb-info p,
.artbnb-info li {
	color: rgb(255 255 255 / 84%);
	font-size: clamp(1.1rem, 1.55vw, 1.45rem);
	line-height: 1.5;
}

.artbnb-info p {
	margin: 0;
}

.artbnb-info ul {
	display: grid;
	gap: 0.65rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.artbnb-info li {
	padding-left: 1.6rem;
	position: relative;
}

.artbnb-info li::before {
	color: var(--color-lime);
	content: "Ã¢â€“Â±";
	font-family: var(--font-display);
	left: 0;
	position: absolute;
}

.artbnb-info blockquote {
	color: var(--color-lime);
	font-size: clamp(1.5rem, 2.4vw, 2.4rem);
	font-style: italic;
	line-height: 1.35;
	margin: clamp(3rem, 6vw, 5rem) 0 0;
	padding-left: 1rem;
	position: relative;
}

.artbnb-info blockquote::before,
.artbnb-info blockquote::after {
	color: var(--color-lime);
	font-family: Georgia, serif;
	font-size: 3rem;
	line-height: 0;
}

.artbnb-info blockquote::before {
	content: "Ã¢â‚¬Å“";
	margin-right: 0.4rem;
}

.artbnb-info blockquote::after {
	content: "Ã¢â‚¬Â";
	margin-left: 0.4rem;
}

.artbnb-booking a {
	align-items: center;
	background: var(--color-lime);
	color: #050505;
	display: flex;
	font-size: 1.35rem;
	justify-content: space-between;
	margin-top: clamp(2rem, 4vw, 3.5rem);
	min-height: 62px;
	padding: 1rem 1.4rem;
	text-decoration: none;
}

@media (max-width: 980px) {
	.artbnb-features .artbnb-section__inner,
	.artbnb-gallery .artbnb-section__inner,
	.artbnb-info .artbnb-section__inner {
		grid-template-columns: 1fr;
	}

	.artbnb-feature,
	.artbnb-info__block {
		border-left: 0;
		border-top: 1px solid rgb(255 255 255 / 24%);
		padding: 1.25rem 0 0;
	}

	.artbnb-feature:first-child,
	.artbnb-info__block:first-child {
		border-top: 0;
	}
}

@media (max-width: 640px) {
	.artbnb-hero h1 {
		font-size: clamp(4rem, 20vw, 5.8rem);
	}

	.artbnb-hero__subtitle {
		font-size: clamp(2rem, 10vw, 3rem);
	}
}

.contact-page {
	background: #050707;
	color: var(--color-white);
}

.contact-section__inner {
	margin: 0 auto;
	max-width: var(--site-width);
	width: 100%;
}

.contact-hero {
	align-items: center;
	background:
		linear-gradient(90deg, rgb(0 0 0 / 96%) 0%, rgb(0 0 0 / 68%) 38%, rgb(0 0 0 / 12%) 100%),
		linear-gradient(180deg, rgb(0 0 0 / 20%) 0%, rgb(0 0 0 / 74%) 100%),
		var(--contact-hero-image) center / cover no-repeat;
	border-bottom: 1px solid rgb(255 255 255 / 22%);
	display: grid;
	min-height: min(48svh, 430px);
	padding: calc(var(--header-height) + 2rem) var(--site-gutter) clamp(2rem, 4vw, 4rem);
}

.contact-hero__copy {
	max-width: 560px;
}

.contact-hero h1,
.contact-hero__subtitle,
.contact-details h2,
.contact-form-panel h2,
.contact-quick__card strong,
.contact-map__card h2,
.contact-visit h2,
.contact-form button {
	font-family: var(--font-display);
	font-weight: 800;
	text-transform: uppercase;
}

.contact-hero h1 {
	color: var(--color-white);
	font-size: clamp(5rem, 10vw, 9rem);
	line-height: 0.9;
	margin: 0 0 1rem;
}

.contact-hero__subtitle {
	color: var(--color-lime);
	font-size: clamp(2rem, 3.4vw, 3.4rem);
	line-height: 1;
	margin: 0 0 1rem;
}

.contact-hero__subtitle::after,
.contact-details h2::after,
.contact-form-panel h2::after,
.contact-visit h2::after {
	background: var(--color-lime);
	content: "";
	display: block;
	height: 2px;
	margin: 0.8rem 0 1rem;
	width: 38px;
}

.contact-hero p:last-of-type {
	color: rgb(255 255 255 / 90%);
	font-size: clamp(1.05rem, 1.45vw, 1.3rem);
	line-height: 1.5;
	margin: 0 0 1.4rem;
	max-width: 460px;
}

.contact-hero a,
.contact-form button,
.contact-map__card a,
.contact-visit a {
	align-items: center;
	background: var(--color-lime);
	border: 0;
	color: #050505;
	display: inline-flex;
	font-family: var(--font-display);
	font-size: 1rem;
	font-weight: 800;
	gap: 1.2rem;
	min-height: 46px;
	padding: 0.85rem 1.8rem;
	text-decoration: none;
	text-transform: uppercase;
}

.contact-main {
	padding: clamp(2rem, 4vw, 3.6rem) var(--site-gutter);
}

.contact-main__grid {
	display: grid;
	gap: clamp(2rem, 4vw, 4rem);
	grid-template-columns: minmax(260px, 0.36fr) minmax(0, 0.64fr);
}

.contact-details {
	border-right: 1px solid rgb(255 255 255 / 22%);
	padding-right: clamp(1.5rem, 3vw, 3rem);
}

.contact-details h2,
.contact-form-panel h2 {
	color: var(--color-white);
	font-size: clamp(2rem, 3vw, 2.6rem);
	line-height: 1;
	margin: 0 0 1.4rem;
}

.contact-detail {
	align-items: start;
	display: grid;
	gap: 1rem;
	grid-template-columns: 32px minmax(0, 1fr);
	margin-bottom: 1.6rem;
}

.contact-icon {
	color: var(--color-lime);
	display: inline-flex;
	font-family: var(--font-display);
	font-size: 0.82rem;
	font-weight: 900;
	line-height: 1;
}

.contact-icon--pin::before { content: "PIN"; }
.contact-icon--phone::before { content: "TEL"; }
.contact-icon--mail::before { content: "MAIL"; }
.contact-icon--clock::before { content: "H"; }
.contact-icon--calendar::before { content: "RDV"; }
.contact-icon--person::before { content: "ART"; }
.contact-icon--briefcase::before { content: "PRO"; }
.contact-icon--group::before { content: "GRP"; }

.contact-detail strong,
.contact-social strong {
	color: var(--color-lime);
	display: block;
	font-family: var(--font-display);
	font-size: 1.05rem;
	font-weight: 800;
	margin-bottom: 0.28rem;
	text-transform: uppercase;
}

.contact-detail p {
	color: rgb(255 255 255 / 88%);
	font-size: 1rem;
	line-height: 1.45;
	margin: 0;
}

.contact-social div {
	display: flex;
	gap: 0.85rem;
	margin-top: 0.8rem;
}

.contact-social a {
	align-items: center;
	border: 1px solid rgb(255 255 255 / 65%);
	border-radius: 999px;
	color: var(--color-white);
	display: inline-flex;
	font-weight: 800;
	height: 38px;
	justify-content: center;
	text-decoration: none;
	width: 38px;
}

.contact-form {
	display: grid;
	gap: 0.85rem;
}

.contact-form__row {
	display: grid;
	gap: 0.85rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.contact-form input,
.contact-form select,
.contact-form textarea {
	background: rgb(255 255 255 / 3%);
	border: 1px solid rgb(255 255 255 / 32%);
	color: var(--color-white);
	font: inherit;
	min-height: 48px;
	padding: 0.9rem;
	width: 100%;
}

.contact-form textarea {
	min-height: 122px;
	resize: vertical;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder {
	color: rgb(255 255 255 / 82%);
}

.contact-form button {
	cursor: pointer;
	justify-content: center;
	margin-top: 0.6rem;
	width: fit-content;
}

.contact-quick {
	padding: 0 var(--site-gutter) clamp(1.6rem, 3vw, 2.4rem);
}

.contact-quick__grid {
	border: 1px solid rgb(255 255 255 / 25%);
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.contact-quick__card {
	border-left: 1px solid rgb(255 255 255 / 25%);
	color: var(--color-white);
	display: grid;
	gap: 0.7rem;
	min-height: 168px;
	padding: 1.7rem;
	text-decoration: none;
}

.contact-quick__card:first-child {
	border-left: 0;
}

.contact-quick__card strong {
	color: var(--color-lime);
	font-size: 1.2rem;
}

.contact-quick__card span:not(.contact-icon) {
	color: rgb(255 255 255 / 86%);
	line-height: 1.4;
}

.contact-quick__card em {
	color: var(--color-lime);
	font-style: normal;
	font-size: 1.8rem;
}

.contact-map {
	padding: 0 var(--site-gutter) clamp(1.6rem, 3vw, 2.4rem);
}

.contact-map__frame {
		position: relative;
background:
		var(--contact-map-image) center / contain no-repeat,
		#050808;
	aspect-ratio: 1774 / 887;
	border: 1px solid rgb(255 255 255 / 28%);
	min-height: 0;
	padding: 0;
}

.contact-map__card {
	background: rgb(0 0 0 / 72%);
	display: none;
	max-width: 230px;
	padding: 1.35rem;
}

.contact-map__card h2 {
	color: var(--color-lime);
	font-size: 1.8rem;
	line-height: 1;
	margin: 0 0 0.4rem;
}

.contact-map__card strong,
.contact-map__card p {
	color: var(--color-white);
}

.contact-map__card p {
	line-height: 1.45;
	margin: 1rem 0;
}

.contact-map__card a {
	background: transparent;
	border: 1px solid rgb(255 255 255 / 55%);
	color: var(--color-white);
	min-height: 38px;
	padding: 0.55rem 1rem;
}

.contact-visit {
	background:
		linear-gradient(90deg, rgb(0 0 0 / 55%) 0%, rgb(0 0 0 / 92%) 42%, rgb(0 0 0 / 78%) 100%),
		var(--contact-visit-image) left center / cover no-repeat;
	border-top: 1px solid rgb(255 255 255 / 18%);
	padding: clamp(1.8rem, 4vw, 3rem) var(--site-gutter);
}

.contact-visit__inner {
	align-items: center;
	display: grid;
	gap: 2rem;
	grid-template-columns: minmax(0, 1fr) auto;
}

.contact-visit h2 {
	color: var(--color-white);
	font-size: clamp(2.2rem, 3.5vw, 3.6rem);
	line-height: 1;
	margin: 0;
}

.contact-visit p {
	color: rgb(255 255 255 / 86%);
	font-size: 1.15rem;
	line-height: 1.4;
	margin: 0;
}

@media (max-width: 980px) {
	.contact-main__grid,
	.contact-quick__grid,
	.contact-visit__inner {
		grid-template-columns: 1fr;
	}

	.contact-details {
		border-right: 0;
		border-bottom: 1px solid rgb(255 255 255 / 22%);
		padding: 0 0 2rem;
	}

	.contact-quick__card {
		border-left: 0;
		border-top: 1px solid rgb(255 255 255 / 25%);
	}

	.contact-quick__card:first-child {
		border-top: 0;
	}
}

@media (max-width: 640px) {
	.contact-hero h1 {
		font-size: clamp(4rem, 20vw, 5.8rem);
	}

	.contact-form__row {
		grid-template-columns: 1fr;
	}
}

/* Contact recovered zip 20260702 */
.contact-page {
	background: #050707;
	color: var(--color-white);
}

.contact-section__inner {
	margin: 0 auto;
	max-width: var(--site-width);
	width: 100%;
}

.contact-hero {
	align-items: center;
	background:
		linear-gradient(90deg, rgb(0 0 0 / 96%) 0%, rgb(0 0 0 / 68%) 38%, rgb(0 0 0 / 12%) 100%),
		linear-gradient(180deg, rgb(0 0 0 / 20%) 0%, rgb(0 0 0 / 74%) 100%),
		var(--contact-hero-image) center / cover no-repeat;
	border-bottom: 1px solid rgb(255 255 255 / 22%);
	display: grid;
	min-height: min(48svh, 430px);
	padding: calc(var(--header-height) + 2rem) var(--site-gutter) clamp(2rem, 4vw, 4rem);
}

.contact-hero__copy {
	max-width: 560px;
}

.contact-hero h1,
.contact-hero__subtitle,
.contact-details h2,
.contact-form-panel h2,
.contact-quick__card strong,
.contact-map__card h2,
.contact-visit h2,
.contact-form button {
	font-family: var(--font-display);
	font-weight: 800;
	text-transform: uppercase;
}

.contact-hero h1 {
	color: var(--color-white);
	font-size: clamp(5rem, 10vw, 9rem);
	line-height: 0.9;
	margin: 0 0 1rem;
}

.contact-hero__subtitle {
	color: var(--color-lime);
	font-size: clamp(2rem, 3.4vw, 3.4rem);
	line-height: 1;
	margin: 0 0 1rem;
}

.contact-hero__subtitle::after,
.contact-details h2::after,
.contact-form-panel h2::after,
.contact-visit h2::after {
	background: var(--color-lime);
	content: "";
	display: block;
	height: 2px;
	margin: 0.8rem 0 1rem;
	width: 38px;
}

.contact-hero p:last-of-type {
	color: rgb(255 255 255 / 90%);
	font-size: clamp(1.05rem, 1.45vw, 1.3rem);
	line-height: 1.5;
	margin: 0 0 1.4rem;
	max-width: 460px;
}

.contact-hero a,
.contact-form button,
.contact-map__card a,
.contact-visit a {
	align-items: center;
	background: var(--color-lime);
	border: 0;
	color: #050505;
	display: inline-flex;
	font-family: var(--font-display);
	font-size: 1rem;
	font-weight: 800;
	gap: 1.2rem;
	min-height: 46px;
	padding: 0.85rem 1.8rem;
	text-decoration: none;
	text-transform: uppercase;
}

.contact-main {
	padding: clamp(2rem, 4vw, 3.6rem) var(--site-gutter);
}

.contact-main__grid {
	display: grid;
	gap: clamp(2rem, 4vw, 4rem);
	grid-template-columns: minmax(260px, 0.36fr) minmax(0, 0.64fr);
}

.contact-details {
	border-right: 1px solid rgb(255 255 255 / 22%);
	padding-right: clamp(1.5rem, 3vw, 3rem);
}

.contact-details h2,
.contact-form-panel h2 {
	color: var(--color-white);
	font-size: clamp(2rem, 3vw, 2.6rem);
	line-height: 1;
	margin: 0 0 1.4rem;
}

.contact-detail {
	align-items: start;
	display: grid;
	gap: 1rem;
	grid-template-columns: 32px minmax(0, 1fr);
	margin-bottom: 1.6rem;
}

.contact-icon {
	color: var(--color-lime);
	display: inline-flex;
	font-family: var(--font-display);
	font-size: 0.82rem;
	font-weight: 900;
	line-height: 1;
}

.contact-icon--pin::before { content: "PIN"; }
.contact-icon--phone::before { content: "TEL"; }
.contact-icon--mail::before { content: "MAIL"; }
.contact-icon--clock::before { content: "H"; }
.contact-icon--calendar::before { content: "RDV"; }
.contact-icon--person::before { content: "ART"; }
.contact-icon--briefcase::before { content: "PRO"; }
.contact-icon--group::before { content: "GRP"; }

.contact-detail strong,
.contact-social strong {
	color: var(--color-lime);
	display: block;
	font-family: var(--font-display);
	font-size: 1.05rem;
	font-weight: 800;
	margin-bottom: 0.28rem;
	text-transform: uppercase;
}

.contact-detail p {
	color: rgb(255 255 255 / 88%);
	font-size: 1rem;
	line-height: 1.45;
	margin: 0;
}

.contact-social div {
	display: flex;
	gap: 0.85rem;
	margin-top: 0.8rem;
}

.contact-social a {
	align-items: center;
	border: 1px solid rgb(255 255 255 / 65%);
	border-radius: 999px;
	color: var(--color-white);
	display: inline-flex;
	font-weight: 800;
	height: 38px;
	justify-content: center;
	text-decoration: none;
	width: 38px;
}

.contact-form {
	display: grid;
	gap: 0.85rem;
}

.contact-form__row {
	display: grid;
	gap: 0.85rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.contact-form input,
.contact-form select,
.contact-form textarea {
	background: rgb(255 255 255 / 3%);
	border: 1px solid rgb(255 255 255 / 32%);
	color: var(--color-white);
	font: inherit;
	min-height: 48px;
	padding: 0.9rem;
	width: 100%;
}

.contact-form textarea {
	min-height: 122px;
	resize: vertical;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder {
	color: rgb(255 255 255 / 82%);
}

.contact-form button {
	cursor: pointer;
	justify-content: center;
	margin-top: 0.6rem;
	width: fit-content;
}

.contact-quick {
	padding: 0 var(--site-gutter) clamp(1.6rem, 3vw, 2.4rem);
}

.contact-quick__grid {
	border: 1px solid rgb(255 255 255 / 25%);
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.contact-quick__card {
	border-left: 1px solid rgb(255 255 255 / 25%);
	color: var(--color-white);
	display: grid;
	gap: 0.7rem;
	min-height: 168px;
	padding: 1.7rem;
	text-decoration: none;
}

.contact-quick__card:first-child {
	border-left: 0;
}

.contact-quick__card strong {
	color: var(--color-lime);
	font-size: 1.2rem;
}

.contact-quick__card span:not(.contact-icon) {
	color: rgb(255 255 255 / 86%);
	line-height: 1.4;
}

.contact-quick__card em {
	color: var(--color-lime);
	font-style: normal;
	font-size: 1.8rem;
}

.contact-map {
	padding: 0 var(--site-gutter) clamp(1.6rem, 3vw, 2.4rem);
}

.contact-map__frame {
		position: relative;
background:
		var(--contact-map-image) center / contain no-repeat,
		#050808;
	aspect-ratio: 1774 / 887;
	border: 1px solid rgb(255 255 255 / 28%);
	min-height: 0;
	padding: 0;
}

.contact-map__card {
	background: rgb(0 0 0 / 72%);
	display: none;
	max-width: 230px;
	padding: 1.35rem;
}

.contact-map__card h2 {
	color: var(--color-lime);
	font-size: 1.8rem;
	line-height: 1;
	margin: 0 0 0.4rem;
}

.contact-map__card strong,
.contact-map__card p {
	color: var(--color-white);
}

.contact-map__card p {
	line-height: 1.45;
	margin: 1rem 0;
}

.contact-map__card a {
	background: transparent;
	border: 1px solid rgb(255 255 255 / 55%);
	color: var(--color-white);
	min-height: 38px;
	padding: 0.55rem 1rem;
}

.contact-visit {
	background:
		linear-gradient(90deg, rgb(0 0 0 / 55%) 0%, rgb(0 0 0 / 92%) 42%, rgb(0 0 0 / 78%) 100%),
		var(--contact-visit-image) left center / cover no-repeat;
	border-top: 1px solid rgb(255 255 255 / 18%);
	padding: clamp(1.8rem, 4vw, 3rem) var(--site-gutter);
}

.contact-visit__inner {
	align-items: center;
	display: grid;
	gap: 2rem;
	grid-template-columns: minmax(0, 1fr) auto;
}

.contact-visit h2 {
	color: var(--color-white);
	font-size: clamp(2.2rem, 3.5vw, 3.6rem);
	line-height: 1;
	margin: 0;
}

.contact-visit p {
	color: rgb(255 255 255 / 86%);
	font-size: 1.15rem;
	line-height: 1.4;
	margin: 0;
}

@media (max-width: 980px) {
	.contact-main__grid,
	.contact-quick__grid,
	.contact-visit__inner {
		grid-template-columns: 1fr;
	}

	.contact-details {
		border-right: 0;
		border-bottom: 1px solid rgb(255 255 255 / 22%);
		padding: 0 0 2rem;
	}

	.contact-quick__card {
		border-left: 0;
		border-top: 1px solid rgb(255 255 255 / 25%);
	}

	.contact-quick__card:first-child {
		border-top: 0;
	}
}

@media (max-width: 640px) {
	.contact-hero h1 {
		font-size: clamp(4rem, 20vw, 5.8rem);
	}

	.contact-form__row {
		grid-template-columns: 1fr;
	}
}
/* Presse category portfolio */
.presse-hero__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem;
	margin-top: 1.6rem;
}

.presse-portfolio-section {
	background: #11151c;
	padding-top: clamp(3rem, 6vw, 5rem);
}

.presse-section__head--stacked {
	align-items: flex-start;
	display: block;
	max-width: 820px;
}

.presse-section__head--stacked p:not(.presse-kicker) {
	color: #c5c8c2;
	font-size: clamp(1rem, 1.4vw, 1.2rem);
	line-height: 1.55;
	margin: 0;
}

.presse-category-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
	margin: 0 0 clamp(2rem, 4vw, 3.5rem);
}

.presse-category-nav a {
	align-items: center;
	background: #151922;
	border: 1px solid var(--press-line);
	color: #f7f6f2 !important;
	display: inline-flex;
	gap: 0.55rem;
	min-height: 44px;
	padding: 0.75rem 0.95rem;
	text-decoration: none !important;
	text-transform: uppercase;
	font-size: 0.75rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	transition: border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.presse-category-nav a:hover,
.presse-category-nav a:focus-visible {
	border-color: var(--press-lime);
	color: var(--press-lime) !important;
	transform: translateY(-2px);
}

.presse-category-nav a:first-child {
	background: var(--press-lime);
	border-color: var(--press-lime);
	color: #0f1115 !important;
}

.presse-category-nav span {
	background: rgb(247 246 242 / 10%);
	border-radius: 999px;
	font-size: 0.7rem;
	line-height: 1;
	padding: 0.25rem 0.45rem;
}

.presse-portfolio-groups {
	display: grid;
	gap: clamp(2.5rem, 5vw, 4.5rem);
}

.presse-category-section {
	scroll-margin-top: calc(var(--header-height) + 1.5rem);
}

.presse-category-section__head {
	align-items: end;
	border-top: 1px solid var(--press-line);
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	margin-bottom: 1.4rem;
	padding-top: 1.6rem;
}

.presse-category-section__head h3 {
	color: #f7f6f2;
	font-size: clamp(1.8rem, 3.4vw, 3.5rem);
	font-weight: 950;
	line-height: 0.95;
	margin: 0;
	text-transform: uppercase;
}

.presse-category-section .presse-portfolio {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.presse-category-section .presse-portfolio__item {
	min-height: 100%;
}

.presse-category-section .presse-portfolio__item img {
	aspect-ratio: 1.45 / 1;
	height: auto;
}

@media (max-width: 900px) {
	.presse-category-section__head {
		align-items: flex-start;
		flex-direction: column;
	}

	.presse-category-section .presse-portfolio {
		grid-template-columns: 1fr;
	}
}
/* Contact map bus access */
.contact-map__bus {
	align-items: flex-start;
	border-top: 1px solid rgb(255 255 255 / 22%);
	display: flex;
	gap: 0.7rem;
	margin: 0.9rem 0 1rem;
	padding-top: 0.9rem;
}

.contact-map__bus-icon {
	align-items: center;
	background: var(--color-lime);
	color: #050505;
	display: inline-flex;
	flex: 0 0 auto;
	font-family: var(--font-display);
	font-size: 0.62rem;
	font-weight: 900;
	height: 28px;
	justify-content: center;
	line-height: 1;
	width: 34px;
}

.contact-map__bus p {
	font-size: 0.88rem;
	line-height: 1.35;
	margin: 0;
}

.contact-map__bus strong {
	color: var(--color-lime);
}
.contact-map__access-row {
	align-items: flex-start;
	display: flex;
	gap: 0.7rem;
}

.contact-map__access-row + .contact-map__access-row {
	border-top: 1px solid rgb(255 255 255 / 16%);
	margin-top: 0.7rem;
	padding-top: 0.7rem;
}
.contact-map__directions-link {
	border-radius: 6px;
	height: 8%;
	left: 3.1%;
	position: absolute;
	top: 83.2%;
	width: 19%;
	z-index: 2;
}

.contact-map__directions-link:focus-visible {
	outline: 2px solid var(--color-lime);
	outline-offset: 4px;
}
/* Espaces site plan */
.espaces-site-plan {
	margin: 0 auto;
	max-width: var(--site-width);
	padding: clamp(2rem, 4vw, 3.5rem) var(--site-gutter) 0;
}

.espaces-site-plan__head {
	display: grid;
	gap: 1rem;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.4fr);
	margin-bottom: 1.4rem;
}

.espaces-site-plan__head h2 {
	color: var(--color-white);
	font-size: clamp(2rem, 4vw, 4.3rem);
	line-height: 0.98;
	margin: 0;
	max-width: 760px;
}

.espaces-site-plan__layout {
	display: grid;
	gap: 1rem;
	grid-template-columns: minmax(0, 1.45fr) minmax(240px, 0.55fr);
}

.espaces-site-plan__map {
	aspect-ratio: 1.78 / 1;
	background:
		linear-gradient(90deg, rgb(247 246 242 / 8%) 1px, transparent 1px) 0 0 / 12.5% 100%,
		linear-gradient(0deg, rgb(247 246 242 / 8%) 1px, transparent 1px) 0 0 / 100% 18%,
		#10130f;
	border: 1px solid rgb(247 246 242 / 18%);
	min-height: 320px;
	overflow: hidden;
	position: relative;
}

.espaces-site-plan__zone {
	align-items: flex-start;
	background: rgb(5 5 5 / 72%);
	border: 1px solid rgb(199 230 0 / 42%);
	color: var(--color-white) !important;
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	justify-content: space-between;
	line-height: 1.1;
	padding: clamp(0.75rem, 1.4vw, 1rem);
	position: absolute;
	text-decoration: none;
	transition: background 180ms var(--ease-premium), border-color 180ms var(--ease-premium), color 180ms var(--ease-premium), transform 180ms var(--ease-premium);
	z-index: 2;
}

.espaces-site-plan__zone span,
.espaces-site-plan__nav span {
	color: var(--color-lime);
	font-family: var(--font-display);
	font-size: 0.75rem;
	font-weight: 700;
}

.espaces-site-plan__zone strong {
	font-family: var(--font-display);
	font-size: clamp(0.95rem, 1.5vw, 1.25rem);
	font-weight: 700;
	text-transform: uppercase;
}

.espaces-site-plan__zone:hover,
.espaces-site-plan__zone:focus-visible {
	background: var(--color-lime);
	border-color: var(--color-lime);
	color: var(--color-black) !important;
	transform: translateY(-2px);
}

.espaces-site-plan__zone:hover span,
.espaces-site-plan__zone:focus-visible span {
	color: var(--color-black);
}

.espaces-site-plan__zone--cafe {
	height: 32%;
	left: 5%;
	top: 10%;
	width: 25%;
}

.espaces-site-plan__zone--bois {
	height: 26%;
	left: 34%;
	top: 10%;
	width: 27%;
}

.espaces-site-plan__zone--metal {
	height: 34%;
	right: 5%;
	top: 10%;
	width: 28%;
}

.espaces-site-plan__zone--fablab {
	bottom: 10%;
	height: 28%;
	left: 8%;
	width: 26%;
}

.espaces-site-plan__zone--serigraphie {
	bottom: 10%;
	height: 28%;
	left: 39%;
	width: 24%;
}

.espaces-site-plan__zone--sante {
	bottom: 10%;
	height: 28%;
	right: 7%;
	width: 23%;
}

.espaces-site-plan__lane {
	background: rgb(247 246 242 / 16%);
	position: absolute;
	z-index: 1;
}

.espaces-site-plan__lane--main {
	height: 1px;
	left: 7%;
	right: 7%;
	top: 50%;
}

.espaces-site-plan__label {
	background: var(--color-lime);
	color: var(--color-black);
	font-family: var(--font-display);
	font-size: 0.75rem;
	font-weight: 700;
	padding: 0.35rem 0.55rem;
	position: absolute;
	text-transform: uppercase;
	z-index: 3;
}

.espaces-site-plan__label--entry {
	left: 5%;
	top: 50%;
	transform: translateY(-50%);
}

.espaces-site-plan__label--garden {
	bottom: 10%;
	right: 5%;
	transform: translateY(120%);
}

.espaces-site-plan__nav {
	background: #080908;
	border: 1px solid rgb(247 246 242 / 16%);
	display: grid;
	gap: 0;
}

.espaces-site-plan__nav a {
	align-items: center;
	border-bottom: 1px solid rgb(247 246 242 / 12%);
	color: rgb(247 246 242 / 82%);
	display: grid;
	gap: 0.8rem;
	grid-template-columns: 2rem 1fr;
	padding: 1rem;
	text-decoration: none;
}

.espaces-site-plan__nav a:last-child {
	border-bottom: 0;
}

.espaces-site-plan__nav a:hover,
.espaces-site-plan__nav a:focus-visible {
	background: rgb(199 230 0 / 10%);
	color: var(--color-lime);
}

@media (max-width: 980px) {
	.espaces-site-plan__head,
	.espaces-site-plan__layout {
		grid-template-columns: 1fr;
	}

	.espaces-site-plan__map {
		min-height: 360px;
	}
}

@media (max-width: 640px) {
	.espaces-site-plan__map {
		aspect-ratio: auto;
		display: grid;
		gap: 0.65rem;
		min-height: 0;
		padding: 0.8rem;
	}

	.espaces-site-plan__zone {
		height: auto;
		inset: auto;
		min-height: 5.2rem;
		position: relative;
		width: auto;
	}

	.espaces-site-plan__lane,
	.espaces-site-plan__label {
		display: none;
	}
}
/* Espaces aligned with LCR pages */
.espaces-page--aligned {
	background: #f3f1ef;
}

.espaces-hero-premium {
	min-height: 640px;
}

.espaces-hero-premium .lcr-hero-content {
	max-width: 700px;
}

.espaces-hero-premium .lcr-features span {
	font-size: 28px;
	font-family: var(--font-display);
	font-weight: 700;
}

.espaces-plan-premium {
	align-items: stretch;
	grid-template-columns: 1.35fr repeat(3, 1fr);
}

.espaces-plan-premium__intro h2 {
	font-size: clamp(2rem, 4vw, 3.4rem);
}

.espaces-plan-premium__item {
	color: #111 !important;
	display: block;
	text-decoration: none;
	transition: border-color 180ms var(--ease-premium), color 180ms var(--ease-premium), transform 180ms var(--ease-premium);
}

.espaces-plan-premium__item span {
	color: var(--lime);
	display: block;
	font-family: var(--font-display);
	font-size: 1.2rem;
	font-weight: 700;
	margin-bottom: 0.8rem;
}

.espaces-plan-premium__item:hover,
.espaces-plan-premium__item:focus-visible {
	border-left-color: var(--lime);
	color: #111 !important;
	transform: translateY(-2px);
}

.espaces-plan-strip {
	background: #050505;
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	margin: 0 58px 26px;
}

.espaces-plan-strip a {
	align-items: center;
	border-right: 1px solid rgb(255 255 255 / 18%);
	color: #fff !important;
	display: grid;
	gap: 0.35rem;
	min-height: 88px;
	padding: 1rem;
	text-decoration: none;
	text-transform: uppercase;
}

.espaces-plan-strip a:last-child {
	border-right: 0;
}

.espaces-plan-strip a span {
	color: var(--lime);
	font-family: var(--font-display);
	font-weight: 700;
}

.espaces-plan-strip a:hover,
.espaces-plan-strip a:focus-visible {
	background: var(--lime);
	color: #050505 !important;
}

.espaces-plan-strip a:hover span,
.espaces-plan-strip a:focus-visible span {
	color: #050505;
}

.espaces-spaces-section {
	padding-top: 44px;
}

.espaces-card-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(3, 1fr);
}

.espaces-premium-card {
	background: #fff;
	border: 1px solid rgb(0 0 0 / 10%);
	border-radius: 4px;
	overflow: hidden;
}

.espaces-premium-card img {
	aspect-ratio: 1.35 / 1;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.espaces-premium-card div {
	border-top: 4px solid var(--lime);
	padding: 18px;
}

.espaces-premium-card span {
	color: var(--lime);
	font-family: var(--font-display);
	font-size: 0.9rem;
	font-weight: 700;
}

.espaces-premium-card h3 {
	font-size: 1.45rem;
	line-height: 1.12;
	margin: 0.35rem 0 0.8rem;
	text-transform: uppercase;
}

.espaces-premium-card p {
	color: #555;
	line-height: 1.5;
	margin: 0.35rem 0 0;
}

.espaces-premium-card a {
	color: #111 !important;
	display: inline-block;
	font-weight: 1000;
	margin-top: 1rem;
	text-decoration: underline;
	text-decoration-color: var(--lime);
	text-decoration-thickness: 3px;
	text-underline-offset: 4px;
	text-transform: uppercase;
}

.espaces-gallery-band {
	padding: 44px 58px;
}

.espaces-gallery-band--light {
	background: #f6f4f2;
}

.espaces-gallery-band--dark {
	background: #0f1115;
	color: #fff;
}

.espaces-gallery-head {
	align-items: end;
	display: flex;
	gap: 24px;
	justify-content: space-between;
	margin-bottom: 24px;
}

.espaces-gallery-head p {
	color: var(--lime);
	font-weight: 1000;
	margin: 0 0 0.5rem;
	text-transform: uppercase;
}

.espaces-gallery-head h2 {
	color: #fff;
	font-size: clamp(2rem, 4vw, 3.4rem);
	line-height: 1;
	margin: 0;
	max-width: 760px;
	text-transform: uppercase;
}

.espaces-gallery-band .espaces-photo-grid {
	width: 100%;
}

.espaces-gallery-band .espaces-photo-grid figure,
.espaces-gallery-band .espaces-carousel__item {
	border-radius: 4px;
}

.espaces-final-band a {
	color: #fff !important;
	font-weight: 1000;
	text-decoration-color: var(--lime);
}

@media (max-width: 1200px) {
	.espaces-plan-premium,
	.espaces-card-grid {
		grid-template-columns: 1fr 1fr;
	}

	.espaces-plan-strip {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 760px) {
	.espaces-plan-premium,
	.espaces-card-grid,
	.espaces-plan-strip {
		grid-template-columns: 1fr;
	}

	.espaces-plan-strip,
	.espaces-final-band {
		margin-left: 18px;
		margin-right: 18px;
	}

	.espaces-gallery-band {
		padding: 34px 18px;
	}

	.espaces-gallery-head {
		align-items: start;
		flex-direction: column;
	}
}
/* Le lieu title like home */
.lieu-history__title {
	color: var(--color-white);
	display: grid;
	gap: 0.12em;
	font-family: var(--font-display);
	font-size: clamp(5.8rem, 10.3vw, 9.8rem);
	font-weight: 800;
	letter-spacing: 0;
	line-height: 0.78;
	margin: 0 0 clamp(1.1rem, 2vw, 1.6rem);
	max-width: 5ch;
	text-transform: uppercase;
}

.lieu-history__title span {
	display: block;
}

@media (max-width: 760px) {
	.lieu-history__title {
		font-size: clamp(4rem, 22vw, 6rem);
	}
}
/* Espaces map inspired layout */
.espaces-map-page {
	--spaces-bg: #050807;
	--spaces-panel: #0b0f0d;
	--spaces-line: rgb(247 246 242 / 22%);
	--spaces-lime: #c7e600;
	--spaces-text: #f7f6f2;
	--spaces-muted: rgb(247 246 242 / 72%);
	background:
		radial-gradient(circle at 74% 0%, rgb(199 230 0 / 10%), transparent 28rem),
		linear-gradient(180deg, #020303 0%, #07100d 100%);
	color: var(--spaces-text);
	overflow: hidden;
}

.espaces-map-wrap {
	margin: 0 auto;
	max-width: 1220px;
	padding-left: var(--site-gutter);
	padding-right: var(--site-gutter);
}

.espaces-map-hero {
	align-items: end;
	background:
		linear-gradient(90deg, rgb(0 0 0 / 94%) 0%, rgb(0 0 0 / 76%) 34%, rgb(0 0 0 / 24%) 72%, rgb(0 0 0 / 45%) 100%),
		var(--hero) center / cover no-repeat;
	display: flex;
	min-height: min(78svh, 760px);
	padding: calc(var(--header-height) + 2.4rem) 0 clamp(2rem, 5vw, 4.4rem);
}

.espaces-map-hero__content {
	width: 100%;
}

.espaces-map-kicker {
	color: var(--spaces-lime);
	font-family: var(--font-display);
	font-size: 0.92rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	margin: 0 0 0.75rem;
	text-transform: uppercase;
}

.espaces-map-hero h1 {
	color: var(--spaces-text);
	font-family: var(--font-display);
	font-size: clamp(4.4rem, 9vw, 8.6rem);
	font-weight: 800;
	letter-spacing: 0;
	line-height: 0.82;
	margin: 0;
	max-width: 7ch;
	text-transform: uppercase;
}

.espaces-map-rule {
	background: var(--spaces-lime);
	display: block;
	height: 3px;
	margin: 1.3rem 0 1.15rem;
	width: 3.6rem;
}

.espaces-map-hero p:last-child {
	color: var(--spaces-text);
	font-size: clamp(1rem, 1.5vw, 1.25rem);
	line-height: 1.5;
	margin: 0;
	max-width: 460px;
}

.espaces-map-plan {
	border: 1px solid var(--spaces-line);
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	margin-top: -2.15rem;
	padding-bottom: clamp(1rem, 2vw, 1.35rem);
	padding-top: clamp(1rem, 2vw, 1.35rem);
	position: relative;
	z-index: 2;
}

.espaces-map-plan__legend {
	background: rgb(5 8 7 / 72%);
	padding: clamp(1rem, 2vw, 1.6rem);
}

.espaces-map-plan__legend h2,
.espaces-map-section-title h2,
.espaces-map-cta h3 {
	color: var(--spaces-lime);
	font-family: var(--font-display);
	font-size: clamp(1.35rem, 2vw, 1.9rem);
	font-weight: 800;
	letter-spacing: 0.03em;
	line-height: 1;
	margin: 0 0 1.1rem;
	text-transform: uppercase;
}

.espaces-map-plan__legend ol {
	counter-reset: none;
	list-style: none;
	margin: 0;
	padding: 0;
}

.espaces-map-plan__legend li + li {
	margin-top: 0.42rem;
}

.espaces-map-plan__legend a {
	align-items: center;
	color: var(--spaces-text) !important;
	display: grid;
	font-size: 0.92rem;
	gap: 0.65rem;
	grid-template-columns: 1.45rem 1fr;
	line-height: 1.2;
	text-decoration: none;
}

.espaces-map-plan__legend a span,
.espaces-map-pin,
.espaces-map-card__image span {
	align-items: center;
	background: var(--spaces-lime);
	color: #050807;
	display: inline-flex;
	font-family: var(--font-display);
	font-size: 0.82rem;
	font-weight: 800;
	height: 1.45rem;
	justify-content: center;
	line-height: 1;
	width: 1.45rem;
}

.espaces-map-plan__legend a:hover,
.espaces-map-plan__legend a:focus-visible {
	color: var(--spaces-lime) !important;
}

.espaces-map-plan__entry {
	align-items: center;
	color: var(--spaces-text);
	display: flex;
	font-size: 0.9rem;
	gap: 0.5rem;
	margin: 1rem 0 0;
}

.espaces-map-plan__entry span {
	border-bottom: 0.42rem solid transparent;
	border-left: 0.72rem solid var(--spaces-lime);
	border-top: 0.42rem solid transparent;
	display: block;
	height: 0;
	width: 0;
}

.espaces-map-plan__visual {
	background: #020303;
	min-height: 360px;
	overflow: hidden;
	position: relative;
}

.espaces-map-plan__visual::after {
	background: radial-gradient(circle at center, transparent 0%, rgb(0 0 0 / 12%) 44%, rgb(0 0 0 / 54%) 100%);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.espaces-map-plan__visual img {
	display: block;
	height: 100%;
	min-height: 360px;
	object-fit: cover;
	opacity: 0.82;
	width: 100%;
}

.espaces-map-pin {
	border-radius: 999px;
	box-shadow: 0 0 0 5px rgb(199 230 0 / 18%);
	position: absolute;
	text-decoration: none;
	transform: translate(-50%, -50%);
	transition: transform 180ms var(--ease-premium), box-shadow 180ms var(--ease-premium);
	z-index: 2;
}

.espaces-map-pin:hover,
.espaces-map-pin:focus-visible {
	box-shadow: 0 0 0 8px rgb(199 230 0 / 24%);
	transform: translate(-50%, -50%) scale(1.12);
}

.espaces-map-compass {
	border: 1px solid rgb(247 246 242 / 42%);
	border-radius: 999px;
	height: 72px;
	right: 4%;
	position: absolute;
	top: 10%;
	width: 72px;
	z-index: 2;
}

.espaces-map-compass::before,
.espaces-map-compass::after {
	background: rgb(247 246 242 / 58%);
	content: "";
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
}

.espaces-map-compass::before {
	height: 1px;
	width: 58px;
}

.espaces-map-compass::after {
	height: 58px;
	width: 1px;
}

.espaces-map-compass span {
	color: var(--spaces-text);
	font-family: var(--font-display);
	font-weight: 800;
	left: 50%;
	position: absolute;
	top: -1.2rem;
	transform: translateX(-50%);
}

.espaces-map-cards {
	padding-bottom: clamp(3rem, 5vw, 5rem);
	padding-top: 1.5rem;
}

.espaces-map-section-title {
	align-items: center;
	display: grid;
	justify-items: center;
	margin: 0 0 1.5rem;
	text-align: center;
}

.espaces-map-section-title h2 {
	color: var(--spaces-text);
	margin-bottom: 0.45rem;
}

.espaces-map-section-title span {
	background: var(--spaces-lime);
	display: block;
	height: 2px;
	width: 42px;
}

.espaces-map-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.espaces-map-card,
.espaces-map-cta {
	background: rgb(8 12 11 / 92%);
	border: 1px solid var(--spaces-line);
	min-height: 100%;
}

.espaces-map-card__image {
	aspect-ratio: 1.55 / 1;
	background: #111;
	overflow: hidden;
	position: relative;
}

.espaces-map-card__image span {
	border-radius: 0;
	font-size: 1rem;
	height: 2rem;
	left: 0;
	position: absolute;
	top: 0;
	width: 2rem;
	z-index: 2;
}

.espaces-map-card__image img {
	display: block;
	height: 100%;
	object-fit: cover;
	transition: transform 260ms var(--ease-premium), filter 260ms var(--ease-premium);
	width: 100%;
}

.espaces-map-card:hover img {
	filter: saturate(1.08) contrast(1.06);
	transform: scale(1.035);
}

.espaces-map-card__body {
	padding: 1rem;
}

.espaces-map-card__body h3 {
	color: var(--spaces-text);
	font-family: var(--font-display);
	font-size: clamp(1.05rem, 1.5vw, 1.35rem);
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.18;
	margin: 0 0 0.75rem;
	text-transform: uppercase;
}

.espaces-map-card__body p {
	color: var(--spaces-muted);
	font-size: 0.92rem;
	line-height: 1.48;
	margin: 0;
}

.espaces-map-card__body small {
	color: var(--spaces-lime);
	display: block;
	font-size: 0.72rem;
	font-weight: 800;
	margin-top: 1rem;
	text-transform: uppercase;
}

.espaces-map-cta {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(1.2rem, 2vw, 1.6rem);
}

.espaces-map-cta p {
	color: var(--spaces-muted);
	line-height: 1.5;
	margin: 0 0 1.1rem;
}

.espaces-map-button {
	align-items: center;
	border: 1px solid rgb(247 246 242 / 35%);
	color: var(--spaces-text) !important;
	display: flex;
	font-family: var(--font-display);
	font-size: 0.86rem;
	font-weight: 800;
	justify-content: space-between;
	line-height: 1;
	margin-top: 0.7rem;
	min-height: 44px;
	padding: 0.85rem 1rem;
	text-decoration: none;
	text-transform: uppercase;
}

.espaces-map-button--primary {
	background: var(--spaces-lime);
	border-color: var(--spaces-lime);
	color: #050807 !important;
}

.espaces-map-button:hover,
.espaces-map-button:focus-visible {
	border-color: var(--spaces-lime);
	color: var(--spaces-lime) !important;
}

.espaces-map-button--primary:hover,
.espaces-map-button--primary:focus-visible {
	background: transparent;
	color: var(--spaces-lime) !important;
}

@media (max-width: 1100px) {
	.espaces-map-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	.espaces-map-plan {
		grid-template-columns: 1fr;
		margin-top: 0;
	}

	.espaces-map-plan__legend ol {
		columns: 2;
	}

	.espaces-map-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	.espaces-map-hero {
		min-height: 620px;
	}

	.espaces-map-hero h1 {
		font-size: clamp(4rem, 19vw, 5.9rem);
	}

	.espaces-map-plan__legend ol {
		columns: 1;
	}

	.espaces-map-plan__visual,
	.espaces-map-plan__visual img {
		min-height: 300px;
	}

	.espaces-map-compass {
		display: none;
	}

	.espaces-map-grid {
		grid-template-columns: 1fr;
	}
}
/* Residences hero image top-right crop */
.lcr-hero--residences {
	background:
		linear-gradient(90deg, rgba(0,0,0,.98) 0%, rgba(0,0,0,.92) 34%, rgba(0,0,0,.25) 58%, rgba(0,0,0,.08) 100%),
		var(--hero) calc(100% + clamp(80px, 10vw, 180px)) top / cover no-repeat;
}

@media (max-width: 760px) {
	.lcr-hero--residences {
		background:
			linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,.98)),
			var(--hero) calc(100% + 90px) top / cover no-repeat;
	}
}
/* Services Pro hero aligned with Visiter */
.services-pro-page .services-pro-hero--home {
	align-items: center;
	background: #050505;
	display: grid;
	isolation: isolate;
	min-height: min(42svh, 430px);
	overflow: hidden;
	padding: calc(var(--header-height) + 1rem) var(--site-gutter) clamp(1.2rem, 2.6vw, 2.8rem);
	position: relative;
}

.services-pro-hero--home .services-pro-hero__media {
	background-image:
		linear-gradient(90deg, rgb(0 0 0 / 94%) 0%, rgb(0 0 0 / 66%) 36%, rgb(0 0 0 / 18%) 100%),
		linear-gradient(180deg, rgb(0 0 0 / 12%) 0%, rgb(0 0 0 / 78%) 100%),
		var(--services-pro-hero-image);
	background-position: center, center, center;
	background-repeat: no-repeat;
	background-size: cover, cover, cover;
	inset: 0;
	position: absolute;
	z-index: -2;
}

.services-pro-hero--home .services-pro-hero__inner {
	display: block;
	margin: 0;
	max-width: 520px;
	width: 100%;
}

.services-pro-hero--home .services-pro-hero__content {
	max-width: 520px;
}

.services-pro-hero--home .services-pro-kicker {
	color: var(--color-lime);
	font-family: var(--font-display);
	font-size: 0.86rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	margin: 0 0 0.7rem;
	text-transform: uppercase;
}

.services-pro-hero--home .services-pro-kicker::before {
	display: none;
}

.services-pro-page .services-pro-hero--home h1 {
	color: var(--color-white);
	display: block;
	font-family: var(--font-display);
	font-size: clamp(4.7rem, 8vw, 7.6rem);
	font-weight: 800;
	letter-spacing: 0;
	line-height: 0.95;
	margin: 0;
	text-transform: uppercase;
}

.services-pro-hero--home h1 span {
	display: inline;
}

.services-pro-hero--home h1 span + span::before {
	content: " ";
}

.services-pro-page .services-pro-hero--home h1::after {
	background: var(--color-lime);
	content: "";
	display: block;
	height: 3px;
	margin: 1.1rem 0 1rem;
	width: 58px;
}

.services-pro-page .services-pro-hero__baseline {
	color: var(--color-lime);
	font-family: var(--font-display);
	font-size: clamp(1.45rem, 2.4vw, 2.25rem);
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.18;
	margin: 0.35rem 0 0.9rem;
	text-transform: uppercase;
}

.services-pro-page .services-pro-hero__text {
	color: rgb(255 255 255 / 90%);
	font-size: clamp(0.95rem, 1.05vw, 1.05rem);
	line-height: 1.46;
	margin: 0 0 1rem;
	max-width: 520px;
}

.services-pro-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}

.services-pro-page .services-pro-hero__button {
	align-items: center;
	border: 1px solid var(--color-lime);
	color: var(--color-white);
	display: inline-flex;
	font-family: var(--font-display);
	font-size: 0.86rem;
	font-weight: 800;
	gap: 1rem;
	justify-content: center;
	letter-spacing: 0;
	margin-top: 0.7rem;
	min-height: 50px;
	padding: 0.9rem 1.25rem;
	text-decoration: none;
	text-transform: uppercase;
	transition: background 260ms var(--ease-premium), border-color 260ms var(--ease-premium), color 260ms var(--ease-premium), transform 260ms var(--ease-premium);
}

.services-pro-page .services-pro-hero__button:hover,
.services-pro-page .services-pro-hero__button:focus-visible {
	background: var(--color-lime);
	color: #050505;
	transform: translateY(-2px);
}

.services-pro-page .services-pro-hero__button--primary,
.services-pro-page .services-pro-hero__button--ghost {
	background: transparent;
	border-color: var(--color-lime);
	color: var(--color-white);
}

.services-pro-hero__scroll {
	display: none;
}

@media (max-width: 760px) {
	.services-pro-page .services-pro-hero--home {
		min-height: 46svh;
		padding: calc(var(--header-height) + 0.8rem) var(--site-gutter) 2rem;
	}

	.services-pro-hero--home .services-pro-hero__media {
		background-image:
			linear-gradient(180deg, rgb(0 0 0 / 34%) 0%, rgb(0 0 0 / 72%) 48%, rgb(0 0 0 / 94%) 100%),
			var(--services-pro-hero-image);
		background-position: center, center;
		background-repeat: no-repeat;
		background-size: cover, cover;
	}

	.services-pro-page .services-pro-hero--home h1 {
		font-size: clamp(3.8rem, 17vw, 5.4rem);
	}

	.services-pro-hero--home h1 span {
		display: block;
	}

	.services-pro-hero--home h1 span + span::before {
		content: "";
	}

	.services-pro-page .services-pro-hero__button {
		width: 100%;
	}
}

/* Espaces full illustrated map */
.espaces-map-plan--full {
	grid-template-columns: 1fr;
	margin-top: clamp(2rem, 4vw, 4rem);
}

.espaces-map-plan__visual--full {
	background: #f4efe6;
	min-height: 0;
}

.espaces-map-plan__visual--full::after {
	display: none;
}

.espaces-map-plan__visual--full img {
	height: auto;
	min-height: 0;
	object-fit: contain;
	width: 100%;
}
/* Espaces cards without numbers */
.espaces-map-card__image span {
	display: none;
}
/* Espaces photo galleries */
.espaces-map-card__photos {
	color: var(--spaces-lime);
	display: inline-flex;
	font-size: 0.82rem;
	font-weight: 900;
	letter-spacing: 0;
	margin-top: 0.85rem;
	text-decoration: none;
	text-transform: uppercase;
}

.espaces-map-card__photos:hover,
.espaces-map-card__photos:focus-visible {
	text-decoration: underline;
}

.espaces-photo-galleries {
	padding: clamp(1rem, 3vw, 2rem) 0 clamp(4rem, 7vw, 6rem);
}

.espaces-photo-gallery {
	background: rgb(8 12 11 / 92%);
	border: 1px solid var(--spaces-line);
	margin-top: 1.25rem;
	padding: clamp(1rem, 2vw, 1.35rem);
}

.espaces-photo-gallery__head {
	align-items: center;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	margin-bottom: 1rem;
}

.espaces-photo-gallery__head p {
	color: var(--spaces-lime);
	font-size: 0.74rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	margin: 0 0 0.25rem;
	text-transform: uppercase;
}

.espaces-photo-gallery__head h3 {
	color: var(--spaces-text);
	font-family: var(--font-display);
	font-size: clamp(1.35rem, 2.5vw, 2.2rem);
	line-height: 1.1;
	margin: 0;
	text-transform: uppercase;
}

.espaces-photo-gallery__controls {
	display: flex;
	gap: 0.5rem;
}

.espaces-photo-gallery__arrow {
	align-items: center;
	background: rgb(255 255 255 / 8%);
	border: 1px solid var(--spaces-line);
	color: var(--spaces-text);
	cursor: pointer;
	display: inline-flex;
	font-size: 1.6rem;
	height: 42px;
	justify-content: center;
	line-height: 1;
	width: 42px;
}

.espaces-photo-gallery__track {
	display: flex;
	gap: 0.85rem;
	overflow-x: auto;
	padding-bottom: 0.75rem;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
}

.espaces-photo-gallery__item {
	background: #101312;
	border: 1px solid rgb(255 255 255 / 7%);
	flex: 0 0 calc((100% - 1.7rem) / 3);
	margin: 0;
	min-width: 0;
	overflow: hidden;
	scroll-snap-align: start;
}

.espaces-photo-gallery__item img {
	aspect-ratio: 1.35 / 1;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.espaces-photo-gallery__item figcaption {
	color: var(--spaces-muted);
	font-size: 0.88rem;
	line-height: 1.35;
	padding: 0.75rem;
}

@media (max-width: 980px) {
	.espaces-photo-gallery__item {
		flex-basis: calc((100% - 0.85rem) / 2);
	}
}

@media (max-width: 620px) {
	.espaces-photo-gallery__head {
		align-items: flex-start;
		flex-direction: column;
	}

	.espaces-photo-gallery__item {
		flex-basis: 100%;
	}
}
/* Harmonisation des hauts de page - modele Visiter */
.visiter-hero,
.contact-hero,
.lieu-history__hero,
.espaces-map-hero,
.services-pro-hero,
.lcr-hero,
.presse-hero,
.vie-locale-hero,
.shop-hero {
	min-height: min(68svh, 650px) !important;
	padding-top: calc(var(--header-height) + 2rem) !important;
	padding-bottom: clamp(2rem, 5vw, 5rem) !important;
}

.contact-hero,
.lieu-history__hero,
.espaces-map-hero,
.services-pro-hero,
.lcr-hero,
.presse-hero,
.vie-locale-hero,
.shop-hero {
	align-items: center !important;
}

.visiter-hero__content,
.contact-hero__copy,
.lieu-history__hero-frame,
.espaces-map-hero__content,
.services-pro-hero__content,
.lcr-hero-content,
.presse-hero__copy,
.vie-locale-hero__copy,
.shop-hero__inner {
	max-width: 620px;
}

.visiter-hero h1,
.contact-hero h1,
.lieu-history__title,
.espaces-map-hero h1,
.services-pro-hero h1,
.lcr-hero h1,
.presse-hero h1,
.vie-locale-hero h1,
.shop-hero h1 {
	font-family: var(--font-display);
	font-size: clamp(4.7rem, 8vw, 7.6rem) !important;
	font-weight: 800;
	letter-spacing: 0 !important;
	line-height: 0.95 !important;
	margin-top: 0 !important;
	text-transform: uppercase;
}

.contact-hero h1::after,
.lieu-history__title::after,
.services-pro-hero h1::after,
.lcr-hero h1::after,
.presse-hero h1::after,
.vie-locale-hero h1::after,
.shop-hero h1::after {
	background: var(--color-lime, #c6ff2e);
	content: ;
 display: block;
 height: 3px;
 margin: 1.1rem 0 1rem;
 width: 58px;
}

.contact-hero__subtitle,
.services-pro-hero__baseline,
.vie-locale-hero__subtitle,
.shop-hero__lead,
.lcr-hero h2,
.presse-kicker,
.espaces-map-kicker {
 color: var(--color-lime, #c6ff2e) !important;
 font-family: var(--font-display);
 font-size: clamp(1.1rem, 2vw, 1.45rem) !important;
 font-weight: 800;
 letter-spacing: 0.02em !important;
 line-height: 1.05 !important;
 text-transform: uppercase;
}

.visiter-hero p,
.contact-hero p,
.lieu-history__hero-frame p,
.espaces-map-hero p,
.services-pro-hero__text,
.lcr-hero p,
.presse-hero p,
.vie-locale-hero p,
.shop-hero p {
 font-size: clamp(1rem, 1.35vw, 1.18rem) !important;
 line-height: 1.55 !important;
 max-width: 620px;
}

.presse-hero__grid,
.services-pro-hero__inner {
 align-items: center;
 gap: clamp(2rem, 5vw, 4rem);
}

.presse-hero__visual,
.artbnb-hero-card {
 max-width: 520px;
}

.presse-hero__visual img,
.artbnb-hero-card img,
.vie-locale-hero__image img {
 height: min(54svh, 520px) !important;
 object-fit: cover;
}

.artbnb-hero {
 align-items: center;
 gap: clamp(2rem, 5vw, 4rem);
 padding-top: calc(var(--header-height) + 2rem);
 padding-bottom: clamp(2rem, 5vw, 5rem);
}

.artbnb-hero h1 {
 font-size: clamp(4.2rem, 7vw, 7.2rem) !important;
 line-height: 0.95 !important;
}

@media (max-width: 900px) {
 .visiter-hero,
 .contact-hero,
 .lieu-history__hero,
 .espaces-map-hero,
 .services-pro-hero,
 .lcr-hero,
 .presse-hero,
 .vie-locale-hero,
 .shop-hero {
 min-height: min(70svh, 620px) !important;
 padding-left: var(--site-gutter) !important;
 padding-right: var(--site-gutter) !important;
 }

 .visiter-hero h1,
 .contact-hero h1,
 .lieu-history__title,
 .espaces-map-hero h1,
 .services-pro-hero h1,
 .lcr-hero h1,
 .presse-hero h1,
 .vie-locale-hero h1,
 .shop-hero h1,
 .artbnb-hero h1 {
 font-size: clamp(3.4rem, 14vw, 5.4rem) !important;
 }

 .presse-hero__visual,
 .artbnb-hero-card {
 max-width: none;
 }

 .presse-hero__visual img,
 .artbnb-hero-card img,
 .vie-locale-hero__image img {
 height: min(48svh, 420px) !important;
 }
}
/* Presse hero image collage */
.presse-hero--image {
	background:
		linear-gradient(90deg, rgb(15 17 21 / 96%) 0%, rgb(15 17 21 / 72%) 34%, rgb(15 17 21 / 26%) 72%, rgb(15 17 21 / 10%) 100%),
		linear-gradient(180deg, rgb(15 17 21 / 8%) 0%, rgb(15 17 21 / 72%) 100%),
		var(--presse-hero-image) center / cover no-repeat !important;
}

.presse-hero--image .presse-hero__grid {
	display: block;
}

.presse-hero--image .presse-wrap > div {
	max-width: 620px;
}
/* Le lieu hero aligned like Visiter */
.lieu-history__hero {
	display: grid !important;
	place-items: center start !important;
}

.lieu-history__hero-frame {
	border-left: 0 !important;
	margin: 0 !important;
	max-width: 520px !important;
	padding: 0 !important;
}

.lieu-history__hero-frame::before,
.lieu-history__hero-frame::after {
	display: none !important;
}

.lieu-history__title {
	max-width: 520px !important;
}
/* Espaces hero aligned like Visiter */
.espaces-map-hero {
	display: grid !important;
	place-items: center start !important;
	padding-left: var(--site-gutter) !important;
	padding-right: var(--site-gutter) !important;
}

.espaces-map-hero__content {
	margin: 0 !important;
	max-width: 520px !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	width: auto !important;
}

.espaces-map-hero h1 {
	max-width: 520px !important;
}

.espaces-map-hero p:last-child {
	max-width: 520px !important;
}
/* Vie locale hero aligned like Visiter */
.vie-locale-hero {
	display: grid !important;
	place-items: center start !important;
	padding-left: var(--site-gutter) !important;
	padding-right: var(--site-gutter) !important;
}

.vie-locale-hero__copy {
	margin: 0 !important;
	max-width: 520px !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	width: auto !important;
}

.vie-locale-hero h1,
.vie-locale-hero p {
	max-width: 520px !important;
}
/* Vie locale hero further left */
.vie-locale-hero {
	padding-left: clamp(1rem, 2vw, 1.6rem) !important;
}
/* Vie locale hero nearly flush left */
.vie-locale-hero {
	padding-left: clamp(0.5rem, 1vw, 0.85rem) !important;
}
/* Vie locale hero flush left */
.vie-locale-hero {
	padding-left: 0 !important;
}

.vie-locale-hero__copy {
	margin-left: 0 !important;
	padding-left: 0 !important;
}
/* Vie locale hero inner aligned to viewport left */
.vie-locale-hero .vie-locale-section__inner {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: 520px !important;
	width: auto !important;
}
/* Vie locale hero slight right offset */
.vie-locale-hero {
	padding-left: clamp(1.2rem, 2.2vw, 2rem) !important;
}
/* Contact hero aligned like Visiter */
.contact-hero {
	display: grid !important;
	place-items: center start !important;
	padding-left: clamp(1.2rem, 2.2vw, 2rem) !important;
	padding-right: var(--site-gutter) !important;
}

.contact-hero .contact-section__inner {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: 520px !important;
	width: auto !important;
}

.contact-hero__copy {
	margin: 0 !important;
	max-width: 520px !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	width: auto !important;
}

.contact-hero h1,
.contact-hero p {
	max-width: 520px !important;
}
/* Contact visit: remove background photo. */
.contact-visit {
	background: #060808 !important;
}
/* Art BnB modern layout */
.artbnb-page--modern {
	background: #050505;
	color: var(--color-white, #fff);
	overflow-x: hidden;
}

.artbnb-page--modern .artbnb-hero {
	align-items: center !important;
	background:
		linear-gradient(90deg, rgba(0,0,0,.96) 0%, rgba(0,0,0,.82) 34%, rgba(0,0,0,.32) 64%, rgba(0,0,0,.12) 100%),
		var(--artbnb-hero-image) center right / cover no-repeat !important;
	display: flex !important;
	min-height: min(68svh, 620px) !important;
	padding: calc(var(--header-height, 88px) + 1rem) var(--site-gutter, 24px) clamp(2.8rem, 6vw, 5rem) !important;
}

.artbnb-page--modern .artbnb-hero__content,
.artbnb-page--modern .artbnb-section__inner {
	margin: 0 auto;
	max-width: var(--site-width, 1180px);
	width: 100%;
}

.artbnb-page--modern .artbnb-hero__content {
	margin-left: 0;
	max-width: 720px;
}

.artbnb-page--modern .artbnb-hero h1 {
	color: #fff;
	font-family: var(--font-display, Impact, sans-serif);
	font-size: clamp(4.6rem, 9vw, 9rem) !important;
	font-weight: 900;
	letter-spacing: 0;
	line-height: .88 !important;
	margin: 0 0 1rem;
	text-transform: uppercase;
}

.artbnb-page--modern .artbnb-hero h1::after {
	background: var(--color-lime, #c9ff21);
	content: "";
	display: block;
	height: 3px;
	margin-top: 1rem;
	width: 74px;
}

.artbnb-page--modern .artbnb-hero__subtitle {
	color: var(--color-lime, #c9ff21);
	font-family: var(--font-display, Impact, sans-serif);
	font-size: clamp(1.45rem, 2.7vw, 2.6rem);
	font-weight: 800;
	line-height: 1.05;
	margin: 0 0 1rem;
	max-width: 680px;
	text-transform: uppercase;
}

.artbnb-page--modern .artbnb-hero__content > p:last-child {
	color: rgb(255 255 255 / 88%);
	font-size: clamp(1.05rem, 1.6vw, 1.25rem);
	line-height: 1.65;
	max-width: 620px;
}

.artbnb-proof {
	background: #15181e;
	border-bottom: 1px solid rgb(255 255 255 / 10%);
	border-top: 1px solid rgb(255 255 255 / 10%);
}

.artbnb-proof .artbnb-section__inner {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.artbnb-proof__item {
	border-left: 1px solid rgb(255 255 255 / 12%);
	padding: clamp(1.4rem, 3vw, 2.3rem);
}

.artbnb-proof__item:first-child {
	border-left: 0;
}

.artbnb-proof__item span {
	color: var(--color-lime, #c9ff21);
	font-weight: 900;
}

.artbnb-proof__item h2,
.artbnb-page--modern .artbnb-section h2 {
	color: #fff;
	font-family: var(--font-display, Impact, sans-serif);
	font-weight: 900;
	letter-spacing: 0;
	line-height: .98;
	margin: .35rem 0 .65rem;
	text-transform: uppercase;
}

.artbnb-proof__item h2 {
	font-size: clamp(1.6rem, 2.2vw, 2.4rem);
}

.artbnb-proof__item p,
.artbnb-page--modern .artbnb-section p,
.artbnb-intro__panel li,
.artbnb-contact-list span {
	color: rgb(255 255 255 / 78%);
	line-height: 1.6;
}

.artbnb-page--modern .artbnb-section {
	border-top: 0;
	padding: clamp(3.5rem, 7vw, 6rem) var(--site-gutter, 24px) 0;
}

.artbnb-page--modern .artbnb-section h2 {
	font-size: clamp(2.6rem, 5vw, 5.4rem);
	max-width: 860px;
}

.artbnb-intro__grid,
.artbnb-contact-band__grid {
	align-items: start;
	display: grid;
	gap: clamp(1.5rem, 4vw, 3rem);
	grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
}

.artbnb-intro__panel,
.artbnb-contact-band {
	background: #11151b;
}

.artbnb-intro__panel {
	border: 1px solid rgb(255 255 255 / 12%);
	padding: clamp(1.4rem, 3vw, 2rem);
}

.artbnb-intro__panel ul {
	display: grid;
	gap: .9rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.artbnb-intro__panel li {
	border-bottom: 1px solid rgb(255 255 255 / 10%);
	padding-bottom: .9rem;
}

.artbnb-intro__panel li:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.artbnb-section__head {
	margin-bottom: 1.8rem;
	max-width: 820px;
}

.artbnb-gallery-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.artbnb-page--modern .artbnb-photo {
	background: #11151b;
	border: 1px solid rgb(255 255 255 / 12%);
	border-radius: 8px;
	overflow: hidden;
}

.artbnb-page--modern .artbnb-photo img {
	aspect-ratio: 1.35 / 1;
	display: block;
	height: auto;
	object-fit: cover;
	transition: transform .35s ease;
	width: 100%;
}

.artbnb-page--modern .artbnb-photo:hover img {
	transform: scale(1.04);
}

.artbnb-page--modern .artbnb-photo figcaption {
	display: grid;
	gap: .35rem;
	padding: 1rem;
}

.artbnb-page--modern .artbnb-photo strong {
	color: #fff;
	font-family: var(--font-display, Impact, sans-serif);
	font-size: 1.25rem;
	text-transform: uppercase;
}

.artbnb-page--modern .artbnb-photo span {
	color: rgb(255 255 255 / 72%);
}

.artbnb-contact-band {
	margin-top: clamp(3rem, 7vw, 6rem);
	padding-bottom: clamp(3rem, 6vw, 5rem) !important;
}

.artbnb-contact-list {
	display: grid;
	gap: .75rem;
}

.artbnb-contact-list a,
.artbnb-contact-list span {
	border: 1px solid rgb(255 255 255 / 14%);
	color: #fff !important;
	padding: .95rem 1rem;
	text-decoration: none;
}

.artbnb-contact-list a:hover {
	background: var(--color-lime, #c9ff21);
	color: #050505 !important;
}

@media (max-width: 900px) {
	.artbnb-page--modern .artbnb-hero {
		background:
			linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.96)),
			var(--artbnb-hero-image) center / cover no-repeat !important;
		min-height: min(72svh, 640px) !important;
	}

	.artbnb-proof .artbnb-section__inner,
	.artbnb-intro__grid,
	.artbnb-contact-band__grid,
	.artbnb-gallery-grid {
		grid-template-columns: 1fr;
	}

	.artbnb-proof__item,
	.artbnb-proof__item:first-child {
		border-left: 0;
		border-top: 1px solid rgb(255 255 255 / 12%);
	}

	.artbnb-proof__item:first-child {
		border-top: 0;
	}
}
/* End Art BnB modern layout */
/* Art BnB photo links and carousel */
.artbnb-more-photos {
	align-items: center;
	color: var(--color-lime, #c9ff21) !important;
	display: inline-flex;
	font-size: .9rem;
	font-weight: 900;
	gap: .35rem;
	margin-top: .45rem;
	text-decoration: none;
	text-transform: uppercase;
}

.artbnb-more-photos::after {
	content: "â†’";
}

.artbnb-more-photos:hover {
	text-decoration: underline;
}

.artbnb-carousel {
	padding-top: clamp(2.5rem, 5vw, 4.5rem) !important;
}

.artbnb-carousel__track {
	display: flex;
	gap: 1rem;
	overflow-x: auto;
	padding: .25rem 0 1rem;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
}

.artbnb-carousel__track:focus {
	outline: 2px solid var(--color-lime, #c9ff21);
	outline-offset: 6px;
}

.artbnb-carousel__item {
	background: #11151b;
	border: 1px solid rgb(255 255 255 / 12%);
	border-radius: 8px;
	flex: 0 0 min(420px, 82vw);
	margin: 0;
	overflow: hidden;
	scroll-snap-align: start;
}

.artbnb-carousel__item img {
	aspect-ratio: 1.45 / 1;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.artbnb-carousel__item figcaption {
	color: rgb(255 255 255 / 82%);
	font-family: var(--font-display, Impact, sans-serif);
	font-size: 1.05rem;
	padding: .9rem 1rem;
	text-transform: uppercase;
}
/* End Art BnB photo links and carousel */