/* Native app sculpture: shared graphite chassis, crimson edges, smoked glass.
   All geometry stays inside the hero's art slot; only its parent handles pointer tilt. */
.page-access .access-sculpture {
  position: absolute;
  inset: 0;
  pointer-events: none;
  user-select: none;
  transform-style: preserve-3d;
}

.page-access .access-sculpture__scene {
  position: relative;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
}

.page-access .access-sculpture__shadow {
  position: absolute;
  left: 17%;
  right: 12%;
  top: 75%;
  height: 13%;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(17, 2, 7, .36), transparent 70%);
  transform: translateZ(-45px);
}

.page-access .access-sculpture__card {
  --sculpture-depth: clamp(11px, 1.65vw, 20px);
  --sculpture-radius: 18%;
  --sculpture-x: 13deg;
  --sculpture-y: -24deg;
  --sculpture-z: -8deg;
  --sculpture-plane: 0px;
  --sculpture-float-time: 9s;
  --sculpture-float-delay: -2s;
  --sculpture-sheen-time: 13s;
  --sculpture-sheen-delay: -7s;
  position: absolute;
  aspect-ratio: 1.03;
  transform: translateZ(var(--sculpture-plane));
  transform-style: preserve-3d;
}

.page-access .access-sculpture__card--telegram {
  left: 34%;
  top: 22%;
  width: 43%;
  z-index: 3;
  --sculpture-x: 14deg;
  --sculpture-y: -25deg;
  --sculpture-z: -9deg;
  --sculpture-plane: 68px;
  --sculpture-float-time: 8.7s;
  --sculpture-float-delay: -1.5s;
  --sculpture-sheen-delay: -4s;
}

.page-access .access-sculpture__card--youtube {
  left: 10%;
  top: 55%;
  width: 35%;
  aspect-ratio: 1.13;
  z-index: 4;
  --sculpture-x: 18deg;
  --sculpture-y: -21deg;
  --sculpture-z: 9deg;
  --sculpture-plane: 100px;
  --sculpture-float-time: 10.4s;
  --sculpture-float-delay: -6s;
  --sculpture-sheen-time: 15s;
  --sculpture-sheen-delay: -10s;
}

.page-access .access-sculpture__card--discord {
  left: 66%;
  top: 50%;
  width: 28%;
  aspect-ratio: 1.02;
  z-index: 2;
  --sculpture-x: 12deg;
  --sculpture-y: -26deg;
  --sculpture-z: -13deg;
  --sculpture-plane: -40px;
  --sculpture-float-time: 11.2s;
  --sculpture-float-delay: -3s;
  --sculpture-sheen-time: 16s;
  --sculpture-sheen-delay: -1s;
}

.page-access .access-sculpture__card--tiktok {
  left: 17%;
  top: 17%;
  width: 26%;
  z-index: 1;
  --sculpture-x: 17deg;
  --sculpture-y: -17deg;
  --sculpture-z: 12deg;
  --sculpture-plane: -75px;
  --sculpture-float-time: 10s;
  --sculpture-float-delay: -8s;
  --sculpture-sheen-time: 14s;
  --sculpture-sheen-delay: -11s;
}

.page-access .access-sculpture__float,
.page-access .access-sculpture__solid {
  position: absolute;
  inset: 0;
  transform-style: preserve-3d;
}

.page-access .access-sculpture__float {
  animation: access-sculpture-float var(--sculpture-float-time) cubic-bezier(.45, 0, .55, 1) var(--sculpture-float-delay) infinite;
}

.page-access .access-sculpture__solid {
  transform: rotateX(var(--sculpture-x)) rotateY(var(--sculpture-y)) rotateZ(var(--sculpture-z));
}

.page-access .access-sculpture__back,
.page-access .access-sculpture__rim,
.page-access .access-sculpture__face {
  position: absolute;
  inset: 0;
  border-radius: var(--sculpture-radius);
  backface-visibility: hidden;
}

.page-access .access-sculpture__back {
  border: 1px solid #34131c;
  background: linear-gradient(145deg, #38242b 2%, #651426 42%, #180d13 94%);
  box-shadow: 12px 24px 34px rgba(0, 0, 0, .23);
  transform: translateZ(calc(var(--sculpture-depth) * -1));
}

.page-access .access-sculpture__side {
  position: absolute;
  backface-visibility: hidden;
  background: linear-gradient(180deg, #2c2026, #d32445 36%, #781228 71%, #1c1016);
}

.page-access .access-sculpture__side--right {
  top: 15%;
  right: 0;
  width: var(--sculpture-depth);
  height: 70%;
  transform-origin: right center;
  transform: rotateY(-90deg);
}

.page-access .access-sculpture__side--left {
  top: 15%;
  left: 0;
  width: var(--sculpture-depth);
  height: 70%;
  transform-origin: left center;
  transform: rotateY(90deg);
  background: linear-gradient(180deg, #4d3b40, #1b1116 50%, #691429);
}

.page-access .access-sculpture__side--top {
  top: 0;
  left: 15%;
  width: 70%;
  height: var(--sculpture-depth);
  transform-origin: center top;
  transform: rotateX(-90deg);
  background: linear-gradient(180deg, #777278, #242125 42%, #48121e);
}

.page-access .access-sculpture__side--bottom {
  bottom: 0;
  left: 15%;
  width: 70%;
  height: var(--sculpture-depth);
  transform-origin: center bottom;
  transform: rotateX(90deg);
  background: linear-gradient(180deg, #95192f, #40101c 47%, #181115);
}

.page-access .access-sculpture__rim {
  border: 1px solid rgba(228, 76, 105, .18);
  background: linear-gradient(130deg, #66585f 2%, #221a20 21%, #491220 52%, #d42c4c 71%, #551120 89%, #24161d);
}

.page-access .access-sculpture__rim--back { transform: translateZ(calc(var(--sculpture-depth) * -.78)); }
.page-access .access-sculpture__rim--middle { transform: translateZ(calc(var(--sculpture-depth) * -.5)); }
.page-access .access-sculpture__rim--front { transform: translateZ(calc(var(--sculpture-depth) * -.22)); }

.page-access .access-sculpture__face {
  padding: 3%;
  border: 1px solid rgba(230, 224, 228, .18);
  background: linear-gradient(137deg, #8a848a 0%, #49454b 4%, #17171b 19%, #39353d 42%, #181116 75%, #702033 94%, #d84666 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), inset 1px 0 0 rgba(255, 255, 255, .11);
  transform: translateZ(0);
}

.page-access .access-sculpture__face::after {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255, 118, 144, .55);
  border-radius: inherit;
  content: "";
  opacity: .12;
  transition: opacity .9s ease;
  pointer-events: none;
}

.page-access .access-sculpture__glass {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border: 1px solid rgba(216, 208, 216, .14);
  border-radius: 16%;
  background:
    linear-gradient(144deg, rgba(121, 116, 129, .13), transparent 44%),
    linear-gradient(125deg, #27272e 0%, #101014 34%, #141217 72%, #24111a 100%);
  box-shadow: inset 0 1px 2px rgba(255, 255, 255, .07), inset 0 -2px 3px rgba(0, 0, 0, .54);
}

.page-access .access-sculpture__glass::before {
  position: absolute;
  inset: 0;
  background: linear-gradient(138deg, rgba(234, 231, 239, .11) 0%, rgba(209, 205, 218, .045) 25%, transparent 25.4%, transparent 68%, rgba(177, 142, 157, .03) 68.4%, transparent 100%);
  content: "";
  pointer-events: none;
}

.page-access .access-sculpture__glass::after {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 94% 95%, rgba(209, 32, 69, .22), transparent 65%);
  content: "";
  opacity: .3;
  transition: opacity .9s ease;
  pointer-events: none;
}

.page-access .access-sculpture__mark {
  position: absolute;
  left: 30%;
  top: 29%;
  display: block;
  width: 40%;
  height: 40%;
  max-width: none;
  object-fit: contain;
  filter: invert(1) brightness(.92) drop-shadow(0 1px 1px rgba(0, 0, 0, .36));
  opacity: .88;
  transition: opacity .9s ease;
}

.page-access .access-sculpture__card--telegram .access-sculpture__mark { left: 28%; top: 26%; width: 44%; height: 44%; }
.page-access .access-sculpture__card--youtube .access-sculpture__mark { left: 26%; top: 24%; width: 48%; height: 48%; }
.page-access .access-sculpture__card--discord .access-sculpture__mark { left: 25%; top: 24%; width: 50%; height: 50%; }
.page-access .access-sculpture__card--tiktok .access-sculpture__mark { left: 31%; top: 30%; width: 38%; height: 38%; opacity: .7; }

.page-access .access-sculpture__seam {
  position: absolute;
  left: 33%;
  right: 33%;
  bottom: 12%;
  height: 1px;
  border-radius: 1px;
  background: linear-gradient(90deg, transparent, rgba(243, 52, 89, .55), rgba(249, 162, 182, .3), transparent);
}

.page-access .access-sculpture__sheen {
  position: absolute;
  left: -10%;
  top: -35%;
  width: 70%;
  height: 170%;
  background: linear-gradient(90deg, transparent 15%, rgba(237, 231, 241, .03) 35%, rgba(241, 235, 248, .12) 50%, rgba(238, 231, 246, .025) 65%, transparent 80%);
  opacity: 0;
  transform: translateX(-140%) rotate(-24deg);
  animation: access-sculpture-sheen var(--sculpture-sheen-time) ease-in-out var(--sculpture-sheen-delay) infinite;
}

.page-access .access-hero[data-service="telegram"] [data-access-card="telegram"] .access-sculpture__face::after,
.page-access .access-hero[data-service="youtube"] [data-access-card="youtube"] .access-sculpture__face::after,
.page-access .access-hero[data-service="discord"] [data-access-card="discord"] .access-sculpture__face::after,
.page-access .access-hero[data-service="tiktok"] [data-access-card="tiktok"] .access-sculpture__face::after { opacity: .65; }

.page-access .access-hero[data-service="telegram"] [data-access-card="telegram"] .access-sculpture__glass::after,
.page-access .access-hero[data-service="youtube"] [data-access-card="youtube"] .access-sculpture__glass::after,
.page-access .access-hero[data-service="discord"] [data-access-card="discord"] .access-sculpture__glass::after,
.page-access .access-hero[data-service="tiktok"] [data-access-card="tiktok"] .access-sculpture__glass::after { opacity: .9; }

.page-access .access-hero[data-service="telegram"] [data-access-card="telegram"] .access-sculpture__mark,
.page-access .access-hero[data-service="youtube"] [data-access-card="youtube"] .access-sculpture__mark,
.page-access .access-hero[data-service="discord"] [data-access-card="discord"] .access-sculpture__mark,
.page-access .access-hero[data-service="tiktok"] [data-access-card="tiktok"] .access-sculpture__mark { opacity: 1; }

.page-access .access-hero.is-art-paused .access-sculpture__float,
.page-access .access-hero.is-art-paused .access-sculpture__sheen,
.page-access .access-art.is-art-paused .access-sculpture__float,
.page-access .access-art.is-art-paused .access-sculpture__sheen { animation-play-state: paused; }

@keyframes access-sculpture-float {
  0%, 100% { transform: translate3d(0, 3px, 0); }
  50% { transform: translate3d(0, -3px, 0); }
}

@keyframes access-sculpture-sheen {
  0%, 9% { transform: translateX(-140%) rotate(-24deg); opacity: 0; }
  15% { opacity: .48; }
  32% { transform: translateX(235%) rotate(-24deg); opacity: 0; }
  100% { transform: translateX(235%) rotate(-24deg); opacity: 0; }
}

@media (max-width: 768px) {
  .page-access .access-sculpture__card { --sculpture-depth: 12px; }
  .page-access .access-sculpture__card--telegram { left: 34%; top: 24%; --sculpture-x: 11deg; --sculpture-y: -19deg; --sculpture-z: -8deg; --sculpture-plane: 34px; }
  .page-access .access-sculpture__card--youtube { left: 10%; top: 59%; --sculpture-x: 14deg; --sculpture-y: -16deg; --sculpture-z: 8deg; --sculpture-plane: 64px; }
  .page-access .access-sculpture__card--discord { left: 65%; top: 52%; --sculpture-x: 10deg; --sculpture-y: -19deg; --sculpture-z: -10deg; --sculpture-plane: -20px; }
  .page-access .access-sculpture__card--tiktok { left: 17%; top: 18%; --sculpture-x: 13deg; --sculpture-y: -13deg; --sculpture-z: 9deg; --sculpture-plane: -37px; }
  .page-access .access-sculpture__back { box-shadow: 5px 12px 18px rgba(0, 0, 0, .2); }
}

@media (max-width: 768px), (pointer: coarse), (prefers-reduced-motion: reduce) {
  .page-access .access-sculpture__float { animation: none; transform: none; }
  .page-access .access-sculpture__sheen { animation: none; opacity: .14; transform: translateX(23%) rotate(-24deg); }
}

@media (prefers-reduced-motion: reduce) {
  .page-access .access-sculpture__face::after,
  .page-access .access-sculpture__glass::after,
  .page-access .access-sculpture__mark { transition: none; }
}
