:root{--color-primary:#7c3aed;--color-primary-light:#c4b5fd;--color-primary-dark:#5b21b6;--color-primary-50:#f5f0ff;--color-primary-100:#ede9fe;--color-primary-600:#7c3aed;--color-primary-700:#6d28d9;--color-primary-800:#5b21b6;--color-accent:#d946ef;--color-accent-light:#fae8ff;--color-accent-dark:#a21caf;--color-orange-accent:#f97316;--color-star:#f59e0b;--gray-50:#fafafa;--gray-100:#f5f5f5;--gray-200:#e5e5e5;--gray-300:#d4d4d4;--gray-400:#a3a3a3;--gray-500:#737373;--gray-600:#525252;--gray-700:#404040;--gray-800:#262626;--gray-900:#171717;--color-background:#fff;--color-surface:var(--gray-50);--color-text:var(--gray-900);--color-text-secondary:var(--gray-600);--color-text-tertiary:var(--gray-400);--color-border:var(--gray-200);--color-border-light:var(--gray-100);--color-error:#ef4444;--color-success:#22c55e;--color-warning:#f59e0b;--color-info:#3b82f6;--color-dark-bg:#0f0025;--color-dark-bg-end:#3a0078;--glass-bg-dark:#8b5cf61f;--glass-border-dark:#ffffff1a;--glass-border:#8b5cf62e;--gradient-dark-section:linear-gradient(135deg,var(--color-dark-bg)0%,var(--color-dark-bg-end)100%);--gradient-hero:linear-gradient(135deg,#0f0025 0%,#2d0a5e 35%,#3a0078 65%,#4a0e6b 100%);--gradient-footer:linear-gradient(135deg,#0f0025 0%,#2d0a5e 60%,#3a0078 100%);--gradient-purple-button:linear-gradient(135deg,#7c3aed 0%,#a855f7 50%,#d946ef 100%);--gradient-accent:linear-gradient(135deg,#7c3aed 0%,#d946ef 50%,#f97316 100%);--gradient-warm-glow:radial-gradient(ellipse at 50% 50%,#f9731626 0%,#d946ef14 40%,transparent 70%);--gradient-glow-orange:radial-gradient(circle,#f973164d 0%,transparent 70%);--gradient-glow-purple:radial-gradient(circle,#8b5cf64d 0%,transparent 70%);--font-sans:"Geist",system-ui,-apple-system,sans-serif;--font-mono:"Geist Mono",ui-monospace,monospace;--text-xs:clamp(.75rem,.7rem + .15vw,.8rem);--text-sm:clamp(.8125rem,.78rem + .15vw,.875rem);--text-base:clamp(.875rem,.83rem + .2vw,1rem);--text-lg:clamp(1rem,.95rem + .25vw,1.125rem);--text-xl:clamp(1.125rem,1.05rem + .35vw,1.25rem);--text-2xl:clamp(1.25rem,1.1rem + .7vw,1.5rem);--text-3xl:clamp(1.5rem,1.2rem + 1.4vw,2rem);--text-4xl:clamp(1.875rem,1.4rem + 2.2vw,2.5rem);--text-5xl:clamp(2.75rem,2rem + 3.5vw,4.5rem);--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--font-extrabold:800;--font-black:900;--leading-tight:1.15;--leading-snug:1.3;--leading-normal:1.5;--leading-relaxed:1.65;--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--section-gap:clamp(3rem,2rem + 5vw,6rem);--container-max:1280px;--container-padding:clamp(1rem,.5rem + 2vw,2rem);--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--shadow-xs:0 1px 2px #5b21b60f;--shadow-sm:0 1px 3px #5b21b61a,0 1px 2px #5b21b60f;--shadow-md:0 4px 6px #5b21b614,0 2px 4px #5b21b60f;--shadow-lg:0 10px 15px #5b21b61a,0 4px 6px #5b21b60f;--shadow-xl:0 20px 25px #5b21b61f,0 8px 10px #5b21b60f;--shadow-glow:0 8px 32px #7c3aed38,0 2px 8px #7c3aed26;--shadow-glow-orange:0 8px 32px #f973162e,0 2px 8px #f973161a;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.3s ease;--z-header:100;--z-dropdown:200;--z-modal:300;--z-overlay:250}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}a{color:inherit;text-decoration:none}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{overflow-wrap:break-word;line-height:var(--leading-tight)}p{overflow-wrap:break-word}button{cursor:pointer;background:0 0;border:none}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:.5s forwards fadeInUp}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}
