html.pcm-spiral-experience{
  --spiral-stage-x:0px;
  --spiral-card-width:clamp(300px,28vw,540px);
  --spiral-proof-width:clamp(310px,30vw,620px);
  scroll-behavior:auto!important;
}

html.pcm-spiral-experience,
body.pcm-spiral-experience{
  background:var(--void,#020407);
}

body.pcm-spiral-ready{
  overflow-x:hidden;
}

body.pcm-spiral-ready #scene{
  display:block!important;
  opacity:1!important;
  transform:none!important;
  filter:saturate(1.08) brightness(1.03)!important;
  pointer-events:none!important;
}

body.pcm-spiral-ready[data-scene="landing-a"] #scene,
body.pcm-spiral-ready[data-scene="landing-b"] #scene{
  display:block!important;
  opacity:1!important;
}

body.pcm-spiral-ready #atomSoulCanvas{
  opacity:.10!important;
  filter:none!important;
  mix-blend-mode:normal;
  pointer-events:none!important;
}

body.pcm-spiral-ready[data-scene="landing-a"] #atomSoulCanvas,
body.pcm-spiral-ready[data-scene="landing-b"] #atomSoulCanvas{
  opacity:.08!important;
}

body.pcm-spiral-ready .stageframe,
body.pcm-spiral-ready .stage-metrics{
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  opacity:.62!important;
}

body.pcm-spiral-ready .stageframe{
  width:clamp(420px,38vw,720px)!important;
  height:min(82vh,850px)!important;
  border-radius:32px!important;
  background:radial-gradient(circle at 50% 54%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 58%);
}

body.pcm-spiral-ready[data-scene="landing-a"] .stageframe,
body.pcm-spiral-ready[data-scene="landing-b"] .stageframe,
body.pcm-spiral-ready[data-scene="landing-a"] .stage-metrics,
body.pcm-spiral-ready[data-scene="landing-b"] .stage-metrics,
body.pcm-spiral-ready[data-scene="landing-a"] .data-lanes,
body.pcm-spiral-ready[data-scene="landing-b"] .data-lanes{
  display:block!important;
  opacity:.46!important;
}

body.pcm-spiral-ready .building-caption{
  left:50%!important;
  transform:translateX(-50%)!important;
}

body.pcm-spiral-ready .data-lanes{
  opacity:.24!important;
}

body.pcm-spiral-ready #main{
  position:relative;
  z-index:12;
}

body.pcm-spiral-ready .scene{
  min-height:128svh!important;
  display:block!important;
  padding:0!important;
  pointer-events:none;
}

body.pcm-spiral-ready .scene.hero,
body.pcm-spiral-ready .scene.center{
  min-height:132svh!important;
}

body.pcm-spiral-ready .scene:last-child{
  min-height:118svh!important;
}

body.pcm-spiral-ready .scene > .panel,
body.pcm-spiral-ready .scene > .hero-proof,
body.pcm-spiral-ready .scene > .open-landing-wrap,
body.pcm-spiral-ready .scene > .open-twins-wrap{
  position:fixed!important;
  left:50%!important;
  top:50%!important;
  right:auto!important;
  bottom:auto!important;
  grid-column:auto!important;
  align-self:auto!important;
  margin:0!important;
  width:var(--spiral-card-width)!important;
  max-width:calc(100vw - 48px)!important;
  max-height:min(76svh,760px)!important;
  overflow:visible!important;
  overscroll-behavior:auto!important;
  touch-action:pan-y!important;
  opacity:var(--spiral-opacity,0)!important;
  transform:
    translate3d(
      calc(-50% + var(--spiral-x,0px)),
      calc(-50% + var(--spiral-y,0px)),
      0
    )
    scale(var(--spiral-scale,.82))
    rotate(var(--spiral-tilt,0deg))!important;
  transform-origin:50% 50%!important;
  filter:
    blur(var(--spiral-blur,0px))
    saturate(var(--spiral-sat,1))
    brightness(var(--spiral-bright,1))!important;
  z-index:var(--spiral-z,14)!important;
  pointer-events:none!important;
  visibility:var(--spiral-vis,visible)!important;
  will-change:transform,opacity;
  contain:layout paint style;
  transition:border-color .22s ease,box-shadow .22s ease;
  text-wrap:pretty;
}

body.pcm-spiral-ready .scene > .panel.is-spiral-dormant,
body.pcm-spiral-ready .scene > .hero-proof.is-spiral-dormant,
body.pcm-spiral-ready .scene > .open-landing-wrap.is-spiral-dormant,
body.pcm-spiral-ready .scene > .open-twins-wrap.is-spiral-dormant{
  visibility:hidden!important;
}

body.pcm-spiral-ready .scene > .hero-proof{
  width:var(--spiral-proof-width)!important;
}

body.pcm-spiral-ready .scene > .open-landing-wrap,
body.pcm-spiral-ready .scene > .open-twins-wrap{
  width:clamp(320px,34vw,660px)!important;
  text-align:center!important;
}

body.pcm-spiral-ready .scene > .panel.is-spiral-front,
body.pcm-spiral-ready .scene > .hero-proof.is-spiral-front,
body.pcm-spiral-ready .scene > .open-landing-wrap.is-spiral-front,
body.pcm-spiral-ready .scene > .open-twins-wrap.is-spiral-front{
  pointer-events:auto!important;
}

body.pcm-spiral-ready .scene > .panel.is-spiral-front,
body.pcm-spiral-ready .scene > .hero-proof.is-spiral-front,
body.pcm-spiral-ready .scene > .open-landing-wrap.is-spiral-front,
body.pcm-spiral-ready .scene > .open-twins-wrap.is-spiral-front{
  border-color:color-mix(in srgb,var(--accent) 48%,rgba(255,255,255,.16))!important;
}

body.pcm-spiral-ready .scene > .panel::before,
body.pcm-spiral-ready .scene > .hero-proof::before,
body.pcm-spiral-ready .scene > .open-landing-wrap::before,
body.pcm-spiral-ready .scene > .open-twins-wrap::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  border:1px solid color-mix(in srgb,var(--accent) 24%,transparent);
  pointer-events:none;
  opacity:calc(var(--spiral-front,.4) * .44);
}

body.pcm-spiral-ready .scene > .hero-proof{
  display:block!important;
}

body.pcm-spiral-ready .scene > .hero-proof .proof-card{
  background:linear-gradient(145deg,rgba(7,11,17,.76),rgba(7,11,17,.38));
}

body.pcm-spiral-ready .pcm-spiral-card.is-spiral-front .proof-card,
body.pcm-spiral-ready .pcm-spiral-card.is-spiral-front .open-data-box,
body.pcm-spiral-ready .pcm-spiral-card.is-spiral-front .center-metric-box,
body.pcm-spiral-ready .pcm-spiral-card.is-spiral-front .os-mini-box,
body.pcm-spiral-ready .pcm-spiral-card.is-spiral-front .os-core-box,
body.pcm-spiral-ready .pcm-spiral-card.is-spiral-front .open-twins-data-box,
body.pcm-spiral-ready .pcm-spiral-card.is-spiral-front .metric-tile,
body.pcm-spiral-ready .pcm-spiral-card.is-spiral-front .fact-mini,
body.pcm-spiral-ready .pcm-spiral-card.is-spiral-front .twin,
body.pcm-spiral-ready .pcm-spiral-card.is-spiral-front .risk-card,
body.pcm-spiral-ready .pcm-spiral-card.is-spiral-front .license-tier{
  transform:none!important;
  filter:none!important;
  opacity:1!important;
}

body.pcm-spiral-ready .scene .scrollhint{
  position:fixed;
  opacity:var(--spiral-hint-opacity,.72);
}

body.pcm-spiral-ready .rail{
  z-index:60;
}

body.pcm-spiral-ready .buildbar{
  z-index:70;
}

body.pcm-spiral-ready .phinix-bot,
body.pcm-spiral-ready .pcm-topics{
  z-index:90;
}

body.pcm-spiral-ready .foot{
  position:relative;
  z-index:20;
  margin-top:-4svh;
}

body.pcm-spiral-ready .panel,
body.pcm-spiral-ready .proof-card,
body.pcm-spiral-ready .open-data-box,
body.pcm-spiral-ready .center-metric-box,
body.pcm-spiral-ready .os-mini-box,
body.pcm-spiral-ready .os-core-box,
body.pcm-spiral-ready .open-twins-data-box{
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}

body.pcm-spiral-ready:not(.is-scrolling) .scene > .panel.is-spiral-front,
body.pcm-spiral-ready:not(.is-scrolling) .scene > .hero-proof.is-spiral-front,
body.pcm-spiral-ready:not(.is-scrolling) .scene > .open-landing-wrap.is-spiral-front,
body.pcm-spiral-ready:not(.is-scrolling) .scene > .open-twins-wrap.is-spiral-front{
  box-shadow:0 38px 120px rgba(0,0,0,.44),0 0 58px -30px var(--accent)!important;
}

@media(max-width:1180px){
  html.pcm-spiral-experience{
    --spiral-card-width:clamp(300px,36vw,500px);
    --spiral-proof-width:clamp(310px,40vw,560px);
  }
  body.pcm-spiral-ready .stage-metrics{
    opacity:.28!important;
  }
}

@media(max-width:820px){
  html.pcm-spiral-experience{
    --spiral-card-width:min(86vw,430px);
    --spiral-proof-width:min(88vw,450px);
  }
  body.pcm-spiral-ready .scene{
    min-height:118svh!important;
  }
  body.pcm-spiral-ready .scene.hero,
  body.pcm-spiral-ready .scene.center{
    min-height:122svh!important;
  }
  body.pcm-spiral-ready .stageframe{
    width:min(78vw,380px)!important;
    height:min(66svh,580px)!important;
    opacity:.42!important;
  }
  body.pcm-spiral-ready .stage-metrics,
  body.pcm-spiral-ready .data-lanes,
  body.pcm-spiral-ready .building-caption{
    display:none!important;
  }
  body.pcm-spiral-ready .scene > .panel,
  body.pcm-spiral-ready .scene > .hero-proof,
  body.pcm-spiral-ready .scene > .open-landing-wrap,
  body.pcm-spiral-ready .scene > .open-twins-wrap{
    max-width:calc(100vw - 26px)!important;
    max-height:68svh!important;
    border-radius:18px!important;
  }
  body.pcm-spiral-ready .scene > .open-landing-wrap,
  body.pcm-spiral-ready .scene > .open-twins-wrap{
    width:min(88vw,450px)!important;
  }
  body.pcm-spiral-ready h1{
    font-size:clamp(34px,11vw,48px);
  }
  body.pcm-spiral-ready h2{
    font-size:clamp(27px,8.8vw,38px);
  }
  body.pcm-spiral-ready .lede,
  body.pcm-spiral-ready .copy{
    line-height:1.5;
  }
  body.pcm-spiral-ready .pcm-spiral-card.is-spiral-front .lede,
  body.pcm-spiral-ready .pcm-spiral-card.is-spiral-front .copy,
  body.pcm-spiral-ready .pcm-spiral-card.is-spiral-front p,
  body.pcm-spiral-ready .pcm-spiral-card.is-spiral-front small{
    text-align:left;
    hyphens:auto;
  }
  body.pcm-spiral-ready .pcm-spiral-card.is-spiral-front .open-subcopy,
  body.pcm-spiral-ready .pcm-spiral-card.is-spiral-front .open-twins-subcopy,
  body.pcm-spiral-ready .pcm-spiral-card.is-spiral-front .pcm-boot-welcome{
    text-align:center;
  }
}

@media(max-width:480px){
  html.pcm-spiral-experience{
    --spiral-card-width:min(88vw,390px);
    --spiral-proof-width:min(90vw,400px);
  }
  body.pcm-spiral-ready .scene > .panel,
  body.pcm-spiral-ready .scene > .hero-proof,
  body.pcm-spiral-ready .scene > .open-landing-wrap,
  body.pcm-spiral-ready .scene > .open-twins-wrap{
    max-height:66svh!important;
  }
}

@media(prefers-reduced-motion:reduce){
  body.pcm-spiral-ready .scene > .panel,
  body.pcm-spiral-ready .scene > .hero-proof,
  body.pcm-spiral-ready .scene > .open-landing-wrap,
  body.pcm-spiral-ready .scene > .open-twins-wrap{
    transition:opacity .2s ease,filter .2s ease!important;
    transform:
      translate3d(
        calc(-50% + var(--spiral-x,0px)),
        calc(-50% + var(--spiral-y,0px)),
        0
      )
      scale(var(--spiral-scale,1))!important;
  }
}
