.hero-scroll-cue { margin-top: 72px !important; animation: rift-arrow-float 2.8s ease-in-out infinite; }
.hero-scroll-cue:focus-visible { outline: 2px solid #ff2a85; outline-offset: 5px; }
.hero-scroll-entrance:not(.aos-animate) { opacity: 0; }
.faq-content { display: grid; grid-template-rows: 0fr; max-height: none !important; padding: 0 !important; opacity: 0; transition: grid-template-rows 260ms ease, opacity 200ms ease !important; }
.faq-accordion-item.open .faq-content { grid-template-rows: 1fr; opacity: 1; }
.faq-collapse { min-height: 0; overflow: hidden; }
.faq-answer { padding: 0 24px 22px; }
.faq-icon { transition: transform 220ms ease !important; }
.rift-notification-row { opacity: var(--row-opacity); animation: rift-notification-arrive 7s ease both infinite; animation-delay: var(--row-delay); animation-play-state: paused; }
.motion-active .rift-notification-row { animation-play-state: running; }
@keyframes rift-notification-arrive {
  0%, 8% { opacity: 0; transform: translateY(-14px) scale(.97); }
  20%, 82% { opacity: var(--row-opacity); transform: translateY(0) scale(1); }
  94%, 100% { opacity: 0; transform: translateY(8px) scale(.98); }
}
.rift-product-art:has(img[src*="-background"]) { background: #481a3d; }
.rift-product-art img[src*="-background"], .product-box-image[src*="-background"] { object-fit: contain !important; transform: none !important; }
img[src*="ancient-delta-background"], img[src*="ancient-wardogs-background"] { object-fit: contain !important; background: #481a3d; }
.rift-product-art:has(img[src*="ancient-delta-background"]), .rift-product-art:has(img[src*="ancient-wardogs-background"]) { aspect-ratio: 16 / 10; }
.rift-product-art img[src*="-background"], .product-box-image[src*="-background"] { object-fit: cover !important; object-position: center; }
._2x3 img[src*="-background"] { padding: 0; object-fit: cover !important; object-position: center !important; box-sizing: border-box; }
.rift-globe-surface { position: absolute; top: 12px; left: 50%; transform: translateX(-50%); width: min(400px, 100%); aspect-ratio: 1; }
#bento-community-canvas { display: block; contain: layout paint size; }
@media (prefers-reduced-motion: reduce) {
  .hero-scroll-entrance { opacity: 1 !important; transform: none !important; }
  .rift-notification-row { animation: none; opacity: var(--row-opacity); }
  .faq-content, .faq-icon { transition: none !important; }
}
@keyframes rift-arrow-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(7px); } }
.rift-page-loading::before { content: ''; position: fixed; inset: 0; z-index: 9998; background: #090b10; }
.rift-page-loading body { visibility: hidden; }
.rift-page-skeleton { position: fixed; inset: 0; z-index: 9999; background: #090b10; padding: 0 24px; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 160ms ease, visibility 160ms; overflow: hidden; }
.rift-page-skeleton.is-visible { opacity: 1; visibility: visible; pointer-events: auto; }
.rift-page-loading .rift-page-skeleton { visibility: visible; }
.rift-loading-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.rift-skeleton-nav { height: 72px; border-bottom: 1px solid #20232c; display: flex; align-items: center; gap: 16px; }
.rift-page-skeleton i { display: block; background: #181c26; border-radius: 7px; position: relative; overflow: hidden; }
.rift-page-skeleton i::after { content: ''; position: absolute; inset: 0; background: linear-gradient(100deg, transparent 15%, rgba(255,255,255,.055) 50%, transparent 85%); transform: translateX(-100%); animation: rift-skeleton-shimmer 1.6s ease-in-out infinite; }
.rift-skeleton-nav i:first-child { width: 44px; height: 24px; }
.rift-skeleton-nav i:nth-child(2) { width: 200px; height: 14px; margin: auto; }
.rift-skeleton-nav i:last-child { width: 76px; height: 34px; }
.rift-skeleton-content { max-width: 1168px; margin: 72px auto 0; }
.rift-skeleton-eyebrow { width: 100px; height: 14px; margin-bottom: 18px; }
.rift-skeleton-title { width: min(560px, 85%); height: 40px; margin-bottom: 18px; }
.rift-skeleton-subtitle { width: min(400px, 70%); height: 16px; }
.rift-skeleton-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; margin-top: 40px; }
.rift-skeleton-card { padding: 14px; border: 1px solid #252833; border-radius: 14px; background: #101219; }
.rift-skeleton-card .rift-skeleton-art { aspect-ratio: 16/10; width: 100%; margin: 0 0 24px; }
.rift-skeleton-card i:not(.rift-skeleton-art) { height: 14px; width: 75%; margin: 14px 0; }
.rift-skeleton-card i:last-child { width: 40%; height: 32px; margin-top: 24px; }
@keyframes rift-skeleton-shimmer { to { transform: translateX(100%); } }
@media (max-width: 600px) {
  .rift-page-skeleton { padding-inline: 20px; }
  .rift-skeleton-nav i:nth-child(2) { width: 90px; }
  .rift-skeleton-content { margin-top: 40px; }
  .rift-skeleton-title { height: 32px; }
  .rift-skeleton-grid { grid-template-columns: 1fr; gap: 20px; margin-top: 32px; }
  .rift-skeleton-card:nth-child(n+2) { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-scroll-cue, .rift-page-skeleton i::after { animation: none; }
  .rift-page-skeleton { transition: none; }
}
