html[data-bs-fluid] {
  --bs-fluid-duration: 720ms;
  --bs-fluid-ease: cubic-bezier(.2,.65,.3,1);
}
html[data-bs-fluid="site"] { --bs-fluid-duration:640ms; }
@media(max-width:780px) {
  html[data-bs-fluid="site"] { --bs-fluid-duration:560ms; }
}
html[data-bs-fluid] body main .reveal {
  opacity: 1;
  transform: none;
  transition: none !important;
}
html[data-bs-fluid] [data-fluid="image"] { transform-origin: center; }
html[data-bs-fluid] main :is(.btn,.line-link,.text-link) {
  transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}
html[data-bs-fluid] main :is(.button,.btn,.text-link,.line-link):focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 5px;
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  html[data-bs-fluid] :is(.live-project,.activity,.blog-grid>article) img {
    transition: transform 450ms var(--bs-fluid-ease);
  }
  html[data-bs-fluid] :is(.live-project,.activity,.blog-grid>article):is(:hover,:focus-within) img {
    transform: scale(1.035);
  }
  html[data-bs-fluid] main :is(.text-link,.line-link,.button,.btn) svg {
    transition: transform 220ms ease;
  }
  html[data-bs-fluid] main :is(.text-link,.line-link,.button,.btn):is(:hover,:focus-visible) svg {
    transform: translateX(3px);
  }
}
@media (prefers-reduced-motion:no-preference) {
  html[data-bs-fluid] .hero h1 { animation: bs-fluid-opening 650ms var(--bs-fluid-ease); }
}
@keyframes bs-fluid-opening {
  from { transform: translateY(12px); }
  to { transform: none; }
}
@media (prefers-reduced-motion:reduce) {
  html[data-bs-fluid] main *, html[data-bs-fluid] main *::before, html[data-bs-fluid] main *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
