body.intro-playing{
  overflow:hidden;
}

.nc-intro-overlay{
  position:fixed;
  inset:0;
  z-index:13000;
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 18%, rgba(76,128,255,.10), rgba(76,128,255,0) 22%),
    radial-gradient(circle at 50% 60%, rgba(0,194,255,.035), rgba(0,194,255,0) 34%),
    linear-gradient(180deg, #02060d 0%, #040913 42%, #030711 100%);
  transition:opacity .28s ease, visibility .28s ease;
}

.nc-intro-overlay.is-active{
  opacity:1;
  visibility:visible;
}

.nc-intro-backdrop-glow{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 14%, rgba(76,128,255,.05), rgba(76,128,255,0) 22%),
    radial-gradient(circle at 82% 14%, rgba(0,194,255,.04), rgba(0,194,255,0) 20%),
    radial-gradient(circle at 50% 64%, rgba(255,255,255,.018), rgba(255,255,255,0) 42%);
}

.nc-intro-grid{
  position:absolute;
  inset:0;
  opacity:.028;
  background-image:
    linear-gradient(rgba(120,165,255,.10) 1px, transparent 1px),
    linear-gradient(90deg, rgba(120,165,255,.10) 1px, transparent 1px);
  background-size:44px 44px;
  mask-image:radial-gradient(circle at center, black 20%, transparent 84%);
  -webkit-mask-image:radial-gradient(circle at center, black 20%, transparent 84%);
  animation:ncIntroGridFloat 5s ease-in-out infinite;
}

.nc-intro-canvas{
  display:none !important;
}

.nc-intro-stage{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  pointer-events:none;
  padding:12px;
  box-sizing:border-box;
}

.nc-intro-card-wrap{
  position:relative;
  width:min(88vw, 820px, calc((100svh - 140px) * 1.78));
  max-width:calc(100vw - 24px);
  aspect-ratio:1.78 / 1;
  transform-origin:center center;
  will-change:transform, opacity;
}

.nc-intro-card{
  --nc-intro-accent:#2ed573;
  --nc-intro-bg:#07101e;
  --nc-intro-text:#ffffff;
  --nc-intro-soft:rgba(255,255,255,.82);
  --nc-intro-dim:rgba(255,255,255,.48);

  position:absolute;
  inset:0;
  border-radius:30px;
  overflow:hidden;
  color:var(--nc-intro-text);
  background:
    linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.035) 18%, rgba(255,255,255,0) 48%),
    radial-gradient(circle at 15% 18%, rgba(84,136,255,.16), rgba(84,136,255,0) 28%),
    radial-gradient(circle at 86% 14%, rgba(0,194,255,.09), rgba(0,194,255,0) 24%),
    var(--nc-intro-bg);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:
    0 34px 70px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.08),
    inset 0 -1px 0 rgba(255,255,255,.03);
}

.nc-intro-card::after{
  content:"";
  position:absolute;
  inset:18px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.035);
  pointer-events:none;
}

.nc-intro-watermark{
  position:absolute;
  right:7%;
  top:12%;
  width:42%;
  height:76%;
  opacity:.16;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  transform:rotate(-10deg);
  pointer-events:none;
  filter:drop-shadow(0 0 20px rgba(255,255,255,.04));
}

.nc-intro-sheen{
  position:absolute;
  inset:-12% auto -12% -24%;
  width:32%;
  transform:translateX(-180%) skewX(-18deg);
  background:linear-gradient(
    90deg,
    rgba(255,255,255,0),
    rgba(225,248,255,.24) 48%,
    rgba(255,255,255,0)
  );
  filter:blur(8px);
  pointer-events:none;
}

.nc-intro-border-svg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:none;
  overflow:visible;
}

.nc-intro-border-trace{
  fill:none;
  stroke:var(--nc-intro-accent);
  stroke-width:4;
  stroke-linecap:round;
  opacity:0;
  filter:drop-shadow(0 0 10px var(--nc-intro-accent)) drop-shadow(0 0 22px rgba(46,213,115,.38));
}

.nc-intro-border-soft{
  fill:none;
  stroke:var(--nc-intro-accent);
  stroke-width:8;
  stroke-linecap:round;
  opacity:0;
  filter:blur(6px);
}

.nc-intro-logo-box{
  position:absolute;
  left:24px;
  top:24px;
  width:112px;
  height:78px;
  border-radius:18px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  display:grid;
  place-items:center;
  overflow:hidden;
}

.nc-intro-logo-box img{
  max-width:78%;
  max-height:62%;
  object-fit:contain;
  display:block;
}

.nc-intro-main{
  position:absolute;
  inset:0;
  display:grid;
  grid-template-columns:160px 1fr;
  align-items:center;
  padding:84px 24px 24px 24px;
  gap:16px;
}

.nc-intro-avatar-zone{
  position:relative;
  width:128px;
  height:128px;
  display:grid;
  place-items:center;
  justify-self:start;
}

.nc-intro-avatar-ring{
  position:absolute;
  inset:8px;
  border-radius:999px;
  border:3px solid var(--nc-intro-accent);
  box-shadow:
    0 0 0 7px rgba(46,213,115,.08),
    0 0 24px rgba(46,213,115,.34);
}

.nc-intro-avatar{
  width:104px;
  height:104px;
  border-radius:999px;
  overflow:hidden;
  background:#081425;
  border:4px solid #081425;
  position:relative;
  z-index:2;
}

.nc-intro-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.nc-intro-avatar-fallback{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  font:800 34px/1 Arial, sans-serif;
  color:#fff;
}

.nc-intro-texts{
  width:min(100%, 430px);
  min-width:0;
  justify-self:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}

.nc-intro-name{
  margin:0;
  font:800 clamp(30px, 3.4vw, 44px)/1.02 Arial, sans-serif;
  color:var(--nc-intro-text);
  letter-spacing:-.03em;
  text-wrap:balance;
  max-width:100%;
}

.nc-intro-position{
  margin-top:12px;
  font:600 17px/1.2 Arial, sans-serif;
  color:var(--nc-intro-soft);
}

.nc-intro-company{
  margin-top:8px;
  font:700 13px/1.2 Arial, sans-serif;
  color:var(--nc-intro-dim);
  text-transform:uppercase;
  letter-spacing:.08em;
}

.nc-intro-meta{
  margin-top:18px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  width:100%;
  max-width:100%;
}

.nc-intro-line{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  gap:10px;
  width:100%;
  font:600 14px/1.25 Arial, sans-serif;
  color:var(--nc-intro-soft);
  text-align:center;
}

.nc-intro-line svg{
  width:16px;
  height:16px;
  min-width:16px;
  opacity:.76;
  margin-top:1px;
}

.nc-intro-line span{
  min-width:0;
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
}

.nc-intro-half{
  position:absolute;
  top:0;
  height:100%;
  overflow:hidden;
  border-radius:30px;
  opacity:0;
  pointer-events:none;
}

.nc-intro-half.left{ left:0; }
.nc-intro-half.right{ right:0; }

.nc-intro-half > .nc-intro-card{
  position:absolute;
  inset:0;
  width:200%;
}

.nc-intro-half.left > .nc-intro-card{ left:0; }
.nc-intro-half.right > .nc-intro-card{ right:0; }

@keyframes ncIntroGridFloat{
  0%,100%{
    opacity:.026;
    transform:scale(1);
  }
  50%{
    opacity:.042;
    transform:scale(1.008);
  }
}

@media (max-width: 700px){
  .nc-intro-stage{
    padding:8px;
  }

  .nc-intro-card-wrap{
    width:min(92vw, 700px, calc((100svh - 120px) * 1.78));
    max-width:calc(100vw - 16px);
  }

  .nc-intro-logo-box{
    left:18px;
    top:18px;
    width:94px;
    height:68px;
  }

  .nc-intro-main{
    grid-template-columns:108px 1fr;
    padding:78px 14px 16px 14px;
    gap:8px;
  }

  .nc-intro-avatar-zone{
    width:96px;
    height:96px;
  }

  .nc-intro-avatar{
    width:80px;
    height:80px;
  }

  .nc-intro-name{
    font-size:clamp(22px, 6vw, 34px);
  }

  .nc-intro-position{
    font-size:13px;
    margin-top:8px;
  }

  .nc-intro-company{
    font-size:10px;
    margin-top:6px;
  }

  .nc-intro-meta{
    margin-top:14px;
    gap:8px;
  }

  .nc-intro-line{
    font-size:11px;
    gap:8px;
  }

  .nc-intro-line svg{
    width:14px;
    height:14px;
    min-width:14px;
  }
}