/* A quiet, shared motion language for the landing page and guides. */
@media (prefers-reduced-motion: no-preference) {
  @keyframes motion-enter {
    from { opacity: .2; translate: 0 18px; }
    to { opacity: 1; translate: 0 0; }
  }

  @keyframes motion-glow {
    from { transform: translate3d(0, 0, 0) scale(1); opacity: .46; }
    to { transform: translate3d(-6%, 8%, 0) scale(1.12); opacity: .7; }
  }

  .creative-hero,
  .guide-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
  }

  .creative-hero::after,
  .guide-hero::after {
    content: "";
    position: absolute;
    z-index: 0;
    top: -45%;
    right: -18%;
    width: min(72vw, 820px);
    aspect-ratio: 1;
    border-radius: 50%;
    background: radial-gradient(circle, #d9befa70 0%, #e7d5ff42 37%, transparent 68%);
    pointer-events: none;
    animation: motion-glow 12s ease-in-out infinite alternate;
  }

  .creative-hero-inner,
  .guide-hero-inner {
    position: relative;
    z-index: 1;
  }

  .creative-hero-copy h1,
  .guide-hero-copy h1 {
    animation: motion-enter .76s cubic-bezier(.2, .75, .2, 1) .05s backwards;
  }

  .creative-hero-copy .hero-description,
  .guide-hero-copy .guide-intro {
    animation: motion-enter .74s cubic-bezier(.2, .75, .2, 1) .16s backwards;
  }

  .creative-hero-copy > .try-button,
  .guide-hero-copy > .try-button {
    animation: motion-enter .7s cubic-bezier(.2, .75, .2, 1) .27s backwards;
  }

  .idea-strip figure {
    animation: motion-enter .7s cubic-bezier(.2, .75, .2, 1) backwards;
  }
  .idea-strip figure:nth-child(1) { animation-delay: .35s; }
  .idea-strip figure:nth-child(2) { animation-delay: .42s; }
  .idea-strip figure:nth-child(3) { animation-delay: .49s; }

  .hero-film,
  .guide-media {
    animation: motion-enter .82s cubic-bezier(.18, .74, .22, 1) .2s backwards;
  }

  .motion-pending {
    opacity: .6;
    translate: 0 16px;
    transition: opacity .7s cubic-bezier(.2, .75, .2, 1), translate .7s cubic-bezier(.2, .75, .2, 1);
    transition-delay: var(--motion-delay, 0ms);
  }

  .motion-pending.motion-visible {
    opacity: 1;
    translate: 0 0;
  }

  .try-button {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    transition: transform .35s cubic-bezier(.2, .75, .2, 1), box-shadow .35s ease, filter .35s ease;
  }

  .try-button::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(105deg, transparent 18%, #ffffff55 50%, transparent 82%);
    transform: translateX(-140%);
    transition: transform .7s cubic-bezier(.2, .75, .2, 1);
    pointer-events: none;
  }

  .try-button:hover::after,
  .try-button:focus-visible::after {
    transform: translateX(140%);
  }

  .guide-faq summary span,
  .faq-toggle {
    transition: transform .35s cubic-bezier(.2, .75, .2, 1);
  }

  .guide-end,
  .final-try-block {
    position: relative;
    overflow: hidden;
  }

  .guide-end::before,
  .final-try-block::before {
    content: "";
    position: absolute;
    width: 58%;
    aspect-ratio: 1;
    right: -24%;
    top: -140%;
    background: radial-gradient(circle, #bd94ef35, transparent 65%);
    pointer-events: none;
  }
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .model-card,
  .editorial-card,
  .prompt-card,
  .idea-strip figure,
  .inspiration-grid > div,
  .creators-grid > div,
  .feature-content {
    transition: translate .42s cubic-bezier(.2, .75, .2, 1), box-shadow .42s ease, border-color .42s ease;
  }

  .model-card:hover,
  .editorial-card:hover,
  .prompt-card:hover,
  .idea-strip figure:hover,
  .inspiration-grid > div:hover,
  .creators-grid > div:hover,
  .feature-content:hover {
    translate: 0 -5px;
    border-color: #d9c2ee;
    box-shadow: 0 20px 46px #59327618;
  }

  .model-card img,
  .model-card video,
  .editorial-media img,
  .editorial-media video,
  .inspiration-grid img,
  .inspiration-grid video,
  .creators-grid img,
  .idea-strip img {
    transition: transform .9s cubic-bezier(.2, .75, .2, 1);
  }

  .model-card:hover img,
  .model-card:hover video,
  .editorial-card:hover img,
  .editorial-card:hover video,
  .inspiration-grid > div:hover img,
  .inspiration-grid > div:hover video,
  .creators-grid > div:hover img,
  .idea-strip figure:hover img {
    transform: scale(1.045);
  }

  .hero-film,
  .guide-media {
    transition: translate .55s cubic-bezier(.2, .75, .2, 1), box-shadow .55s ease;
  }

  .hero-film:hover,
  .guide-media:hover {
    translate: 0 -6px;
    box-shadow: 0 35px 80px #63437d28;
  }
}

@media (max-width: 767px) and (prefers-reduced-motion: no-preference) {
  .motion-pending { translate: 0 10px; transition-duration: .58s; }
  .creative-hero::after,
  .guide-hero::after { width: 95vw; top: -14%; right: -40%; opacity: .42; }
}

@media (prefers-reduced-motion: reduce) {
  .motion-pending { opacity: 1 !important; translate: none !important; transition: none !important; }
  .creative-hero::after,
  .guide-hero::after { display: none; }
}
