{
  "html": "<footer class='footer'><div class='footer__inner'><p class='footer__copy'>© 2026 Студия танцев «Ритм и Пластика»</p><nav class='footer__nav'><a href='/policy' class='footer__link footer__link--ripple'>Политика</a><a href='/rules' class='footer__link footer__link--ripple'>Правила</a></nav></div></footer>",
  "css": ".footer .footer__inner { position: relative; padding: 20px 24px; border-radius: 18px; background: linear-gradient(135deg, rgba(255,255,255,0.85), rgba(245,243,255,0.65)); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); box-shadow: 0 10px 30px -12px rgba(79,70,229,0.25), inset 0 1px 0 rgba(255,255,255,0.9); overflow: hidden; transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.5s cubic-bezier(0.34, 1.56, 0.64, 1); } .footer .footer__inner::after { content: ''; position: absolute; top: 0; left: -60%; width: 50%; height: 100%; background: linear-gradient(115deg, transparent 0%, rgba(255,255,255,0.75) 45%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.75) 55%, transparent 100%); transform: skewX(-18deg); pointer-events: none; transition: left 0.9s cubic-bezier(0.34, 1.56, 0.64, 1); } .footer .footer__inner:hover { transform: translateY(-3px); box-shadow: 0 18px 40px -14px rgba(79,70,229,0.35), inset 0 1px 0 rgba(255,255,255,0.95); } .footer .footer__inner:hover::after { left: 120%; } .footer .footer__inner:focus-within { box-shadow: 0 0 0 3px rgba(79,70,229,0.35), 0 0 0 8px rgba(79,70,229,0.12), 0 18px 40px -14px rgba(79,70,229,0.35); animation: footer-pulse-ring 1.8s ease-out infinite; } .footer .footer__link { position: relative; display: inline-block; padding: 6px 10px; border-radius: 10px; overflow: hidden; isolation: isolate; transition: color 0.25s ease, transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1); } .footer .footer__link::before { content: ''; position: absolute; inset: 0; border-radius: inherit; background: radial-gradient(circle at var(--ripple-x, 50%) var(--ripple-y, 50%), rgba(79,70,229,0.28) 0%, rgba(79,70,229,0.12) 35%, transparent 70%); transform: scale(0); opacity: 0; transition: transform 0.55s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.4s ease; z-index: -1; } .footer .footer__link:hover { color: #4338ca; transform: translateY(-1px); } .footer .footer__link:hover::before { transform: scale(2.4); opacity: 1; } .footer .footer__link:focus-visible { outline: none; } .footer .footer__link:focus-visible::before { transform: scale(2.4); opacity: 1; } @keyframes footer-pulse-ring { 0% { box-shadow: 0 0 0 0 rgba(79,70,229,0.45), 0 0 0 0 rgba(79,70,229,0.25), 0 18px 40px -14px rgba(79,70,229,0.35); } 70% { box-shadow: 0 0 0 6px rgba(79,70,229,0), 0 0 0 14px rgba(79,70,229,0), 0 18px 40px -14px rgba(79,70,229,0.35); } 100% { box-shadow: 0 0 0 0 rgba(79,70,229,0), 0 0 0 0 rgba(79,70,229,0), 0 18px 40px -14px rgba(79,70,229,0.35); } }"
}