:root{--primary: hsl(0, 90%, 55%);--primary-light: hsl(0, 90%, 65%);--primary-dark: hsl(0, 90%, 40%);--secondary: hsl(0, 0%, 10%);--secondary-light: hsl(0, 0%, 20%);--secondary-dark: hsl(0, 0%, 0%);--accent: hsl(0, 0%, 100%);--accent-light: hsl(0, 0%, 90%);--accent-dark: hsl(0, 0%, 80%);--bg-dark: hsl(0, 0%, 5%);--surface-dark: hsl(0, 0%, 8%);--surface-dark-elevated: hsl(0, 0%, 12%);--text-dark: hsl(0, 0%, 95%);--text-dark-secondary: hsl(0, 0%, 70%);--text-dark-tertiary: hsl(0, 0%, 50%);--bg-light: hsl(0, 0%, 98%);--surface-light: hsl(0, 0%, 100%);--surface-light-elevated: hsl(0, 0%, 96%);--text-light: hsl(0, 0%, 10%);--text-light-secondary: hsl(0, 0%, 30%);--text-light-tertiary: hsl(0, 0%, 50%);--gradient-1: linear-gradient(135deg, var(--primary), #8b0000);--gradient-2: linear-gradient(135deg, var(--primary), var(--secondary));--gradient-3: linear-gradient(135deg, #8b0000, black);--gradient-radial: radial-gradient(circle at 50% 50%, var(--primary), var(--secondary));--glass-bg: rgba(255, 255, 255, .05);--glass-border: rgba(255, 255, 255, .1);--glass-blur: blur(20px);--font-primary: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-accent: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif: "Playfair Display", serif;--font-mono: "JetBrains Mono", "Courier New", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--text-7xl: 4.5rem;--text-8xl: 6rem;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--font-black: 900;--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 2;--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;--space-32: 8rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.25rem;--radius-3xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-glow: 0 0 30px rgba(var(--primary-rgb), .5);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .5s cubic-bezier(.68, -.55, .265, 1.55);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--z-base: 0;--z-dropdown: 1000;--z-sticky: 1100;--z-fixed: 1200;--z-modal-backdrop: 1300;--z-modal: 1400;--z-popover: 1500;--z-tooltip: 1600;--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px;--container-2xl: 1536px}:root{--bg: var(--bg-light);--surface: var(--surface-light);--surface-elevated: var(--surface-light-elevated);--text: var(--text-light);--text-secondary: var(--text-light-secondary);--text-tertiary: var(--text-light-tertiary);--glass-bg: rgba(0, 0, 0, .05);--glass-border: rgba(0, 0, 0, .1)}:root[data-theme=light]{--bg: var(--bg-light);--surface: var(--surface-light);--surface-elevated: var(--surface-light-elevated);--text: var(--text-light);--text-secondary: var(--text-light-secondary);--text-tertiary: var(--text-light-tertiary);--glass-bg: rgba(0, 0, 0, .05);--glass-border: rgba(0, 0, 0, .1)}:root[data-theme=dark]{--bg: var(--bg-dark);--surface: var(--surface-dark);--surface-elevated: var(--surface-dark-elevated);--text: var(--text-dark);--text-secondary: var(--text-dark-secondary);--text-tertiary: var(--text-dark-tertiary)}@media (prefers-color-scheme: light){:root:not([data-theme]){--bg: var(--bg-light);--surface: var(--surface-light);--surface-elevated: var(--surface-light-elevated);--text: var(--text-light);--text-secondary: var(--text-light-secondary);--text-tertiary: var(--text-light-tertiary);--glass-bg: rgba(0, 0, 0, .05);--glass-border: rgba(0, 0, 0, .1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideInUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideInDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}@keyframes glow{0%,to{box-shadow:0 0 20px rgba(var(--primary-rgb),.5)}50%{box-shadow:0 0 40px rgba(var(--primary-rgb),.8)}}.animate-fade-in{animation:fadeIn .6s ease-out}.animate-fade-in-up{animation:fadeInUp .8s ease-out}.animate-fade-in-down{animation:fadeInDown .8s ease-out}.animate-fade-in-left{animation:fadeInLeft .8s ease-out}.animate-fade-in-right{animation:fadeInRight .8s ease-out}.animate-scale-in{animation:scaleIn .5s ease-out}.animate-slide-in-up{animation:slideInUp .6s ease-out}.animate-slide-in-down{animation:slideInDown .6s ease-out}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-bounce{animation:bounce 2s ease-in-out infinite}.animate-float{animation:float 3s ease-in-out infinite}.animate-rotate{animation:rotate 20s linear infinite}.animate-shimmer{background:linear-gradient(90deg,#fff0,#fff3,#fff0);background-size:1000px 100%;animation:shimmer 2s infinite}.animate-gradient{background-size:200% 200%;animation:gradientShift 5s ease infinite}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.hover-lift{transition:transform var(--transition-base)}.hover-lift:hover{transform:translateY(-8px)}.hover-scale{transition:transform var(--transition-base)}.hover-scale:hover{transform:scale(1.05)}.hover-glow{transition:box-shadow var(--transition-base)}.hover-glow:hover{box-shadow:0 0 30px rgba(var(--primary-rgb),.6)}.hover-rotate{transition:transform var(--transition-base)}.hover-rotate:hover{transform:rotate(5deg)}.spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.1);border-top-color:var(--primary);border-radius:50%;animation:rotate 1s linear infinite}.skeleton{background:linear-gradient(90deg,var(--surface) 0%,var(--surface-elevated) 50%,var(--surface) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}.scroll-reveal{opacity:0;transform:translateY(50px)}.scroll-reveal-left{opacity:0;transform:translate(-50px)}.scroll-reveal-right{opacity:0;transform:translate(50px)}.scroll-reveal-scale{opacity:0;transform:scale(.8)}.parallax,.parallax-slow,.parallax-fast{will-change:transform}.gradient-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.3;pointer-events:none;will-change:transform}.gradient-orb-1{background:var(--gradient-1)}.gradient-orb-2{background:var(--gradient-2)}.gradient-orb-3{background:var(--gradient-3)}.magnetic{transition:transform .3s cubic-bezier(.23,1,.32,1)}.ripple-container{position:relative;overflow:hidden}.ripple{position:absolute;border-radius:50%;background:#ffffff80;transform:scale(0);animation:ripple .6s ease-out;pointer-events:none}.text-reveal{overflow:hidden}.text-reveal span{display:inline-block;opacity:0;transform:translateY(100%)}.image-reveal{position:relative;overflow:hidden}.image-reveal:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg);transform:scaleX(0);transform-origin:left}.stagger-item{opacity:0;transform:translateY(30px)}.gpu-accelerated{transform:translateZ(0);will-change:transform}.will-change-transform{will-change:transform}.will-change-opacity{will-change:opacity}.animation-complete{will-change:auto}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-primary);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text);background-color:var(--bg);overflow-x:hidden;transition:background-color var(--transition-base),color var(--transition-base)}h1,h2,h3,h4,h5,h6{font-family:var(--font-accent);font-weight:var(--font-bold);line-height:var(--leading-tight);color:var(--text);margin-bottom:var(--space-4)}h1{font-size:clamp(var(--text-4xl),6vw,var(--text-7xl));font-weight:var(--font-extrabold)}h2{font-size:clamp(var(--text-3xl),5vw,var(--text-6xl))}h3{font-size:clamp(var(--text-2xl),4vw,var(--text-4xl))}h4{font-size:clamp(var(--text-xl),3vw,var(--text-3xl))}h5{font-size:clamp(var(--text-lg),2vw,var(--text-2xl))}h6{font-size:var(--text-xl)}p{margin-bottom:var(--space-4);color:var(--text-secondary);line-height:var(--leading-relaxed)}a{color:var(--primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-light)}.container{width:100%;max-width:var(--container-xl);margin:0 auto;padding:0 var(--space-6)}.container-sm{max-width:var(--container-sm)}.container-lg{max-width:var(--container-lg)}.container-2xl{max-width:var(--container-2xl)}.text-center{text-align:center}.text-gradient{background:var(--gradient-1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-gradient-2{background:var(--gradient-2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-gradient-3{background:var(--gradient-3);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.mt-4{margin-top:var(--space-4)}.mt-8{margin-top:var(--space-8)}.mt-12{margin-top:var(--space-12)}.mt-16{margin-top:var(--space-16)}.mt-20{margin-top:var(--space-20)}.mb-4{margin-bottom:var(--space-4)}.mb-8{margin-bottom:var(--space-8)}.mb-12{margin-bottom:var(--space-12)}.mb-16{margin-bottom:var(--space-16)}.py-12{padding-top:var(--space-12);padding-bottom:var(--space-12)}.py-16{padding-top:var(--space-16);padding-bottom:var(--space-16)}.py-20{padding-top:var(--space-20);padding-bottom:var(--space-20)}.py-24{padding-top:var(--space-24);padding-bottom:var(--space-24)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-4) var(--space-8);font-size:var(--text-base);font-weight:var(--font-semibold);font-family:var(--font-primary);border:none;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden;white-space:nowrap}.btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.2),transparent);opacity:0;transition:opacity var(--transition-base)}.btn:hover:before{opacity:1}.btn-primary{background:var(--gradient-1);color:#fff;box-shadow:0 10px 30px #0000004d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 15px 40px #0006}.btn-secondary{background:var(--gradient-2);color:#fff;box-shadow:0 10px 30px #0000004d}.btn-secondary:hover{transform:translateY(-2px);box-shadow:0 15px 40px #0006}.btn-outline{background:transparent;color:var(--text);border:2px solid var(--primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-outline:hover{background:var(--primary);color:#fff;transform:translateY(-2px)}.btn-lg{padding:var(--space-5) var(--space-10);font-size:var(--text-lg)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-sm)}.card{background:var(--surface);border-radius:var(--radius-2xl);padding:var(--space-8);box-shadow:var(--shadow-lg);transition:all var(--transition-base);border:1px solid rgba(255,255,255,.05)}.card:hover{transform:translateY(-8px);box-shadow:var(--shadow-2xl)}.card-glass{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border)}section{padding:var(--space-20) 0;position:relative}.section-title{text-align:center;margin-bottom:var(--space-16)}.section-subtitle{text-align:center;font-size:var(--text-xl);color:var(--text-secondary);max-width:600px;margin:0 auto var(--space-12)}@media (max-width: 1024px){.grid-cols-4,.grid-cols-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){html{font-size:14px}.container{padding:0 var(--space-4)}.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}section{padding:var(--space-12) 0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}::selection{background:var(--primary);color:#fff}::-moz-selection{background:var(--primary);color:#fff}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--primary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--primary-light)}
