Домашнее задание
@keyframes, (2) приподнимается с тенью при :hover/:focus-within
через transition, и (3) уважает prefers-reduced-motion: reduce.Ожидаемый результат
Товар
Карточка всплывает при загрузке и поднимается при наведении.
В корзину<article class="product">
<div class="product__cover"></div>
<h3>Товар</h3>
<p>Описание...</p>
<a class="product__btn" href="#">В корзину</a>
</article>
Соберите HTML
Семантическая <article> с обложкой, заголовком, текстом и кнопкой-ссылкой.
transition на состояния
Объявите transition: transform 200ms ease, box-shadow 200ms ease; на .product (базовый селектор!), а сдвиг и тень — в .product:hover, .product:focus-within.
@keyframes для появления
Опишите @keyframes fade-up (opacity 0→1, translateY(1rem)→0) и примените animation: fade-up 500ms ease-out both;.
Доступность
Добавьте @media (prefers-reduced-motion: reduce), сводящий длительности к 0.01ms.
Проверьте
Перезагрузите страницу (видно всплытие), наведите курсор и пройдите по карточке клавишей Tab (видна реакция), включите эмуляцию reduce-motion в DevTools → Rendering.