:root{--gradient-primary: linear-gradient(135deg, oklch(var(--p)), oklch(var(--s)));--gradient-accent: linear-gradient(135deg, oklch(var(--a)), oklch(var(--p)));--gradient-hero: linear-gradient(135deg, oklch(var(--p) / .15), oklch(var(--s) / .15), oklch(var(--a) / .1));--glass-bg: oklch(var(--b2) / .6);--glass-border: oklch(var(--bc) / .08);--glass-blur: 16px;--shadow-glow: 0 0 20px oklch(var(--p) / .15);--shadow-glow-lg: 0 0 40px oklch(var(--p) / .2);--transition-base: .3s cubic-bezier(.4, 0, .2, 1);--transition-spring: .5s cubic-bezier(.34, 1.56, .64, 1)}*{scroll-behavior:smooth}body{font-family:Outfit,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.text-fluid-xs{font-size:clamp(.75rem,.7rem + .25vw,.85rem)}.text-fluid-sm{font-size:clamp(.875rem,.8rem + .4vw,1rem)}.text-fluid-base{font-size:clamp(1rem,.95rem + .5vw,1.15rem)}.text-fluid-lg{font-size:clamp(1.125rem,1rem + .7vw,1.4rem)}.text-fluid-xl{font-size:clamp(1.25rem,1.1rem + 1vw,1.75rem)}.text-fluid-2xl{font-size:clamp(1.5rem,1.25rem + 1.8vw,2.5rem)}.text-fluid-3xl{font-size:clamp(1.8rem,1.4rem + 2.5vw,3.25rem)}.text-fluid-4xl{font-size:clamp(2.2rem,1.5rem + 3.5vw,4rem)}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 8px oklch(var(--p) / .2)}50%{box-shadow:0 0 24px oklch(var(--p) / .4)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes borderGlow{0%,to{border-color:oklch(var(--p) / .3)}50%{border-color:oklch(var(--p) / .7)}}.animate-slide-up{animation:slideUp .5s var(--transition-base) forwards}.animate-slide-in-r{animation:slideInRight .4s ease-out forwards}.animate-slide-in-l{animation:slideInLeft .4s ease-out forwards}.animate-fade-in-scale{animation:fadeInScale .4s ease-out forwards}.animate-pulse-glow{animation:pulseGlow 2s ease-in-out infinite}.animate-shimmer{animation:shimmer 2s linear infinite}.animate-float{animation:float 3s ease-in-out infinite}.animate-gradient{animation:gradientShift 4s ease infinite;background-size:200% 200%}.animate-fade-in{animation:fadeInScale .3s ease-out forwards}.stagger-item{opacity:0;animation:slideUp .4s ease-out forwards}.stagger-item:nth-child(1){animation-delay:.05s}.stagger-item:nth-child(2){animation-delay:.1s}.stagger-item:nth-child(3){animation-delay:.15s}.stagger-item:nth-child(4){animation-delay:.2s}.stagger-item:nth-child(5){animation-delay:.25s}.stagger-item:nth-child(6){animation-delay:.3s}.stagger-item:nth-child(7){animation-delay:.35s}.stagger-item:nth-child(8){animation-delay:.4s}.stagger-item:nth-child(9){animation-delay:.45s}.stagger-item:nth-child(10){animation-delay:.5s}.stagger-item:nth-child(11){animation-delay:.55s}.stagger-item:nth-child(12){animation-delay:.6s}.glass-card{background:oklch(var(--b1) / .85);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid oklch(var(--bc) / .15);box-shadow:0 4px 30px #00000026;color:oklch(var(--bc))}.glass-surface{background:oklch(var(--b1) / .9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid oklch(var(--bc) / .15);color:oklch(var(--bc))}.glass-header{background:oklch(var(--b2) / .95);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid oklch(var(--bc) / .2)}.glass-modal{background:oklch(var(--b2) / .95);backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);border:1px solid oklch(var(--bc) / .2)}.gradient-border{position:relative}.gradient-border:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:var(--gradient-primary);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity var(--transition-base);pointer-events:none}.gradient-border:hover:before{opacity:1}.gradient-text{color:oklch(var(--p));background-image:var(--gradient-primary, linear-gradient(135deg, #7c3aed, #ec4899));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gradient-bg{background:var(--gradient-hero)}.gradient-line{height:2px;background:var(--gradient-primary);border:none}.gradient-dot{width:8px;height:8px;border-radius:50%;background:var(--gradient-primary);display:inline-block}.card-hover-glow{transition:box-shadow var(--transition-base),transform var(--transition-base)}.card-hover-glow:hover{box-shadow:var(--shadow-glow)}.card-hover-lift{transition:transform var(--transition-base),box-shadow var(--transition-base)}.card-hover-lift:hover{transform:translateY(-4px);box-shadow:0 12px 40px #00000026}.btn-glow{transition:transform var(--transition-base),box-shadow var(--transition-base)}.btn-glow:hover{box-shadow:0 0 15px oklch(var(--p) / .4);transform:translateY(-1px)}*:focus-visible{outline:2px solid oklch(var(--p));outline-offset:2px}.link-underline{position:relative;text-decoration:none}.link-underline:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--gradient-primary);transition:width var(--transition-base)}.link-underline:hover:after{width:100%}.custom-scrollbar::-webkit-scrollbar{width:6px;height:6px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background:oklch(var(--bc) / .2);border-radius:10px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:oklch(var(--bc) / .35)}.section-padding{padding-left:1rem;padding-right:1rem}@media(min-width:640px){.section-padding{padding-left:1.5rem;padding-right:1.5rem}}@media(min-width:1024px){.section-padding{padding-left:2rem;padding-right:2rem}}.responsive-grid{display:grid;gap:1.5rem;grid-template-columns:1fr}@media(min-width:640px){.responsive-grid{grid-template-columns:repeat(2,1fr);gap:1.75rem}}@media(min-width:1024px){.responsive-grid{grid-template-columns:repeat(3,1fr);gap:2rem}}@media(min-width:1280px){.responsive-grid{grid-template-columns:repeat(4,1fr)}}.responsive-grid-3{display:grid;gap:1.5rem;grid-template-columns:1fr}@media(min-width:640px){.responsive-grid-3{grid-template-columns:repeat(2,1fr);gap:1.75rem}}@media(min-width:1024px){.responsive-grid-3{grid-template-columns:repeat(3,1fr);gap:2rem}}.modal-backdrop-blur{background:#00000080;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.modal-enter{animation:slideUp .35s ease-out forwards}.panel-slide-in{animation:slideInRight .3s ease-out forwards}.prose-container{max-width:72ch;margin-left:auto;margin-right:auto;line-height:1.8}.touch-target{min-height:44px;min-width:44px}.mesh-bg{position:relative;overflow:hidden}.mesh-bg:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 50%,oklch(var(--p) / .08) 0%,transparent 50%),radial-gradient(circle at 80% 20%,oklch(var(--s) / .08) 0%,transparent 50%),radial-gradient(circle at 40% 80%,oklch(var(--a) / .06) 0%,transparent 50%);pointer-events:none;z-index:0}.mesh-bg>*{position:relative;z-index:1}.stat-card{position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;top:-50%;right:-50%;width:100%;height:100%;background:radial-gradient(circle,oklch(var(--p) / .06) 0%,transparent 70%);pointer-events:none}.page-enter{animation:slideUp .4s ease-out}@media print{.glass-card,.glass-surface,.glass-header,.glass-modal{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff;border-color:#ccc}.gradient-text{-webkit-text-fill-color:currentColor;background:none}.animate-slide-up,.animate-fade-in-scale,.animate-float,.stagger-item{animation:none;opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
