/* Home: soft AION-inspired light, without extra images or scripts. */
#home { position: relative; isolation: isolate; overflow: clip; }
#home::before { content: ""; position: absolute; z-index: -1; inset: 0; background: radial-gradient(ellipse 80% 65% at 72% 28%, rgba(31, 119, 234, .23), transparent 100%), radial-gradient(ellipse 75% 60% at 18% 42%, rgba(117, 71, 207, .14), transparent 100%); pointer-events: none; animation: home-aurora 16s ease-in-out infinite alternate; }
#home .hero { position: relative; }
#home .hero::after { content: ""; position: absolute; z-index: -1; inset: 9% -5% auto 47%; height: min(43vw, 510px); border-radius: 50%; background: radial-gradient(circle, rgba(47, 189, 255, .2), rgba(20, 96, 222, .08) 42%, transparent 71%); filter: blur(28px); pointer-events: none; animation: home-halo 7s ease-in-out infinite alternate; }
#home .hero-copy { position: relative; }
#home .eyebrow { color: #9ddfff; text-shadow: 0 0 18px rgba(75, 188, 255, .6); }
#home .hero h1 { width: fit-content; max-width: 100%; background: linear-gradient(105deg, #f6faff 12%, #8cdcff 41%, #d9d0ff 64%, #f6faff 88%); background-size: 200% 100%; color: #f6faff; background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; animation: home-title 12s ease-in-out infinite alternate; filter: drop-shadow(0 0 18px rgba(63, 162, 255, .32)); }
#home .hero-art { filter: drop-shadow(0 12px 44px rgba(0, 140, 255, .45)) drop-shadow(0 0 18px rgba(104, 66, 231, .18)); }
#home .button.primary { background: linear-gradient(115deg, #9be8ff, #53bcff 57%, #b29aff); background-size: 170% 100%; box-shadow: 0 8px 28px rgba(52, 161, 255, .27), 0 0 24px rgba(86, 170, 255, .13); }
#home .button.primary:hover { background-position: 100% 0; box-shadow: 0 10px 34px rgba(52, 161, 255, .44), 0 0 25px rgba(115, 103, 236, .24); }
#home .home-more { position: relative; }
#home .home-more::before { content: ""; position: absolute; top: -25px; left: 32px; width: min(180px, 35vw); height: 2px; background: linear-gradient(90deg, #68caff, #b69bff, transparent); box-shadow: 0 0 16px rgba(95, 197, 255, .65); }
#home .card { position: relative; overflow: hidden; border-top-color: rgba(128, 200, 255, .55); background: linear-gradient(155deg, rgba(37, 66, 115, .73), rgba(8, 19, 46, .62)); }
#home .card:nth-child(2) { border-top-color: rgba(171, 145, 255, .62); background: linear-gradient(155deg, rgba(63, 46, 113, .59), rgba(9, 19, 44, .65)); }
#home .card:nth-child(3) { border-top-color: rgba(97, 221, 237, .6); }
#home .card::after { content: ""; position: absolute; inset: -100% auto -100% -85%; width: 45%; transform: rotate(22deg); background: linear-gradient(90deg, transparent, rgba(186, 229, 255, .1), transparent); pointer-events: none; transition: left .75s ease; }
#home .card:hover::after, #home .card:focus-visible::after { left: 145%; }
#home .card:hover, #home .card:focus-visible { box-shadow: 0 18px 45px rgba(8, 42, 101, .28), 0 0 20px rgba(90, 177, 255, .12); }
#home .home-more.visible .card { animation: home-card-in .65s both; }
#home .home-more.visible .card:nth-child(2) { animation-delay: .1s; }
#home .home-more.visible .card:nth-child(3) { animation-delay: .2s; }
@keyframes home-aurora { from { opacity: .65; } to { opacity: 1; } }
@keyframes home-halo { to { opacity: .52; transform: scale(1.09); } }
@keyframes home-title { to { background-position: 100% 0; } }
@keyframes home-card-in { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 900px) { #home .hero h1 { margin-inline: auto; } #home .hero::after { inset: 3% 6% auto; height: 340px; } }
@media (max-width: 600px) { #home .hero::after { height: 280px; } #home .home-more::before { left: 20px; } }
@media (prefers-reduced-motion: reduce) { #home::before, #home .hero::after, #home .hero h1, #home .home-more.visible .card { animation: none !important; } #home .card::after { display: none; } }
