:root { color-scheme: dark; --color-bg-deep: #070014; --color-bg-space: #160030; --color-purple-dark: #2a0f56; --color-purple: #6b3fb3; --color-purple-light: #b58cff; --color-lavender: #f1e7ff; --color-white: #ffffff; --color-cyan-accent: #43d8ff; --font-copy: Nunito, Lexend, ui-sans-serif, system-ui, sans-serif; --glow-purple: 0 0 32px rgba(159, 95, 255, 0.45); --border-purple: rgba(190, 143, 255, 0.42); font-family: Atkinson Hyperlegible, Lexend, Nunito Sans, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif; } * { box-sizing: border-box; } html { scroll-behavior: smooth; } body { margin: 0; min-width: 320px; background: var(--color-bg-deep); color: var(--color-white); text-rendering: optimizeLegibility; } img, video { max-width: 100%; } a { color: inherit; } .landing-page { min-height: 100svh; position: relative; isolation: isolate; overflow: clip; background: var(--color-bg-deep); } .space-backdrop, .space-backdrop::before, .space-backdrop::after, .star-layer { pointer-events: none; position: absolute; inset: 0; z-index: -1; } .space-backdrop { overflow: hidden; background: radial-gradient(circle at 50% -8%, rgba(209, 183, 255, 0.2), transparent 23rem), radial-gradient(ellipse at 18% 48%, rgba(112, 14, 181, 0.42), transparent 35rem), radial-gradient(ellipse at 84% 50%, rgba(88, 8, 156, 0.38), transparent 34rem), radial-gradient(ellipse at 50% 88%, rgba(111, 0, 185, 0.58), transparent 42rem), linear-gradient(180deg, #03000b 0%, #0d001b 26%, #260047 62%, #57008f 100%); } .space-backdrop::before { content: ''; inset: -16svh -8vw; background: radial-gradient(ellipse at 12% 32%, rgba(111, 42, 173, 0.22), transparent 28rem), radial-gradient(ellipse at 88% 28%, rgba(102, 54, 176, 0.18), transparent 24rem), radial-gradient(ellipse at 50% 83%, rgba(113, 0, 178, 0.44), transparent 35rem); filter: blur(18px); transform: translate3d(0, calc(var(--parallax-y, 0px) * -0.08), 0); will-change: transform; } .space-backdrop::after { content: ''; opacity: 0.2; background-image: linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.02) 1px, transparent 1px); background-size: 13rem 13rem; mask-image: linear-gradient(to bottom, transparent, black 15%, black 86%, transparent); } .star-layer { inset: -18svh -10vw; background-repeat: repeat; transform-origin: center top; will-change: transform; } .star-layer-dust { opacity: 0.72; background-image: radial-gradient(circle, rgba(255, 255, 255, 0.74) 0 0.8px, transparent 1.4px), radial-gradient(circle, rgba(223, 207, 255, 0.62) 0 0.7px, transparent 1.3px), radial-gradient(circle, rgba(255, 255, 255, 0.5) 0 0.6px, transparent 1.2px); background-position: 1rem 2rem, 6rem 8rem, 11rem 4rem; background-size: 9rem 11rem, 13rem 17rem, 19rem 23rem; transform: translate3d(0, calc(var(--parallax-y, 0px) * -0.1), 0); } .star-layer-far { opacity: 0.78; background-image: radial-gradient(circle, rgba(255, 255, 255, 0.86) 0 1px, transparent 1.8px), radial-gradient(circle, rgba(222, 204, 255, 0.72) 0 1px, transparent 1.7px), radial-gradient(circle, rgba(255, 255, 255, 0.55) 0 0.8px, transparent 1.5px); background-position: 2rem 4rem, 8rem 13rem, 16rem 7rem; background-size: 17rem 19rem, 23rem 29rem, 31rem 37rem; transform: translate3d(0, calc(var(--parallax-y, 0px) * -0.14), 0); } .star-layer-near { opacity: 0.9; background-image: radial-gradient(circle, rgba(255, 255, 255, 0.98) 0 1.4px, rgba(202, 181, 255, 0.48) 2.2px, transparent 8px), radial-gradient(circle, rgba(255, 255, 255, 0.9) 0 1px, rgba(180, 132, 255, 0.36) 2px, transparent 6px), radial-gradient(circle, rgba(255, 255, 255, 0.78) 0 1px, transparent 2px); background-position: 4rem 6rem, 14rem 18rem, 24rem 10rem; background-size: 24rem 31rem, 36rem 42rem, 19rem 23rem; transform: translate3d(0, calc(var(--parallax-y, 0px) * -0.28), 0); } .hero { width: min(1120px, 100%); min-height: 100svh; margin-inline: auto; padding: clamp(1.25rem, 4vw, 2.75rem) clamp(1rem, 3vw, 2rem) clamp(2rem, 6vw, 4rem); display: flex; flex-direction: column; align-items: center; } .site-footer { position: relative; width: min(1120px, 100%); margin-inline: auto; padding: 0 clamp(1rem, 3vw, 2rem) clamp(1.4rem, 3vw, 2rem); text-align: center; } .site-footer p { margin: 0; color: rgba(241, 231, 255, 0.74); font-family: var(--font-copy); font-size: clamp(0.85rem, 1.3vw, 1rem); font-weight: 500; letter-spacing: 0; text-shadow: 0 2px 16px rgba(0, 0, 0, 0.42); } .hero-logo { display: flex; justify-content: center; width: 100%; } .hero-logo img { width: min(720px, 88vw); height: auto; filter: drop-shadow(0 0 28px rgba(159, 95, 255, 0.45)); } .video-card { width: min(940px, 92vw); margin: clamp(0.75rem, 2vw, 1.35rem) auto clamp(1.6rem, 3vw, 2.25rem); padding: clamp(0.45rem, 1vw, 0.75rem); border: 1px solid var(--border-purple); border-radius: 24px; background: linear-gradient(180deg, rgba(28, 10, 72, 0.78), rgba(12, 4, 38, 0.84)); box-shadow: var(--glow-purple), inset 0 0 38px rgba(255, 255, 255, 0.05); backdrop-filter: blur(8px); } .video-card video { display: block; width: 100%; aspect-ratio: 16 / 9; border-radius: 16px; background: #090019; } .intro { width: min(820px, 88vw); margin: 0 auto; text-align: center; } .intro p { margin: 0; color: var(--color-lavender); font-family: var(--font-copy); font-size: clamp(1.2rem, 2.2vw, 2rem); font-weight: 500; line-height: 1.45; letter-spacing: 0; text-shadow: 0 2px 18px rgba(0, 0, 0, 0.5); } .star-divider { width: min(24rem, 72vw); margin: clamp(1.45rem, 3vw, 2.1rem) auto 0; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1.1rem; color: var(--color-purple-light); } .star-divider span { height: 2px; background: linear-gradient(90deg, transparent, rgba(181, 140, 255, 0.9), transparent); filter: drop-shadow(0 0 8px rgba(181, 140, 255, 0.7)); } .star-divider strong { font-size: clamp(1.65rem, 3vw, 2.15rem); line-height: 1; font-weight: 900; text-shadow: 0 0 12px rgba(181, 140, 255, 0.9), 0 0 28px rgba(159, 95, 255, 0.58); } .star-divider span:first-child { background: linear-gradient(90deg, transparent, rgba(181, 140, 255, 0.9)); } .star-divider span:last-child { background: linear-gradient(90deg, rgba(181, 140, 255, 0.9), transparent); } :focus-visible { outline: 3px solid var(--color-cyan-accent); outline-offset: 4px; } .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; border: 0; } .error-page { min-height: 100svh; display: grid; place-content: center; gap: 1rem; padding: 2rem; text-align: center; background: var(--color-bg-space); } .error-page h1, .error-page p { margin: 0; } @media (max-width: 768px) { .space-backdrop::before { transform: translate3d(0, calc(var(--parallax-y, 0px) * -0.05), 0); } .star-layer { inset: -10svh -18vw; } .star-layer-far { transform: translate3d(0, calc(var(--parallax-y, 0px) * -0.08), 0); } .star-layer-dust { opacity: 0.68; transform: translate3d(0, calc(var(--parallax-y, 0px) * -0.06), 0); } .star-layer-near { transform: translate3d(0, calc(var(--parallax-y, 0px) * -0.16), 0); } .hero { padding-top: 1rem; } .hero-logo img { width: min(86vw, 520px); } .video-card { width: 92vw; border-radius: 18px; } .video-card video { border-radius: 12px; } .intro { width: min(34rem, 88vw); } .intro p { font-size: clamp(1.12rem, 5vw, 1.5rem); } } @media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: 0.001ms !important; } .space-backdrop::before, .star-layer-dust, .star-layer-far, .star-layer-near { transform: none; will-change: auto; } }