/* V6.5: quiet words, dimensional materials. No prices or text move here. */
.v65 .service-media.scenography-view {
  perspective: 1600px;
  perspective-origin: 50% 50%;
  overflow: visible;
  --view-rx: 0deg;
  --view-ry: 0deg;
  --view-light-x: -100%;
  --view-light-opacity: 0;
  --view-shadow-x: 0px;
  --view-shadow-scale: 1;
}
.v65 .service-media.scenography-view .editorial-camera-plane {
  z-index: 1;
  transform: rotateX(var(--view-rx)) rotateY(var(--view-ry));
  transform-origin: 50% 50%;
  transform-style: preserve-3d;
  transition: transform 650ms cubic-bezier(.2,.65,.3,1);
  animation: none;
  border: 1px solid #7b909c66;
  box-shadow: 0 2px 0 #030b16,0 3px 0 #8ba0a12e;
}
.v65 .service-media.scenography-view::after { display: none; }
.v65 .scenography-view-ground {
  position: absolute; z-index: 0; pointer-events: none;
  inset: 70% 3% -25px;
  background: radial-gradient(ellipse at 50% 72%,#01050dc9,transparent 68%);
  transform: translateX(var(--view-shadow-x)) scaleX(var(--view-shadow-scale));
  transition: transform 650ms cubic-bezier(.2,.65,.3,1);
}
.v65 .scenography-view-bevel {
  position: absolute; z-index: 2; inset: 0; pointer-events: none;
  border-top: 1px solid #d4ded54d;
  border-left: 1px solid #c1d3d32e;
  border-bottom: 2px solid #01081299;
  box-shadow: inset 0 0 0 1px #09132199,inset 0 -24px 38px -36px #010914;
}
.v65 .scenography-view-light {
  position: absolute; z-index: 3; pointer-events: none;
  top: -20%; bottom: -20%; left: 0; width: 37%;
  background: linear-gradient(110deg,transparent 23%,#c8d9df70 48%,#e6eadb8a 50%,transparent 66%);
  transform: translateX(var(--view-light-x)) rotate(-6deg);
  opacity: var(--view-light-opacity);
  transition: transform 650ms cubic-bezier(.2,.65,.3,1),opacity 350ms ease;
}
.v65 .service-media[data-scenography-state='pointer'] :is(.editorial-camera-plane,.scenography-view-ground,.scenography-view-light) { transition-duration: 180ms; }
.v65 .service-media[data-scenography-state='pointer'] .editorial-reflection { visibility: hidden; animation-play-state: paused; }
.v65 .service-media:is([data-scenography-state='scroll'],[data-scenography-state='still'],[data-scenography-state='offscreen']) :is(.editorial-camera-plane,.scenography-view-ground,.scenography-view-light) { transition: none; }

/* The table photograph stays fixed. Only a fine material frame moves between
   its existing four paths, in the dye of the path the visitor actually chose. */
.v65 .membership-visual .editorial-camera-plane,
.v65 .membership-visual.has-seat-focus .editorial-camera-plane { transform: none; transition: none; animation: none; }
.v65 .membership-visual img { transform: none !important; animation: none !important; }
.v65 .membership-visual .seat-focus {
  z-index: 2; perspective: 800px;
  border-inline-color: #afc1cb55;
  background: linear-gradient(180deg,transparent 48%,rgba(var(--seat-dye,138,181,199),.045));
}
.v65 .scenography-seat-plane {
  position: absolute; inset: 12px 10px var(--seat-caption-height,136px);
  border: 0;
  border-inline: 1px solid rgba(var(--seat-dye,138,181,199),.38);
  pointer-events: none;
  transform: rotateY(var(--seat-angle,0deg)) translateZ(5px);
  transform-style: preserve-3d;
  transition: transform 460ms cubic-bezier(.2,.65,.3,1),border-color 300ms;
}
.v65 .scenography-seat-plane::before {
  content: ''; position: absolute; inset: -1px; pointer-events: none;
  border-inline: 1px solid rgba(var(--seat-dye,138,181,199),.14);
  transform: translate3d(calc(var(--seat-depth-side,1)*5px),4px,-7px);
}
.v65 .scenography-seat-edge {
  position: absolute; top: 12px; bottom: 14px; right: -5px; width: 5px;
  background: linear-gradient(90deg,rgba(var(--seat-dye,138,181,199),.16),transparent);
  transform-origin: left; transform: rotateY(38deg);
}
.v65 .scenography-seat-light {
  position: absolute; left: -1px; right: -1px; top: -1px; height: 1px;
  background: linear-gradient(90deg,rgba(var(--seat-dye,138,181,199),.7),transparent 14%,transparent 86%,rgba(var(--seat-dye,138,181,199),.7));
}

/* Tiny actual layer faces, backs and foil catchlights: the tier's own dye is
   inspectable without moving its name, price, bottle count or choose link. */
.v65 .tier-dye-sample { perspective: 330px; transform-style: preserve-3d; }
.v65 .tier-dye-layer.scenography-dye-face {
  transform-style: preserve-3d;
  background: repeating-linear-gradient(90deg,#dce6df12 0 1px,transparent 1px 3px),linear-gradient(135deg,rgba(var(--tier-light),.9),rgba(var(--tier-light),.24));
  border: 1px solid rgba(var(--tier-light),.58);
  border-bottom-color: #02071199;
  box-shadow: 0 2px 3px #01091555;
  transform: translate3d(0,0,2px) rotateX(24deg) rotateZ(-10deg);
  transition: transform 650ms cubic-bezier(.2,.65,.3,1),opacity 350ms;
}
.v65 .tier-dye-layer.scenography-dye-face:nth-child(2) { transform: translate3d(6px,2px,0) rotateX(24deg) rotateZ(-5deg); opacity: .86; }
.v65 .tier-dye-layer.scenography-dye-face:nth-child(3) { transform: translate3d(12px,4px,-2px) rotateX(24deg); opacity: .70; }
.v65 .scenography-dye-back {
  position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(135deg,#182b3b,#040d19);
  border-right: 1px solid rgba(var(--tier-light),.58);
  border-bottom: 1px solid rgba(var(--tier-light),.45);
  transform: translate3d(1px,1px,-1px);
}
.v65 .scenography-dye-foil {
  position: absolute; inset: -1px; overflow: hidden; pointer-events: none;
}
.v65 .scenography-dye-foil::after {
  content: ''; position: absolute; inset: -20%;
  background: linear-gradient(110deg,transparent 35%,#e6e6d899 50%,transparent 65%);
  transform: translateX(-100%); opacity: 0;
  transition: transform 800ms cubic-bezier(.2,.65,.3,1),opacity 250ms;
}
.v65.scenography-active .tier:is(:hover,:focus-within) .scenography-dye-face:first-child { transform: translate3d(-5px,-2px,8px) rotateX(13deg) rotateZ(-15deg); }
.v65.scenography-active .tier:is(:hover,:focus-within) .scenography-dye-face:nth-child(2) { transform: translate3d(6px,1px,3px) rotateX(19deg) rotateZ(-5deg); }
.v65.scenography-active .tier:is(:hover,:focus-within) .scenography-dye-face:nth-child(3) { transform: translate3d(17px,5px,-2px) rotateX(26deg) rotateZ(4deg); }
.v65.scenography-active .tier:is(:hover,:focus-within) .scenography-dye-foil::after { transform: translateX(100%); opacity: .85; }
html.v65:not(.scenography-active) :is(.editorial-camera-plane,.scenography-view-ground,.scenography-view-light,.scenography-seat-plane,.scenography-dye-face) { transition: none; }
html.v65:not(.scenography-active) .scenography-seat-plane { transform: none; }
html.v65:not(.scenography-active) .scenography-view-light { opacity: 0; }
html.v65:not(.scenography-active) .scenography-dye-foil::after { opacity: 0; transform: none; transition: none; }
html.v65:not(.scenography-active) .scenography-dye-face { transform: none !important; transition: none; }
html.v65:not(.scenography-active) .scenography-dye-face:nth-child(2) { transform: translate(6px,2px) !important; }
html.v65:not(.scenography-active) .scenography-dye-face:nth-child(3) { transform: translate(12px,4px) !important; }
@media (max-width: 760px) {
  .v65 .service-media.scenography-view { perspective: 1300px; overflow-x: clip; overflow-y: visible; }
  .v65 .scenography-view-ground { bottom: -17px; }
  .v65 .scenography-seat-plane { inset: 7px 4px var(--seat-caption-height,107px); }
}
@media print {
  .scenography-view-ground,.scenography-view-bevel,.scenography-view-light,.scenography-seat-plane,.scenography-dye-back,.scenography-dye-foil { display: none !important; }
  .v65 .service-media.scenography-view .editorial-camera-plane { transform: none; }
}
