:root{--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-3xl:4rem;--spacing-4xl:6rem;--font-size-xs:0.75rem;--font-size-sm:0.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;--font-size-6xl:3.75rem;--font-size-7xl:4.5rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--line-height-loose:2;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl: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),0 2px 4px -2px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--shadow-2xl:0 25px 50px -12px rgba(0,0,0,.25);--shadow-inner:inset 0 2px 4px 0 rgba(0,0,0,.05);--transition-fast:150ms ease-in-out;--transition-base:200ms ease-in-out;--transition-slow:300ms ease-in-out;--transition-slower:500ms ease-in-out;--z-base:0;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--animation-duration-fast:150ms;--animation-duration-normal:300ms;--animation-duration-slow:500ms;--animation-ease-in:cubic-bezier(0.4,0,1,1);--animation-ease-out:cubic-bezier(0,0,0.2,1);--animation-ease-in-out:cubic-bezier(0.4,0,0.2,1);--animation-spring:cubic-bezier(0.17,0.67,0.83,0.97);--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px;--card-padding:var(--spacing-xl);--card-radius:var(--radius-xl);--card-shadow:var(--shadow-lg);--card-hover-shadow:var(--shadow-xl);--button-padding-y:var(--spacing-md);--button-padding-x:var(--spacing-xl);--button-radius:var(--radius-2xl);--button-transition:var(--transition-base);--video-border-width:2px;--video-aspect-ratio:16/9;--video-transition:var(--transition-slow);--section-padding-y:clamp(3rem,8vw,6rem);--section-padding-x:clamp(1rem,4vw,2rem);--section-max-width:1280px;--section-gap:var(--spacing-3xl)}.focus-visible-ring{outline:2px solid var(--color-primary-500);outline-offset:2px;border-radius:var(--radius-md)}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast:high){:root{--shadow-sm:0 1px 2px 0 rgba(0,0,0,.2);--shadow-md:0 4px 6px -1px rgba(0,0,0,.3);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.3);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.4)}}.container-section{max-width:var(--section-max-width);margin-left:auto;margin-right:auto;padding:var(--section-padding-y) var(--section-padding-x)}.gradient-text{background:linear-gradient(to right,var(--color-primary-500),var(--color-secondary-500));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.glass-effect{background:rgba(var(--color-surface-50-rgb),.8);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.animated-gradient{background-size:200% 200%;animation:gradient-shift 8s ease infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes pulse-subtle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.95;transform:scale(1.02)}}@keyframes bounce-subtle{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes wiggle{0%,to{transform:rotate(0deg)}25%{transform:rotate(-2deg)}75%{transform:rotate(2deg)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,to{box-shadow:0 0 5px rgba(var(--color-primary-500-rgb),.3)}50%{box-shadow:0 0 20px rgba(var(--color-primary-500-rgb),.6)}}@keyframes gradient-shift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes border-flow{0%{border-color:var(--color-primary-400)}50%{border-color:var(--color-secondary-400)}to{border-color:var(--color-primary-400)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes progress{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes skeleton{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.animate-fadeIn{animation:fadeIn .3s ease-out forwards}.animate-fadeOut{animation:fadeOut .3s ease-out forwards}.animate-slideInUp{animation:slideInUp .5s ease-out forwards}.animate-slideInDown{animation:slideInDown .5s ease-out forwards}.animate-slideInLeft{animation:slideInLeft .5s ease-out forwards}.animate-slideInRight{animation:slideInRight .5s ease-out forwards}.animate-scaleIn{animation:scaleIn .4s ease-out forwards}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-pulse-subtle{animation:pulse-subtle 3s ease-in-out infinite}.animate-bounce-subtle{animation:bounce-subtle 2s ease-in-out infinite}.animate-float{animation:float 3s ease-in-out infinite}.animate-shimmer{background:linear-gradient(90deg,var(--color-surface-200) 0,var(--color-surface-100) 50%,var(--color-surface-200) 100%);background-size:1000px 100%;animation:shimmer 2s infinite}.animate-glow{animation:glow 2s ease-in-out infinite}.animate-gradient-shift{background-size:200% 200%;animation:gradient-shift 8s ease infinite}.animate-spin{animation:spin 1s linear infinite}.hover-lift{transition:transform .3s ease,box-shadow .3s ease}.hover-lift:hover{transform:translateY(-5px);box-shadow:var(--shadow-xl)}.hover-scale{transition:transform .2s ease}.hover-scale:hover{transform:scale(1.05)}.hover-rotate{transition:transform .3s ease}.hover-rotate:hover{transform:rotate(5deg)}.hover-glow{transition:box-shadow .3s ease}.hover-glow:hover{box-shadow:0 0 20px rgba(var(--color-primary-500-rgb),.4)}.focus-ring{transition:outline .2s ease,outline-offset .2s ease}.focus-ring:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px;animation:pulse-subtle 1s ease-in-out}.stagger-delay-1{animation-delay:.1s}.stagger-delay-2{animation-delay:.2s}.stagger-delay-3{animation-delay:.3s}.stagger-delay-4{animation-delay:.4s}.stagger-delay-5{animation-delay:.5s}.gpu-accelerated{transform:translateZ(0);will-change:transform}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.animate-bounce-subtle,.animate-float,.animate-glow,.animate-gradient-shift,.animate-pulse,.animate-pulse-subtle,.animate-shimmer{animation:none!important}}.transition-colors{transition:color var(--transition-base),background-color var(--transition-base),border-color var(--transition-base)}.transition-transform{transition:transform var(--transition-base)}.transition-opacity{transition:opacity var(--transition-base)}.transition-all{transition:all var(--transition-base)}.active-press:active{transform:scale(.97)}.card-interactive{transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.card-interactive:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:var(--color-primary-400)}.link-underline{position:relative;text-decoration:none}.link-underline:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .3s ease}.link-underline:hover:after{transform:scaleX(1);transform-origin:left}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}.ripple-effect{position:relative;overflow:hidden}.ripple-effect:after{content:"";position:absolute;border-radius:50%;background:hsla(0,0%,100%,.6);width:100px;height:100px;margin-top:-50px;margin-left:-50px;top:50%;left:50%;animation:ripple .6s;opacity:0}.ripple-effect:active:after{animation:ripple .6s}