:root{--primary-color: #000000;--primary-hover: #333333;--primary-light: #f5f5f5;--secondary-color: #666666;--secondary-hover: #333333;--text-primary: #000000;--text-secondary: #666666;--text-light: #999999;--text-white: #ffffff;--bg-primary: #ffffff;--bg-secondary: #fafafa;--bg-accent: #f5f5f5;--bg-dark: #000000;--bg-dark-secondary: #111111;--border-color: #e5e5e5;--border-hover: #cccccc;--border-dark: #333333;--success-color: #10b981;--warning-color: #f59e0b;--error-color: #ef4444;--info-color: #3b82f6;--font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-16: 4rem;--spacing-20: 5rem;--spacing-24: 6rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--breakpoint-xs: 320px;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0;min-width:320px;min-height:100vh;font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.6;color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;line-height:1.2;color:var(--text-primary)}h1{font-size:var(--font-size-5xl)}h2{font-size:var(--font-size-4xl)}h3{font-size:var(--font-size-3xl)}h4{font-size:var(--font-size-2xl)}h5{font-size:var(--font-size-xl)}h6{font-size:var(--font-size-lg)}p{margin:0;color:var(--text-secondary)}a{color:var(--primary-color);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-hover)}img{max-width:100%;height:auto;display:block}ul,ol{margin:0;padding:0;list-style:none}*:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-6);font-size:var(--font-size-base);font-weight:500;font-family:inherit;line-height:1;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--primary-color);color:var(--text-white);border-color:var(--primary-color)}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover);border-color:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background-color:transparent;color:var(--primary-color);border-color:var(--primary-color)}.btn-secondary:hover:not(:disabled){background-color:var(--primary-color);color:var(--text-white)}.btn-outline{background-color:transparent;color:var(--text-primary);border-color:var(--border-color)}.btn-outline:hover:not(:disabled){background-color:var(--bg-secondary);border-color:var(--border-hover)}.btn-sm{padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm)}.btn-lg{padding:var(--spacing-4) var(--spacing-8);font-size:var(--font-size-lg)}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 var(--spacing-4)}.container-sm{max-width:640px}.container-md{max-width:768px}.container-lg{max-width:1024px}.container-xl{max-width:1280px}.grid{display:grid;gap:var(--spacing-6)}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.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)}.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-2{gap:var(--spacing-2)}.gap-4{gap:var(--spacing-4)}.gap-6{gap:var(--spacing-6)}.gap-8{gap:var(--spacing-8)}.p-4{padding:var(--spacing-4)}.p-6{padding:var(--spacing-6)}.p-8{padding:var(--spacing-8)}.p-12{padding:var(--spacing-12)}.p-16{padding:var(--spacing-16)}.py-4{padding-top:var(--spacing-4);padding-bottom:var(--spacing-4)}.py-6{padding-top:var(--spacing-6);padding-bottom:var(--spacing-6)}.py-8{padding-top:var(--spacing-8);padding-bottom:var(--spacing-8)}.py-12{padding-top:var(--spacing-12);padding-bottom:var(--spacing-12)}.py-16{padding-top:var(--spacing-16);padding-bottom:var(--spacing-16)}.px-4{padding-left:var(--spacing-4);padding-right:var(--spacing-4)}.px-6{padding-left:var(--spacing-6);padding-right:var(--spacing-6)}.px-8{padding-left:var(--spacing-8);padding-right:var(--spacing-8)}.m-4{margin:var(--spacing-4)}.m-6{margin:var(--spacing-6)}.m-8{margin:var(--spacing-8)}.mb-4{margin-bottom:var(--spacing-4)}.mb-6{margin-bottom:var(--spacing-6)}.mb-8{margin-bottom:var(--spacing-8)}.mb-12{margin-bottom:var(--spacing-12)}.mt-4{margin-top:var(--spacing-4)}.mt-6{margin-top:var(--spacing-6)}.mt-8{margin-top:var(--spacing-8)}.mt-12{margin-top:var(--spacing-12)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-sm{font-size:var(--font-size-sm)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.text-4xl{font-size:var(--font-size-4xl)}.text-5xl{font-size:var(--font-size-5xl)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-light{color:var(--text-light)}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.hidden{display:none}.visible{visibility:visible}.invisible{visibility:hidden}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.w-full{width:100%}.w-auto{width:auto}.w-fit{width:fit-content}.h-full{height:100%}.h-auto{height:auto}.h-screen{height:100vh}.border{border:1px solid var(--border-color)}.border-t{border-top:1px solid var(--border-color)}.border-b{border-bottom:1px solid var(--border-color)}.border-l{border-left:1px solid var(--border-color)}.border-r{border-right:1px solid var(--border-color)}.border-0{border:none}.rounded{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.shadow-none{box-shadow:none}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.transition{transition:all var(--transition-normal)}.transition-fast{transition:all var(--transition-fast)}.transition-slow{transition:all var(--transition-slow)}.transform{transform:translateZ(0)}.scale-105:hover{transform:scale(1.05)}.scale-110:hover{transform:scale(1.1)}@media (max-width: 768px){.md\:hidden{display:none}.md\:block{display:block}.md\:flex{display:flex}.md\:grid{display:grid}.md\:grid-cols-1{grid-template-columns:repeat(1,1fr)}.md\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.md\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.md\:text-center{text-align:center}.md\:text-left{text-align:left}.md\:text-right{text-align:right}.md\:p-4{padding:var(--spacing-4)}.md\:p-6{padding:var(--spacing-6)}.md\:p-8{padding:var(--spacing-8)}.md\:py-4{padding-top:var(--spacing-4);padding-bottom:var(--spacing-4)}.md\:py-6{padding-top:var(--spacing-6);padding-bottom:var(--spacing-6)}.md\:py-8{padding-top:var(--spacing-8);padding-bottom:var(--spacing-8)}.md\:px-4{padding-left:var(--spacing-4);padding-right:var(--spacing-4)}.md\:px-6{padding-left:var(--spacing-6);padding-right:var(--spacing-6)}.md\:px-8{padding-left:var(--spacing-8);padding-right:var(--spacing-8)}}@media (max-width: 640px){.sm\:hidden{display:none}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:grid{display:grid}.sm\:grid-cols-1{grid-template-columns:repeat(1,1fr)}.sm\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.sm\:text-center{text-align:center}.sm\:text-left{text-align:left}.sm\:text-right{text-align:right}.sm\:p-2{padding:var(--spacing-2)}.sm\:p-4{padding:var(--spacing-4)}.sm\:p-6{padding:var(--spacing-6)}.sm\:py-2{padding-top:var(--spacing-2);padding-bottom:var(--spacing-2)}.sm\:py-4{padding-top:var(--spacing-4);padding-bottom:var(--spacing-4)}.sm\:py-6{padding-top:var(--spacing-6);padding-bottom:var(--spacing-6)}.sm\:px-2{padding-left:var(--spacing-2);padding-right:var(--spacing-2)}.sm\:px-4{padding-left:var(--spacing-4);padding-right:var(--spacing-4)}.sm\:px-6{padding-left:var(--spacing-6);padding-right:var(--spacing-6)}}@keyframes fadeInUp{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 fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes bounce{0%,20%,53%,80%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,-30px,0)}70%{transform:translate3d(0,-15px,0)}90%{transform:translate3d(0,-4px,0)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-10px)}20%,40%,60%,80%{transform:translate(10px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes loadingDots{0%,20%{color:#0000;text-shadow:.25em 0 0 rgba(0,0,0,0),.5em 0 0 rgba(0,0,0,0)}40%{color:#000;text-shadow:.25em 0 0 rgba(0,0,0,0),.5em 0 0 rgba(0,0,0,0)}60%{text-shadow:.25em 0 0 black,.5em 0 0 rgba(0,0,0,0)}80%,to{text-shadow:.25em 0 0 black,.5em 0 0 black}}.animate-fade-in-up{animation:fadeInUp .6s ease-out}.animate-fade-in-left{animation:fadeInLeft .6s ease-out}.animate-fade-in-right{animation:fadeInRight .6s ease-out}.animate-fade-in-scale{animation:fadeInScale .6s ease-out}.animate-pulse-hover:hover{animation:pulse 2s infinite}.animate-bounce-custom{animation:bounce 2s infinite}.animate-shake{animation:shake .5s ease-in-out}.animate-spin{animation:spin 1s linear infinite}.animate-loading-dots:after{content:"";animation:loadingDots 1.4s infinite}.animate-on-scroll{opacity:0;transform:translateY(30px);transition:all .6s ease-out}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}.transition-all-smooth{transition:all .3s cubic-bezier(.4,0,.2,1)}.transition-transform-smooth{transition:transform .3s cubic-bezier(.4,0,.2,1)}.transition-opacity-smooth{transition:opacity .3s cubic-bezier(.4,0,.2,1)}.focus-ring{transition:box-shadow .15s ease-in-out}.focus-ring:focus{box-shadow:0 0 0 3px #2563eb80;outline:none}.btn-animate{position:relative;overflow:hidden;transition:all .3s ease}.btn-animate:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn-animate:hover:before{left:100%}.card-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.card-hover:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.text-gradient{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:textShimmer 2s ease-in-out infinite alternate}@keyframes textShimmer{0%{background-position:0% 50%}to{background-position:100% 50%}}.loading-spinner{width:20px;height:20px;border:2px solid #f3f3f3;border-top:2px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes slideInDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideOutUp{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}.notification-enter{animation:slideInDown .3s ease-out}.notification-exit{animation:slideOutUp .3s ease-in}@keyframes slideInFromTop{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.menu-mobile-enter{animation:slideInFromTop .3s ease-out}.parallax-slow,.parallax-fast{transform:translateZ(0);will-change:transform}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
