/* Homepage GSAP spiral opener (IP People, 2026-08-27) */

/* Logo mark purple — sampled from site/assets/ip-people-logo.png (#4E01F1).
   Not the Design Canvas GSAP export (#4f10f5 / preview ~#5501FB). */
:root {
  --ip-purple: #4e01f1;
}

html.ip-intro-pending {
  overflow: hidden;
}

html.ip-intro-armed body > :not(#ip-site-preloader) {
  visibility: hidden;
}

html.ip-intro-handoff body > :not(#ip-site-preloader),
html:not(.ip-intro-armed) body > :not(#ip-site-preloader) {
  visibility: visible;
}

.ip-site-preloader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  overflow: hidden;
  pointer-events: all;
}

html.ip-intro-armed .ip-site-preloader {
  display: block;
}

.ip-site-preloader__panel {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #faf9f7;
  will-change: transform;
}

.ip-site-preloader__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(92vw, 560px);
  padding: 24px;
}

.ip-site-preloader__spiral {
  display: block;
  width: min(62vh, 560px);
  height: auto;
  overflow: visible;
}

html.ip-intro-armed:not(.ip-intro-live) .ip-intro-spiral-path {
  visibility: hidden;
}

.ip-site-preloader__spiral {
  color: var(--ip-purple);
}

.ip-intro-spiral-path {
  fill: none;
  stroke: currentColor;
  stroke-width: 122;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (prefers-reduced-motion: reduce) {
  html.ip-intro-armed:not(.ip-intro-force-replay) .ip-site-preloader {
    display: none !important;
  }
}
