/* Shared 3D portrait layer - Skyler page + home */
.skyler-hero-art,
.skyler-home-art {
  position: relative;
  isolation: isolate;
  min-height: 420px;
}

.skyler-portrait-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 420px;
  z-index: 2;
  pointer-events: none;
  opacity: 0.65;
}

.skyler-css-bubbles {
  display: none;
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  overflow: hidden;
}

.skyler-css-bubbles span {
  position: absolute;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(52, 211, 153, 0.7) 0%, rgba(52, 211, 153, 0) 72%);
  animation: skyler-css-bubble 7.5s ease-in-out infinite;
}

.skyler-css-bubbles span:nth-child(2n) {
  background: radial-gradient(circle, rgba(56, 189, 248, 0.65) 0%, rgba(56, 189, 248, 0) 72%);
}

.skyler-css-bubbles span:nth-child(1) { top: 10%; left: 6%; width: 16px; height: 16px; }
.skyler-css-bubbles span:nth-child(2) { top: 18%; right: 8%; width: 11px; height: 11px; animation-delay: -1.2s; }
.skyler-css-bubbles span:nth-child(3) { top: 38%; left: 2%; width: 13px; height: 13px; animation-delay: -2.4s; }
.skyler-css-bubbles span:nth-child(4) { top: 46%; right: 4%; width: 9px; height: 9px; animation-delay: -3.1s; }
.skyler-css-bubbles span:nth-child(5) { top: 62%; left: 8%; width: 15px; height: 15px; animation-delay: -0.8s; }
.skyler-css-bubbles span:nth-child(6) { top: 70%; right: 10%; width: 12px; height: 12px; animation-delay: -4.2s; }
.skyler-css-bubbles span:nth-child(7) { top: 84%; left: 18%; width: 10px; height: 10px; animation-delay: -2.8s; }
.skyler-css-bubbles span:nth-child(8) { top: 8%; left: 42%; width: 8px; height: 8px; animation-delay: -5s; }
.skyler-css-bubbles span:nth-child(9) { top: 28%; right: 22%; width: 14px; height: 14px; animation-delay: -1.7s; }
.skyler-css-bubbles span:nth-child(10) { top: 78%; right: 24%; width: 11px; height: 11px; animation-delay: -3.6s; }

@keyframes skyler-css-bubble {
  0%, 100% { transform: translate3d(0, 0, 0); opacity: 0.4; }
  50% { transform: translate3d(10px, -16px, 0); opacity: 0.9; }
}

@supports (-moz-appearance: none) {
  .skyler-portrait-canvas { visibility: hidden; }
  .skyler-css-bubbles { display: block; }
}

.skyler-portrait-stage[data-skyler-3d-stage] {
  position: relative;
  perspective: 900px;
  transform-style: preserve-3d;
  z-index: 1;
}

.skyler-portrait-3d {
  position: relative;
  z-index: 1;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transform-style: preserve-3d;
  will-change: transform;
}

.skyler-portrait-3d > [data-skyler-depth] {
  will-change: transform;
}

.skyler-home-art .skyler-portrait-stage[data-skyler-3d-stage] {
  width: min(100%, 340px);
  min-height: 420px;
}

.skyler-home-art .skyler-portrait-3d {
  min-height: 420px;
}

@media (max-width: 767px) {
  .skyler-home-art .skyler-portrait-stage[data-skyler-3d-stage] {
    width: min(100%, 320px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .skyler-portrait-3d,
  .skyler-portrait-3d > [data-skyler-depth] {
    transform: none !important;
  }

  .skyler-css-bubbles {
    display: none !important;
  }
}
