/* Shared motion for the portfolio, case studies and Srez. No delayed clicks. */
:root { --motion-ease: cubic-bezier(.22,1,.36,1); }
html { scroll-behavior: smooth; scroll-padding-top: 32px; }
a, button, summary, input, textarea, select {
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease,
    box-shadow 220ms ease, opacity 180ms ease, transform 240ms var(--motion-ease);
}
.ai-projects article, .ai-cards article {
  transition: transform 320ms var(--motion-ease), box-shadow 320ms ease, border-color 220ms ease;
}
.ai-project-image { transition: transform 450ms var(--motion-ease); }
@media (hover:hover) and (pointer:fine) {
  .ai-projects article:hover, .ai-cards article:hover {
    transform: translateY(-4px); box-shadow: 0 12px 28px #17203912;
  }
  .ai-projects article:hover .ai-project-image { transform: scale(1.025); }
  :is(.button,.ai-button,.primary-button):not(:disabled):hover { transform: translateY(-2px); }
}
:is(.button,.ai-button,.primary-button):not(:disabled):active { transform: translateY(0) scale(.985); }
button:not(:disabled):active { opacity: .8; }
[role="tabpanel"], .leader-evidence, .ai-service-panel, .ai-brief-result {
  animation: soltaev-enter 280ms var(--motion-ease) both;
}
.history-dialog[open] { animation: soltaev-enter 240ms var(--motion-ease) both; }
.expand svg { transition: transform 240ms var(--motion-ease); }
@keyframes soltaev-enter {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}
/* Page entrance stays native and does not delay navigation. */
main { animation: soltaev-page-in 220ms ease-out; }
@keyframes soltaev-page-in { from { opacity: .45; } to { opacity: 1; } }
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
