/* Four independent visual worlds. Native document flow is the complete fallback. */
.universes { padding: 0; background: #e8e5de; }
.universes__viewport { padding-block: clamp(4rem,7vw,7rem) 3rem; }
.universes__heading { margin-bottom: clamp(2.5rem,5vw,5rem); }
.universes__rail { list-style: none; margin: 0; padding: 0 var(--gutter); display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(1.5rem,3vw,3rem); }
.universe { position: relative; isolation: isolate; min-width: 0; height: clamp(420px,42vw,650px); overflow: clip; background: #34261d; color: #fff9ee; }
.universe__image { position: absolute; inset: 0; z-index: -2; overflow: clip; }
.universe__image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 74% center; }
.universe::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg,#130b06eb, #130b0670 46%,transparent 85%); }
.universe__copy { position: relative; display: flex; flex-direction: column; justify-content: end; min-height: 100%; padding: clamp(1.5rem,3.3vw,4rem); }
.universe__sector { font-size: .8rem; margin: 0 0 auto; padding-bottom: 3rem; color: #fff9ee; }
.universe h3 { margin: 0; font-size: clamp(2.1rem,3.8vw,4.4rem); line-height: 1.06; letter-spacing: -.045em; font-weight: 400; }
.universe h3 span, .universe h3 em { display: block; }
.universe h3 em { font: italic 1.06em/1.07 var(--serif); letter-spacing: -.045em; }
.universe__meaning { max-width: 370px; margin: 1.3rem 0 0; font-size: .95rem; line-height: 1.6; color: #f2e8dd; }
.universe--batiment { background: #b49b7c; }
.universe--batiment::after { background: linear-gradient(0deg,#21170eeb,#21170e60 46%,transparent 85%); }
.universe--commerce .universe__image img { object-position: right center; }
.universe--commerce h3 { font-family: var(--serif); }
.universe--eclips { background: #8c4b35; }
.universe--eclips .universe__image img { object-position: 85% center; }
.universe--parfum { background: #3e0a1c; }
.universe--parfum .universe__image img { object-position: 85% center; }
.universe--parfum h3 { font-family: var(--serif); }
.universe--parfum::after { background: linear-gradient(0deg,#280414f0,#28041466 46%,transparent 85%); }
.universes__footer { display: flex; justify-content: flex-end; align-items: center; gap: 2rem; padding-top: 1.5rem; }
.universes__controls { display: flex; flex: 0 0 auto; gap: .15rem; }
.universes__controls button { width: 44px; height: 44px; display: grid; place-items: center; padding: 0; border: 0; background: transparent; color: #765d31; cursor: pointer; }
.universes__controls button > span { display: block; width: 8px; height: 8px; border: 1px solid currentColor; border-radius: 50%; }
.universes__controls button[aria-pressed='true'] > span { width: 24px; height: 5px; background: currentColor; border-radius: 0; }
.universes__controls button:focus-visible { outline: 2px solid #765d31; outline-offset: 0; }

@media (prefers-reduced-motion:no-preference) {
 [data-universes-mode] .universe__image img { transform: translate3d(0,calc(var(--universe-drift,0) * 25px),0) scale(1.12); }
 [data-universes-mode='pinned'] .universes__track { height: 340svh; }
 [data-universes-mode='pinned'] .universes__viewport { position: sticky; top: 0; height: 100svh; min-height: 720px; padding-block: 3.8svh 2svh; overflow: clip; }
 [data-universes-mode='pinned'] .universes__heading { margin-bottom: 3.5svh; transform: translateX(calc(var(--universe-progress,0) * -24px)); }
 [data-universes-mode='pinned'] .universes__heading h2 { font-size: clamp(2.6rem,5.3svh,5.2rem); }
 [data-universes-mode='pinned'] .universes__rail { display: flex; width: max-content; gap: 4vw; transform: translate3d(var(--universe-x,0px),0,0); }
 [data-universes-mode='pinned'] .universe { flex: 0 0 clamp(640px,72vw,1120px); width: clamp(640px,72vw,1120px); height: 54svh; }
 [data-universes-mode='pinned'] .universe__copy { padding: 2.3svh 3vw 3svh; }
 [data-universes-mode='pinned'] .universe__sector { padding-bottom: 1rem; }
 [data-universes-mode='pinned'] .universe h3 { font-size: clamp(2.4rem,5.3svh,4.8rem); }
 [data-universes-mode='pinned'] .universe__meaning { margin-top: 1.1rem; }
 [data-universes-mode='pinned'] .universes__footer { padding-top: 1.8svh; }
}
@media (max-width:700px) {
 .universe--batiment .universe__image img { object-position: 56% center; }
 .universes__rail { grid-template-columns: 1fr; gap: 2rem; }
 .universe { height: 560px; }
 .universe:nth-child(odd) { margin-right: 5%; }
 .universe:nth-child(even) { margin-left: 5%; }
 .universe__copy { padding: 1.5rem; }
 .universe h3 { font-size: clamp(2rem,8.5vw,3.5rem); }
 .universe__meaning { font-size: .9rem; }
 .universes__footer { padding-top: 2rem; }
}
@media (prefers-reduced-motion:reduce) {
 .universes__heading, .universes__rail, .universe__image img { transform: none !important; }
}
@media (forced-colors:active) {
 .universe { outline: 1px solid CanvasText; }
 .universe__copy { background: Canvas; color: CanvasText; }
 .universe__sector, .universe__meaning { color: CanvasText; }
 .universes__controls button[aria-pressed='true'] { outline: 2px solid Highlight; }
}
