/* Motion-only parity with the approved AI page. No layout or typography changes. */
:root { --ecosystem-ease:cubic-bezier(.22,1,.36,1); interpolate-size:allow-keywords; }
main { overflow-x:clip; }
.home-hero { position:relative; isolation:isolate; }
.ecosystem-light { position:absolute; inset:-4rem 0 0; z-index:-1; pointer-events:none; }
.ecosystem-light i { position:absolute; width:56vw; height:56vw; top:-18%; left:-14%; border-radius:50%; filter:blur(90px); background:#d68a5f; opacity:.16; }
.ecosystem-light i:nth-child(2) { width:42vw; height:42vw; left:auto; right:-8%; top:4%; background:#d9a441; opacity:.09; }
.ecosystem-light b { position:absolute; left:var(--mx,-999px); top:var(--my,-999px); width:520px; height:520px; translate:-50% -50%; border-radius:50%; background:radial-gradient(circle,#d68a5f17,transparent 62%); opacity:0; transition:opacity .6s; }
.ecosystem-light.on b { opacity:1; }
@media(prefers-reduced-motion:no-preference) {
  .motion-ready [data-reveal] { animation:none; transform:translateY(34px); filter:blur(8px); transition:opacity 1.1s var(--ecosystem-ease),transform 1.1s var(--ecosystem-ease),filter 1.1s var(--ecosystem-ease); transition-delay:var(--reveal-delay,0ms); }
  .motion-ready [data-reveal].is-visible { transform:none; filter:blur(0); opacity:1; }
  .motion-ready .hero-system[data-reveal],.motion-ready .hero-visual[data-reveal] { transition-duration:1.3s; transition-delay:.45s; }
  .hero-copy>* { animation:ecosystem-rise 1s var(--ecosystem-ease) both; }
  .hero-copy>:first-child { animation-delay:.05s; }
  .hero-copy>:nth-child(2) { animation-delay:.15s; }
  .hero-copy>:nth-child(3) { animation-delay:.55s; }
  .hero-copy>:nth-child(4) { animation-delay:.75s; }
  .hero-copy>:nth-child(n+5) { animation-delay:1.1s; }
  .ecosystem-light i { animation:ecosystem-drift 22s ease-in-out infinite alternate; }
  .ecosystem-light i:nth-child(2) { animation-duration:26s; animation-direction:alternate-reverse; }
  .button { position:relative; overflow:hidden; transition:transform .35s var(--ecosystem-ease),translate .5s var(--ecosystem-ease),box-shadow .5s var(--ecosystem-ease); }
  .button:hover { box-shadow:0 14px 44px -12px #d68a5f99; }
  .button::after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(115deg,transparent 32%,#ffffff52 50%,transparent 68%); transform:translateX(-130%); }
  .button:hover::after { transform:translateX(130%); transition:transform .9s var(--ecosystem-ease); }
  .faq details::details-content { height:0; overflow:clip; transition:height .4s var(--ecosystem-ease),content-visibility .4s allow-discrete; }
  .faq details[open]::details-content { height:auto; }
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .motion-ready .hero-visual[data-reveal].is-visible { transform:perspective(1400px) rotateX(var(--visual-rx,0deg)) rotateY(var(--visual-ry,0deg)) rotate(-1deg); transition:transform .7s var(--ecosystem-ease),box-shadow .7s var(--ecosystem-ease); box-shadow:0 40px 120px -40px #d68a5f59; }
  .hero-visual:hover { box-shadow:0 50px 140px -40px #d68a5f80; }
}
@keyframes ecosystem-rise { from { opacity:0; translate:0 22px; filter:blur(8px); } to { opacity:1; translate:0 0; filter:blur(0); } }
@keyframes ecosystem-drift { to { transform:translate(14%,22%) scale(1.15); } }
@media(max-width:760px) { .ecosystem-light i { width:90vw; height:90vw; filter:blur(56px); } }
@media(prefers-reduced-motion:reduce) {
  .motion-ready [data-reveal] { opacity:1; transform:none; filter:none; animation:none; transition:none; }
  .hero-copy>*,.ecosystem-light i { animation:none; }
}
