/* Lightweight replacement for the original Framer carousel animation. */
h1, h2, h3, h4, h5, h6 {
  --framer-letter-spacing: 0.4px !important;
  letter-spacing: 0.4px !important;
}

.storyarc-gradient {
  overflow: hidden;
  background: #06030c;
}

.storyarc-gradient > img { opacity: 0; }
.storyarc-carousel-canvas { display: none !important; }

.storyarc-gradient::before,
.storyarc-gradient::after {
  content: "";
  position: absolute;
  inset: -28%;
  pointer-events: none;
  will-change: transform;
}

.storyarc-gradient::before {
  background:
    radial-gradient(ellipse at 28% 58%, #1437ff 0 13%, transparent 38%),
    radial-gradient(ellipse at 52% 104%, #887cff 0 16%, transparent 42%),
    radial-gradient(ellipse at 94% 47%, #d8c3f5 0 8%, transparent 26%),
    radial-gradient(ellipse at 10% 8%, #5dcdd7 0 10%, transparent 25%),
    #06030c;
  animation: storyarc-drift-a 20s ease-in-out infinite alternate;
}

.storyarc-gradient::after {
  background: radial-gradient(ellipse at 62% 52%, transparent 0 35%, rgba(0, 0, 0, .76) 74%);
  animation: storyarc-drift-b 27s ease-in-out infinite alternate;
}

.storyarc-carousel-panel {
  transition: opacity 300ms cubic-bezier(.22, 1, .36, 1), transform 300ms cubic-bezier(.22, 1, .36, 1);
}

.storyarc-carousel-panel.is-changing { opacity: 0; transform: translateY(9px) scale(.992); }

.storyarc-carousel-tab { cursor: pointer; position: relative !important; }
.storyarc-carousel-tab .framer-1fop12n-container { display: none !important; }
.storyarc-carousel-tab::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 2px;
  background: rgb(10, 10, 10);
  opacity: 0;
  transform: scaleX(.35);
  transform-origin: center;
  transition: opacity 180ms ease, transform 300ms cubic-bezier(.22, 1, .36, 1);
}
.storyarc-carousel-tab.is-active { color: rgb(10, 10, 10) !important; font-weight: 600; }
.storyarc-carousel-tab.is-active .framer-text { color: rgb(10, 10, 10) !important; }
.storyarc-carousel-tab.is-active::after { opacity: 1; transform: scaleX(1); }

@keyframes storyarc-drift-a {
  0% { transform: translate3d(-4%, -3%, 0) scale(1.03) rotate(-3deg); }
  100% { transform: translate3d(5%, 5%, 0) scale(1.1) rotate(4deg); }
}

@keyframes storyarc-drift-b {
  0% { transform: scale(1.02) translateX(-3%); opacity: .45; }
  100% { transform: scale(1.13) translateX(4%); opacity: .8; }
}

@media (prefers-reduced-motion: reduce) {
  .storyarc-gradient::before, .storyarc-gradient::after { animation: none; }
  .storyarc-carousel-panel { transition: none; }
}

.storyarc-faq-question { cursor: pointer; }
.storyarc-faq-answer {
  display: grid;
  grid-template-rows: 0fr;
  flex: 0 0 100%;
  width: 100%;
  margin-left: 0 !important;
  opacity: 0;
  transition: grid-template-rows 260ms cubic-bezier(.22, 1, .36, 1), opacity 180ms ease;
}
.storyarc-faq-answer > p { overflow: hidden; margin: 0; }
.storyarc-faq-question.is-open .storyarc-faq-answer { grid-template-rows: 1fr; opacity: 1; }
.storyarc-faq-answer p { color: rgba(10, 10, 10, .6); font-size: 16px; line-height: 1.5; margin-left: 0 !important; padding: 0 24px 22px 0; text-indent: 0; }
.storyarc-faq-question.is-open .framer-1xtsuot { transform: rotate(0deg) !important; }
