.category-hero--wedding .category-artifact { position: absolute; z-index: -1; top: 2%; right: -5%; width: min(50vw, 740px); aspect-ratio: 1; pointer-events: none; opacity: .58; }
.category-hero--wedding .category-artifact::before { content: ''; position: absolute; inset: 8%; border-radius: 50%; background: conic-gradient(from 210deg, transparent 0 19%, rgba(255,238,210,.78) 20% 20.5%, transparent 21% 46%, rgba(255,185,125,.52) 47% 47.5%, transparent 48% 78%, rgba(255,241,217,.72) 79% 79.5%, transparent 80%); -webkit-mask: radial-gradient(circle, transparent 0 48%, #000 49% 49.8%, transparent 50% 64%, #000 65% 65.6%, transparent 66%); mask: radial-gradient(circle, transparent 0 48%, #000 49% 49.8%, transparent 50% 64%, #000 65% 65.6%, transparent 66%); animation: ff-wedding-arc 14s linear infinite; }
.category-hero--wedding .category-artifact::after { content: ''; position: absolute; inset: 31%; border-radius: 50%; border: 1px solid rgba(255,236,206,.42); box-shadow: 0 0 48px rgba(255,175,106,.17); animation: ff-wedding-breathe 5.8s ease-in-out infinite; }
.category-hero--wedding .category-artifact i { --x: 50%; --y: 50%; --delay: 0s; position: absolute; left: var(--x); top: var(--y); width: 5px; height: 5px; border-radius: 50%; background: #fff5dd; box-shadow: 0 0 10px #ffc989, 0 0 22px rgba(213,19,23,.48); animation: ff-wedding-glint 4.6s ease-in-out infinite; animation-delay: var(--delay); }
.category-hero--wedding .category-artifact i:nth-child(1) { --x: 19%; --y: 31%; --delay: -.4s; }.category-hero--wedding .category-artifact i:nth-child(2) { --x: 31%; --y: 15%; --delay: -2.1s; }.category-hero--wedding .category-artifact i:nth-child(3) { --x: 46%; --y: 28%; --delay: -3.8s; }.category-hero--wedding .category-artifact i:nth-child(4) { --x: 63%; --y: 13%; --delay: -1.2s; }.category-hero--wedding .category-artifact i:nth-child(5) { --x: 79%; --y: 32%; --delay: -2.8s; }.category-hero--wedding .category-artifact i:nth-child(6) { --x: 88%; --y: 52%; --delay: -.8s; }.category-hero--wedding .category-artifact i:nth-child(7) { --x: 73%; --y: 71%; --delay: -3.1s; }.category-hero--wedding .category-artifact i:nth-child(8) { --x: 54%; --y: 83%; --delay: -1.7s; }.category-hero--wedding .category-artifact i:nth-child(9) { --x: 34%; --y: 73%; --delay: -4s; }.category-hero--wedding .category-artifact i:nth-child(10) { --x: 15%; --y: 59%; --delay: -2.4s; }.category-hero--wedding .category-artifact i:nth-child(n+11) { display: none; }
@keyframes ff-wedding-arc { to { transform: rotate(360deg); } }
@keyframes ff-wedding-breathe { 0%,100% { opacity: .2; transform: scale(.94); } 50% { opacity: .62; transform: scale(1.04); } }
@keyframes ff-wedding-glint { 0%,100% { opacity: .1; transform: scale(.45); } 38% { opacity: .95; transform: scale(1); } 48% { opacity: .3; transform: scale(2.1); } }
@media (max-width: 680px) { .category-hero--wedding .category-artifact { top: 17%; right: -52%; width: 138vw; opacity: .34; } }
@media (prefers-reduced-motion: reduce) { .category-hero--wedding .category-artifact::before, .category-hero--wedding .category-artifact::after, .category-hero--wedding .category-artifact i { animation: none; opacity: .34; } }
