
/* CS// 3D PORTAL INDEX */
.cs-portal-stage{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.cs-portal-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:.82}
.cs-portal-stage:after{content:"";position:absolute;inset:0;background:
  radial-gradient(circle at 68% 44%,transparent 0 12%,rgba(7,8,10,.22) 40%,rgba(7,8,10,.92) 83%),
  linear-gradient(90deg,rgba(7,8,10,.98) 0 32%,rgba(7,8,10,.28) 64%,rgba(7,8,10,.8) 100%)}
.portal-hud{position:fixed;right:34px;top:30px;z-index:3;text-align:right;font:600 8px/1.6 ui-monospace,monospace;letter-spacing:.18em;color:#636870;text-transform:uppercase;pointer-events:none}
.portal-hud b{display:block;color:#dce0e4;font-size:9px}
body.cs-portal-index>header,body.cs-portal-index>.studies,body.cs-portal-index>footer{position:relative;z-index:2}
body.cs-portal-index .study{backdrop-filter:blur(2px)}
body.cs-portal-index .study:hover{background:linear-gradient(90deg,rgba(255,255,255,.025),rgba(255,255,255,.055),transparent)}
body.cs-portal-index .study::after{content:"";position:absolute;right:0;top:0;bottom:0;width:2px;background:var(--portal-accent,#fff);transform:scaleY(0);transition:transform .35s ease;transform-origin:center}
body.cs-portal-index .study:hover::after{transform:scaleY(1)}
body.cs-portal-index .study{position:relative}
@media(max-width:900px){.cs-portal-stage,.portal-hud{display:none}}

/* v9 portal hover shockwave */
.portal-shock{
  position:fixed;z-index:1;pointer-events:none;width:10px;height:10px;border-radius:50%;
  border:1px solid var(--portal-accent,#fff);
  opacity:0;transform:translate(-50%,-50%) scale(.2);
  box-shadow:0 0 40px var(--portal-accent,#fff);
}
.portal-shock.fire{animation:portalShock .8s cubic-bezier(.16,1,.3,1) both}
@keyframes portalShock{
  0%{opacity:.8;transform:translate(-50%,-50%) scale(.2)}
  100%{opacity:0;transform:translate(-50%,-50%) scale(28)}
}
.cs-portal-index .study h2{transition:transform .35s cubic-bezier(.16,1,.3,1),letter-spacing .35s ease}
.cs-portal-index .study:hover h2{transform:translateX(1.2vw);letter-spacing:-.045em}

/* v10 portal typography parallax */
.cs-portal-index h1,
.cs-portal-index .study h2{
  transform:translate3d(var(--cs-portal-x,0px),var(--cs-portal-y,0px),0);
  transition:transform .1s linear
}
.cs-portal-index .study:hover h2{
  transform:translate3d(calc(var(--cs-portal-x,0px) + 1.2vw),var(--cs-portal-y,0px),0)
}
