/* The original NOVAWORK 17-piece logo, fitted to the current studio hero.
   Its assembled state is the baseline: CSS/JS failure never hides the brand.
   No scroll locking, viewport-sized overlays or layout-changing transitions. */
.nw-logo-intro {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  isolation: isolate;
  overflow: visible;
  perspective: 1100px;
  color: var(--ink, #181b20);
}
.nw-intro-orbit {
  position: absolute;
  z-index: -1;
  width: min(88%, 390px);
  aspect-ratio: 1;
  border: 1px solid var(--line, #dde1e6);
  border-radius: 50%;
  pointer-events: none;
}
.nw-intro-orbit::before,
.nw-intro-orbit::after {
  content: "";
  position: absolute;
  inset: 28px;
  border: 1px solid var(--line, #dde1e6);
  border-radius: inherit;
}
.nw-intro-orbit::after { inset: 57px; }
.nw-intro-art {
  position: relative;
  flex: 0 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 82%;
  height: calc(100% - 38px);
  max-height: 335px;
  min-height: 0;
  transform-style: preserve-3d;
  transform-origin: 50% 60%;
}
.nw-logo-intro.is-assembling .nw-intro-art {
  animation: nw-intro-depth 2.8s cubic-bezier(.22,.8,.25,1) both;
}
.nw-intro-svg {
  display: block;
  width: auto;
  height: 100%;
  max-width: 100%;
  aspect-ratio: 730 / 610;
  overflow: visible;
  color: inherit;
}
.nw-intro-piece {
  fill: currentColor;
  opacity: 1;
  transform: none;
  transform-box: fill-box;
  transform-origin: center center;
  backface-visibility: hidden;
}
.nw-logo-intro.is-assembling .nw-intro-piece {
  will-change: transform, opacity;
}
.nw-intro-footer {
  position: relative;
  display: flex;
  flex: 0 0 28px;
  align-items: center;
  justify-content: center;
  min-width: 0;
  max-width: 100%;
  margin-top: 8px;
}
.nw-intro-caption {
  display: flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  font-size: 8px;
  font-weight: 500;
  letter-spacing: .16em;
  line-height: 1.4;
  color: var(--muted, #646970);
}
.nw-intro-caption::before {
  content: "";
  width: 4px;
  height: 4px;
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--accent, #d5673a);
}
@keyframes nw-intro-depth {
  0% { transform: rotateX(13deg) rotateY(-14deg) scale(.93); }
  76%, 100% { transform: rotateX(0deg) rotateY(0deg) scale(1); }
}
@keyframes nw-intro-piece-in {
  from { opacity: 0; transform: var(--nw-intro-from); }
  to { opacity: 1; transform: translate3d(0, 0, 0) rotate(0deg) scale(1); }
}
@media (max-width: 650px) {
  .nw-intro-art { width: 80%; height: calc(100% - 32px); max-height: 260px; }
  .nw-intro-footer { flex-basis: 24px; margin-top: 4px; }
  .nw-intro-caption { font-size: 7px; letter-spacing: .12em; gap: 6px; }
  .nw-intro-orbit { width: 230px; max-width: 84%; }
  .nw-intro-orbit::before { inset: 21px; }
  .nw-intro-orbit::after { inset: 42px; }
}
@media print {
  .nw-intro-art { animation: none !important; transform: none !important; }
  .nw-intro-piece {
    opacity: 1 !important;
    transform: none !important;
  }
}
