:root{--redify-purple: #7B61FF;--redify-purple-secondary: #4C2D85;--redify-navy: #1F1247;--redify-white: #FFFFFF;--redify-bg: #0B0714;--redify-bg-elevated: #130D24;--redify-bg-soft: #191233;--redify-bg-navy-soft: #16102E;--redify-text-primary: #FFFFFF;--redify-text-muted: rgba(255, 255, 255, .62);--redify-text-faint: rgba(255, 255, 255, .45);--redify-border: rgba(255, 255, 255, .08);--redify-border-strong: rgba(255, 255, 255, .13);--redify-shadow-lg: 0 24px 64px rgba(0, 0, 0, .52);--redify-shadow-md: 0 14px 36px rgba(0, 0, 0, .4);--redify-ring: 0 0 0 1px rgba(123,97,255,.16);--redify-gradient-hero: radial-gradient(1100px 620px at 74% 0%, rgba(123,97,255,.14), transparent 62%), radial-gradient(820px 520px at 14% 88%, rgba(76,45,133,.18), transparent 66%), linear-gradient(180deg, #0B0714 0%, #0F0A1E 58%, #0B0714 100%);--redify-gradient-card: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.014));--space-1: 4px;--space-2: 8px;--space-3: 16px;--space-4: 24px;--space-5: 32px;--space-6: 48px;--space-7: 64px;--space-8: 96px;--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px;--font-display: "Space Grotesk", "Inter", sans-serif;--font-body: "Inter", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}@media(max-width:560px){html{font-size:15px}}body{margin:0;background:var(--redify-bg);color:var(--redify-text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;line-height:1.5}body:after{content:"";position:fixed;inset:-60px;pointer-events:none;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.012) 1px,transparent 1px);background-size:48px 48px,48px 48px;animation:redify-grid-drift 75s linear infinite}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 70%,rgba(11,7,20,.55));z-index:-1}::selection{background:#7b61ff59}a{color:inherit}.reveal-pending{opacity:0;transform:var(--reveal-from, translateY(22px));filter:var(--reveal-filter, none)}.reveal-pending.reveal--blur{--reveal-from: translateY(16px) scale(.985);--reveal-filter: blur(10px)}.reveal-pending.reveal--scale{--reveal-from: translateY(18px) scale(.96)}.reveal-pending.reveal--left{--reveal-from: translateX(-32px)}.reveal-pending.reveal--right{--reveal-from: translateX(32px)}.reveal-pending.reveal-visible{animation:redify-reveal-in .7s cubic-bezier(.22,1,.36,1) both;animation-delay:var(--reveal-delay, 0ms)}.reveal-visible{opacity:1;transform:none;filter:none}@keyframes redify-marquee{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}@keyframes redify-breathe{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes redify-drift{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(-2.5%,1.5%,0) scale(1.05)}to{transform:translateZ(0) scale(1)}}@keyframes redify-grid-drift{0%{background-position:0 0,0 0}to{background-position:48px 48px,48px 48px}}@keyframes redify-word-in{0%{opacity:0;transform:translateY(.85em) rotate(2deg)}to{opacity:1;transform:translateY(0) rotate(0)}}@keyframes redify-reveal-in{0%{opacity:0;transform:var(--reveal-from, translateY(22px));filter:var(--reveal-filter, none)}to{opacity:1;transform:none;filter:none}}@keyframes redify-shine{0%{transform:translate(-120%) skew(-18deg)}to{transform:translate(320%) skew(-18deg)}}@keyframes redify-pulse-dot{0%,to{box-shadow:0 0 #7b61ff8c}70%{box-shadow:0 0 0 9px #7b61ff00}}.split-text .split-word{display:inline-block;overflow:hidden;padding:.16em .06em;margin:-.16em -.06em}.split-text .split-word__inner{display:inline-block;opacity:0;transform:translateY(.85em)}.split-text.split-text--on .split-word__inner{animation:redify-word-in .7s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(var(--w, 0) * 45ms)}.glow-card{position:relative;isolation:isolate}.glow-card:after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:radial-gradient(260px circle at var(--mx, 50%) var(--my, 50%),rgba(123,97,255,.2),transparent 72%);opacity:0;transition:opacity .35s ease}.glow-card:hover:after{opacity:1}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0ms!important;scroll-behavior:auto!important}.reveal-pending{opacity:1;transform:none;filter:none}}
