/**
 * Portfolio Next — isolated CSS (scoped under .portfolio-next-root).
 */
.portfolio-next-root {
  all: initial;
  display: block;
  position: relative;
  width: 100%;
  font-family: var(--font-ui, "Segoe UI", Tahoma, Geneva, Verdana, sans-serif);
  color: var(--text-primary, #e8e8e8);
  box-sizing: border-box;
  pointer-events: auto;
  z-index: 3;
}

.portfolio-next-root *,
.portfolio-next-root *::before,
.portfolio-next-root *::after {
  box-sizing: border-box;
}

.portfolio-next-viewport {
  position: relative;
  width: 100%;
  overflow-x: hidden;
  overflow-y: visible;
}

.portfolio-next-spacer {
  position: relative;
  width: 100%;
  height: 1357px;
  overflow: visible;
}

.portfolio-next-presentation {
  position: absolute;
  top: 0;
  left: 0;
  will-change: transform;
  transform: translate3d(0, 0, 0) scale(1);
  transform-origin: 0 0;
}

.portfolio-next-document {
  position: relative;
  transform: none;
  zoom: 1;
  overflow: visible;
  background: transparent;
}

.portfolio-next-screen {
  position: absolute;
  overflow: visible;
}

.portfolio-next-layer {
  position: absolute;
  overflow: visible;
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
}

.portfolio-next-layer__image,
.portfolio-next-layer__alpha-video {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
  background: transparent;
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
}

.portfolio-next-layer__illusion-video {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.asterrvn-portfolio-content-host {
  position: relative;
  z-index: 2;
  width: 100%;
  min-height: 0;
}

body.asterrvn-portfolio-next-active .asterrvn-home-overlay-root {
  display: none !important;
}

body.asterrvn-portfolio-next-active .portfolio-clean-artboard,
body.asterrvn-portfolio-next-active .portfolio-clean-back,
body.asterrvn-portfolio-next-active .portfolio-clean-play-button,
body.asterrvn-portfolio-next-active .portfolio-videos-editor {
  display: none !important;
}

body.asterrvn-portfolio-next-active .view[data-view="about"] .about-view > .hero,
body.asterrvn-portfolio-next-active .view[data-view="about"] .about-view > .terminal {
  display: none !important;
}

body.asterrvn-portfolio-next-active .view[data-view="about"] .about-view > .system-illusion-layer {
  display: block !important;
}

body.asterrvn-portfolio-next-active.asterrvn-desktop-wide .view[data-view="about"] .about-view > .system-illusion-layer {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 0;
  pointer-events: none;
}

body.asterrvn-portfolio-next-active.asterrvn-desktop-wide .os-window > .titlebar,
body.asterrvn-portfolio-next-active.asterrvn-desktop-wide .os-window > .menubar,
body.asterrvn-portfolio-next-active.asterrvn-desktop-wide .os-window > .sidebar,
body.asterrvn-portfolio-next-active.asterrvn-desktop-wide .os-window > .statusbar,
body.asterrvn-portfolio-next-active.asterrvn-desktop-wide .os-window > .scrollbar {
  position: relative;
  z-index: 30;
  background: var(--bg);
}

body.asterrvn-portfolio-next-active.asterrvn-desktop-wide .content {
  overflow-y: auto;
  scroll-behavior: auto;
  position: relative;
  z-index: 1;
}

body.asterrvn-portfolio-next-active.asterrvn-desktop-wide .about-view {
  padding: 0;
  min-height: 0;
}

body.asterrvn-portfolio-next-active .portfolio-next-root {
  min-height: 100vh;
}

body.asterrvn-portfolio-next-active:not(.asterrvn-portfolio-v3-active) .about-view {
  overflow-x: hidden;
}
