/* A self-contained particle hero. The original scroll sequence remains available
   to other pages; this hero scrolls normally with the rest of the AI page. */
.ai-orbit-hero {
  position: relative;
  display: grid;
  place-items: center;
  isolation: isolate;
  overflow: hidden;
  min-height: 680px;
  height: min(94svh, 960px);
  padding: 112px 24px 76px;
  background: #f7f8fc;
}
.ai-orbit-art { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.ai-orbit-art canvas, .ai-orbit-poster { position: absolute; inset: 0; width: 100%; height: 100%; }
.ai-orbit-poster { object-fit: cover; }
.ai-orbit-art canvas { opacity: 0; }
.ai-orbit-art.is-ready canvas { opacity: 1; }
.ai-orbit-art.is-ready .ai-orbit-poster { opacity: 0; }
.ai-orbit-copy { width: 100%; max-width: 1060px; text-align: center; }
.ai-orbit-copy h1 { font-size: clamp(42px, 5.15vw, 76px); font-weight: 500; line-height: 1.08; letter-spacing: -.055em; }
.ai-orbit-copy h1 span { display: block; }
.ai-orbit-accent { color: #4652db; }
.ai-orbit-copy > p { max-width: 650px; margin: 27px auto 0; color: #525867; font-size: clamp(17px, 1.45vw, 20px); line-height: 1.65; text-wrap: balance; }
.ai-orbit-actions { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 30px; }
.ai-orbit-actions .button, .ai-orbit-work { min-height: 52px; padding: 14px 26px; border-radius: 999px; font-size: 14px; font-weight: 500; }
.ai-orbit-work { display: inline-flex; align-items: center; justify-content: center; gap: 16px; border: 1px solid #d7dae5; background: #fcfcfdde; transition: border-color .2s, background .2s, transform .2s; }
.ai-orbit-work:hover { border-color: #8e97d6; background: #fff; transform: translateY(-2px); }
@media (max-width: 800px) {
  .ai-orbit-hero { min-height: 660px; height: 86svh; max-height: 820px; padding: 100px 24px 80px; }
  .ai-orbit-copy h1 { font-size: clamp(38px, 6.3vw, 52px); }
  .ai-orbit-copy > p { max-width: 440px; font-size: 17px; }
}
@media (max-width: 480px) {
  .ai-orbit-hero { min-height: 680px; height: 90svh; max-height: 780px; padding: 105px 20px 80px; }
  .ai-orbit-copy h1 { font-size: clamp(34px, 9.3vw, 44px); line-height: 1.1; letter-spacing: -.05em; }
  .ai-orbit-copy > p { max-width: 310px; margin-top: 23px; font-size: 16px; }
  .ai-orbit-actions { margin-top: 26px; gap: 12px; }
  .ai-orbit-actions .button, .ai-orbit-work { padding: 13px 22px; font-size: 13px; min-height: 49px; }
}
@media (prefers-reduced-motion: reduce) {
  .ai-orbit-actions a { transition: none; }
  .ai-orbit-actions a:hover { transform: none; }
}
