/* Approved category artwork. Each viewport selects its original panel without altering the source. */
.home-categories { padding: 64px 24px; background: #f8fbff; scroll-margin-top: 90px; }
.home-categories__inner { max-width: 1240px; margin: auto; }
.home-categories__head { text-align: center; margin-bottom: 32px; }
.home-categories__head h2 { margin: 0 0 8px; font-size: clamp(32px, 4vw, 52px); line-height: 1.12; letter-spacing: -1.8px; color: #081120; }
.home-categories__head p { margin: 0; color: #73849d; font-size: 20px; }
.home-categories__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.home-category { position: relative; display: block; aspect-ratio: 555 / 614; overflow: hidden; border-radius: 24px; background: #071529; color: white; box-shadow: 0 12px 24px rgba(20, 85, 217, .14); isolation: isolate; transition: transform .2s, box-shadow .2s; }
.home-category__art { position: absolute; max-width: none; width: 319.64%; height: 144.46%; top: -33.39%; left: -7.21%; pointer-events: none; }
.home-category--video .home-category__art { left: -109.91%; }
.home-category--music .home-category__art { left: -212.43%; }
.home-category__caption { position: absolute; inset: auto 0 0; padding: 26% 6% 6%; background: linear-gradient(transparent, #081525 60%, #081525); }
.home-category__caption h3 { margin: 0 0 4px; color: white; font-size: clamp(32px, 4vw, 48px); line-height: 1.05; font-weight: 800; letter-spacing: -1.4px; }
.home-category__caption p { padding-right: 20%; margin: 0; color: #dce8fa; font-size: clamp(12px, 1.45vw, 18px); line-height: 1.4; }
.home-category__arrow { position: absolute; right: 6%; bottom: 6%; width: 14%; aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; background: white; color: #1463ff; font-size: clamp(24px, 3vw, 38px); line-height: 1; }
.home-category:focus-visible { outline: 4px solid #1455d9; outline-offset: 5px; }
@media (hover: hover) { .home-category:hover { transform: translateY(-4px); box-shadow: 0 18px 32px rgba(20,85,217,.23); } }
@media (max-width: 620px) { .home-categories { padding: 40px 18px; } .home-categories__head { margin-bottom: 24px; } .home-categories__head h2 { letter-spacing: -1px; } .home-categories__head p { font-size: 16px; } .home-categories__grid { grid-template-columns: 1fr; gap: 18px; } .home-category__caption h3 { font-size: 46px; } .home-category__caption p { font-size: 17px; } .home-category__arrow { font-size: 32px; } }
@media (prefers-reduced-motion: reduce) { .home-category { transition: none; } .home-category:hover { transform: none; } }
