/* IKI V6.8 · A single material vocabulary: cloth folds, lacquer mounts,
   bound leaves and pressed edges. All interactive/readable planes stay flat. */
html.luxury-v68-ready { --luxury-edge-silver: #bed0ce; --luxury-edge-ink: #020811; }
.luxury-decoration,
.luxury-decoration *,
.luxury-decoration::before,
.luxury-decoration::after { pointer-events: none !important; }
.luxury-decoration { user-select: none; -webkit-user-select: none; }

/* 1 · Cloth has an actual narrow return at the opening, not a floating glow.
   These faces inherit the existing curtain's finite opening, without a timer. */
.luxury-curtain-fold {
  position: absolute; top: 0; bottom: 0; right: -1px; width: 28px;
  transform-origin: right center; transform: perspective(650px) rotateY(-27deg);
  background: linear-gradient(90deg,#01050abf,#18314088 22%,#8ba5b94d 58%,#06111ccc 90%),url('/assets/release-v4/indigo-strata.webp') 38% center/auto 160%;
  border-inline: 1px solid #9ab4c342; box-shadow: -8px 0 18px #02050a44;
}
.hero-curtain-right .luxury-curtain-fold,
.threshold-cloth-right .luxury-curtain-fold {
  left: -1px; right: auto; transform-origin: left center;
  transform: perspective(650px) rotateY(27deg);
  background-position: center,62% center; box-shadow: 8px 0 18px #02050a66;
}
.luxury-curtain-fold::after {
  content: ''; position: absolute; top: 0; bottom: 0; right: 3px; width: 2px;
  background: linear-gradient(180deg,#c5d8d313,#adc8d591 30%,#678a9c69 73%,#0a182500);
}

/* 2 · A three-leaf fore-edge is visible while the existing reel turns.
   The gallery button remains above these non-interactive binding layers. */
.luxury-reel-foreedge {
  position: absolute; z-index: 5; top: 0; right: 0; bottom: 0; width: 7px;
  background: repeating-linear-gradient(90deg,#d2d4c691 0 1px,#60747888 1px 2px,#07111c 2px 3px);
  opacity: calc(.42 + var(--experience-progress,0) * .35);
  box-shadow: -3px 0 8px #02071055;
}
.luxury-reel-foot {
  position: absolute; z-index: 5; left: 0; right: 7px; bottom: 0; height: 6px;
  background: repeating-linear-gradient(180deg,#b9c3b99c 0 1px,#314550b3 1px 2px,#091321 2px 3px);
  box-shadow: 0 -4px 10px #0207104d;
}
.luxury-reel-hinge {
  position: absolute; z-index: 5; top: 0; bottom: 6px; left: 0; width: 12px;
  background: linear-gradient(90deg,#02050fd9,#7c919664 1px,#050c18b3 4px,transparent);
}
.luxury-photo-mount {
  position: absolute; z-index: 2; inset: 0;
  border: 1px solid #bdceca5c; border-right: 3px solid #536a719c;
  border-bottom: 4px solid #101d28;
  box-shadow: inset 0 1px 0 #e2e7db4d,inset 0 -2px 0 #a5b6b452,inset 7px 0 17px -13px #010710;
}
.luxury-v68-ready .chapter-media { isolation: isolate; }

/* 3 · The lacquer photograph gains a physical mount. Its back shares the
   existing scenography variables: there is still exactly one geometry owner. */
.luxury-service-backplate {
  position: absolute; z-index: 0; inset: 0; overflow: hidden;
  transform-origin: 50% 50%;
  transform: rotateX(var(--view-rx,0deg)) rotateY(var(--view-ry,0deg)) translate3d(4px,6px,-6px);
  background: linear-gradient(115deg,#233845,#07111e 34%,#0a1924 72%,#354b53);
  border: 1px solid #8097938f; border-bottom: 2px solid #13232b;
  box-shadow: 0 1px 0 #b2c1b95e,0 7px 14px -8px #01030ccc;
}
.luxury-v68-active .luxury-service-backplate { transition: transform 650ms cubic-bezier(.2,.65,.3,1); }
.luxury-v68-active .service-media[data-scenography-state='pointer'] .luxury-service-backplate { transition-duration: 180ms; }
.luxury-v68-ready .service-media:is([data-scenography-state='scroll'],[data-scenography-state='still'],[data-scenography-state='offscreen']) .luxury-service-backplate { transition: none; }
.luxury-v68-ready .service-media .scenography-view-bevel {
  border-top-color: #d4ded580; border-left-color: #c1d3d34d;
  box-shadow: inset 0 0 0 1px #06101b,inset 0 2px 0 #c9d8cd24,inset 0 -4px 8px -5px #000;
}

/* 4 · The release choices are pressed into the same material as their leaf.
   Only a decorative bed changes depth; neither the button nor its text moves. */
.luxury-v68-ready .dossier-choice { isolation: isolate; }
.luxury-choice-bed {
  position: absolute; z-index: -1; inset: 0; opacity: .22;
  background: linear-gradient(115deg,#b5ccd50a,transparent 72%);
  border-bottom: 1px solid #6c899733;
  box-shadow: inset 0 2px 7px #01071166,inset 0 -1px 0 #b7cdc914;
}
.luxury-v68-active .luxury-choice-bed { transition: opacity 280ms ease,box-shadow 280ms ease; }
.luxury-v68-ready .dossier-choice[aria-pressed='true'] .luxury-choice-bed {
  opacity: 1; background: linear-gradient(110deg,#aac9d51a,transparent 80%);
  border-bottom-color: #98b0ba47;
  box-shadow: inset 0 4px 11px #01071199,inset 0 -1px 0 #adc4c92e;
}
.luxury-v68-ready .dossier-choice:is(:hover,:focus-visible) .luxury-choice-bed { opacity: .85; }
.luxury-dossier-binding {
  position: absolute; z-index: 4; inset: 0; overflow: hidden;
  border-left: 3px solid #9aa8a37d; border-right: 2px solid #08202b;
  border-bottom: 4px solid #3b4f5680;
  box-shadow: inset 2px 0 0 #10212a,inset 3px 0 0 #ccd0c361,inset -1px 0 0 #a9bdbc4a,inset 0 -1px 0 #d5d6c666;
}

/* 5 · The four table paths are a fixed engraved legend with a shallow lip.
   Existing seat focus supplies the light; price/label positioning is unchanged. */
.luxury-v68-ready .membership-paths { border-top: 1px solid #b4c9c317; }
.luxury-v68-ready .membership-paths button { isolation: isolate; }
.luxury-path-bed {
  position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(180deg,#07101a05 0%,#07131da8 27%,#0c1d28e0 86%,#020812f2);
  border-top: 1px solid #bbcfcd2a; border-bottom: 4px solid #020810b3;
  box-shadow: inset 0 1px 0 #e0e4d812,inset 1px 0 0 #78989f24,inset 0 -1px 0 #a2b8b84a;
}
.luxury-path-bed::before {
  content: ''; position: absolute; left: 0; right: 0; top: 0; height: 5px;
  transform-origin: top center; transform: perspective(450px) rotateX(28deg);
  background: linear-gradient(90deg,transparent,rgba(var(--luxury-path-dye,138,181,199),.62),transparent);
  opacity: .35;
}
.luxury-v68-active .luxury-path-bed { transition: background-color 300ms ease,box-shadow 300ms ease; }
.luxury-v68-active .luxury-path-bed::before { transition: opacity 300ms ease; }
.luxury-v68-ready .membership-visual.has-seat-focus[data-luxury-seat='0'] .membership-paths button:nth-child(1) .luxury-path-bed,
.luxury-v68-ready .membership-visual.has-seat-focus[data-luxury-seat='1'] .membership-paths button:nth-child(2) .luxury-path-bed,
.luxury-v68-ready .membership-visual.has-seat-focus[data-luxury-seat='2'] .membership-paths button:nth-child(3) .luxury-path-bed,
.luxury-v68-ready .membership-visual.has-seat-focus[data-luxury-seat='3'] .membership-paths button:nth-child(4) .luxury-path-bed {
  background-color: rgba(var(--luxury-path-dye,138,181,199),.16);
  box-shadow: inset 0 1px 0 #c7d8d65c,inset 1px 0 0 #9ab4bc61,inset 0 -1px 0 #c7d8d691;
}
.luxury-v68-ready .membership-paths button:is(:hover,:focus-visible) .luxury-path-bed::before { opacity: 1; }

/* 6 · Bound tier surfaces, never floating prices. The inner profile deepens
   on a deliberate hover, focus or selection; no hit plane is transformed. */
.luxury-tier-edge {
  position: absolute; z-index: -1; inset: 0; overflow: hidden; opacity: .62;
  border-inline: 1px solid rgba(var(--tier-light),.15);
  border-right-width: 3px; border-bottom: 5px solid #01091373;
  box-shadow: inset 1px 0 0 #b8cbcd17,inset -1px 0 0 rgba(var(--tier-light),.2),inset 0 -1px 0 rgba(var(--tier-light),.24);
}
.luxury-tier-edge::before {
  content: ''; position: absolute; top: 0; bottom: 0; right: -2px; width: 2px;
  background: linear-gradient(180deg,transparent 6%,rgba(var(--tier-light),.8) 45%,transparent 95%);
  opacity: .55;
}
.luxury-v68-active .luxury-tier-edge { transition: opacity 300ms ease,box-shadow 300ms ease; }
.luxury-v68-ready .tier:is(:hover,:focus-within,.is-selected) .luxury-tier-edge {
  opacity: 1;
  box-shadow: inset 2px 0 0 rgba(var(--tier-light),.22),inset -1px 0 0 rgba(var(--tier-light),.45),inset 0 -1px 0 rgba(var(--tier-light),.65),inset 0 -15px 18px -16px #000d;
}
.luxury-v68-ready .tier-dye-sample,
.luxury-v68-ready .tier-dye-sample * { pointer-events: none; }

/* 7 · The final photograph reads as a recessed threshold. Its words sit above
   the photographic construction, and the request form is not involved. */
.luxury-v68-ready .request-art-copy { position: relative; z-index: 2; }
.luxury-threshold-frame { position: absolute; z-index: 0; inset: 0; overflow: hidden; }
.luxury-threshold-frame::before,
.luxury-threshold-frame::after {
  content: ''; position: absolute; top: 0; bottom: 0; width: 18px;
  border-inline: 1px solid #9bb7bb47;
  background: linear-gradient(90deg,#020b11,#29404b 47%,#070f19 80%);
  box-shadow: 8px 0 18px #02071080;
}
.luxury-threshold-frame::before { left: 0; transform-origin: left center; transform: perspective(750px) rotateY(23deg); }
.luxury-threshold-frame::after { right: 0; transform-origin: right center; transform: perspective(750px) rotateY(-23deg); box-shadow: -8px 0 18px #020710a6; }
.luxury-threshold-head {
  position: absolute; left: 0; right: 0; top: 0; height: 11px;
  background: linear-gradient(#53697066,#05101c); border-bottom: 1px solid #90aebf42;
  box-shadow: 0 12px 20px #02060e73;
}

/* A finite travelling catchlight lives only on these small material edges.
   JS enables it once per visible surface; no additional ambient frame loop. */
.luxury-edge-trace {
  position: absolute; z-index: 1; top: -20%; left: 1px; height: 55%; width: 2px;
  background: linear-gradient(180deg,transparent,#e1e7dccc 45%,#c0d5d5a6 60%,transparent);
  opacity: 0; transform: translateY(0);
}
.luxury-photo-mount .luxury-edge-trace { left: auto; right: -1px; }
.luxury-service-backplate .luxury-edge-trace { top: auto; bottom: 0; left: -20%; width: 40%; height: 2px; background: linear-gradient(90deg,transparent,#d9e1d6,#91b2bc,transparent); }
.luxury-threshold-frame .luxury-edge-trace { left: 15px; width: 2px; }

@media (max-width: 760px) {
  .luxury-curtain-fold { width: 18px; }
  .luxury-service-backplate { inset: 0 2px; transform: translate3d(1px,4px,-4px); }
  .luxury-threshold-frame::before,.luxury-threshold-frame::after { width: 10px; }
  .luxury-threshold-frame .luxury-edge-trace { left: 8px; }
  .luxury-path-bed { border-bottom-width: 3px; }
  .luxury-tier-edge { border-right-width: 2px; border-bottom-width: 4px; }
}
@media (prefers-reduced-motion: reduce) {
  .luxury-decoration,.luxury-decoration::before,.luxury-decoration::after { transition: none !important; animation: none !important; }
  .luxury-edge-trace { display: none; }
}
html:not(.luxury-v68-active) .luxury-edge-trace { display: none; }
@media print { .luxury-decoration { display: none !important; } }
