*,*:before,*:after{box-sizing:border-box}html{height:100%;font-size:90%;-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-gutter:stable}body{margin:0;min-height:100%;line-height:1.45;letter-spacing:-.01em;font-kerning:normal;text-rendering:optimizeLegibility}#root{min-height:100%;width:100%;overflow-x:hidden}#root :where(h1,h2,h3,h4,h5,h6){line-height:1.15;letter-spacing:-.02em}#root :where(p,li,label,button,input,textarea,select){line-height:1.45}img,svg,video,canvas{display:block;max-width:100%}a,button,input,textarea,select{-webkit-tap-highlight-color:transparent}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.dark .custom-scrollbar{scrollbar-color:#334155 transparent}.custom-scrollbar::-webkit-scrollbar{width:8px;height:8px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.dark .custom-scrollbar::-webkit-scrollbar-thumb{background:#334155}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#94a3b8}.animation-delay-100{animation-delay:.1s}.animation-delay-150{animation-delay:.15s}.animation-delay-300{animation-delay:.3s}.animation-delay-2000{animation-delay:2s}.animation-delay-4000{animation-delay:4s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fadeIn .24s ease-out both}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.animate-slide-up{animation:slideUp .32s cubic-bezier(.22,1,.36,1) both}@keyframes scaleUp{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.animate-scale-up{animation:scaleUp .22s ease-out both}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.animate-shake{animation:shake .3s ease-in-out}@keyframes gridPan{0%{background-position:0 0,0 0}to{background-position:40px 40px,40px 40px}}.animate-grid{animation:gridPan 14s linear infinite}@keyframes gradientX{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.animate-gradient-x{background-size:200% 200%;animation:gradientX 6s ease infinite}@keyframes heroBlobDrift{0%,to{transform:translateZ(0)}50%{transform:translate3d(12px,-10px,0)}}.animate-hero-blob{animation:heroBlobDrift 18s ease-in-out infinite;will-change:transform;transform:translateZ(0)}@keyframes heroCardFloat{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,-12px,0)}}.animate-hero-card{animation:heroCardFloat 8.5s ease-in-out infinite;will-change:transform;transform:translateZ(0)}.animate-gradient-x-soft{background-size:200% 200%;animation:gradientX 12s linear infinite}@keyframes cvScanSweep{0%{top:-14%;opacity:0}8%{opacity:1}92%{opacity:1}to{top:106%;opacity:0}}.scan-line{position:absolute;inset-inline:0;top:-14%;height:5.5rem;pointer-events:none;background:linear-gradient(to bottom,#6366f100,#6366f129 42%,#6366f157,#6366f129 58%,#6366f100);box-shadow:0 0 24px #6366f133;animation:cvScanSweep 2.15s linear infinite;will-change:top,opacity}.landing-animations-paused .animate-blob,.landing-animations-paused .animate-hero-blob,.landing-animations-paused .animate-hero-card,.landing-animations-paused .animate-marquee,.landing-animations-paused .animate-float,.landing-animations-paused .animate-bounce,.landing-animations-paused .animate-pulse,.landing-animations-paused .animate-gradient-x,.landing-animations-paused .animate-gradient-x-soft,.landing-animations-paused [class*="animate-[float_"],.landing-animations-paused [class*="animate-[scan_"]{animation-play-state:paused!important}@media(prefers-reduced-motion:reduce){.animate-hero-blob,.animate-hero-card,.animate-gradient-x-soft{animation:none!important}.scan-line{animation:none!important;opacity:.7}}.line-clamp-2{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.line-clamp-3{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}@media(min-width:640px){.sm\:line-clamp-none{display:block;overflow:visible;-webkit-line-clamp:unset}}@media(max-width:1024px){html{font-size:91%;-webkit-text-size-adjust:100%;text-size-adjust:100%}}@media(max-width:768px){html{font-size:88%}}@media(max-width:480px){html{font-size:86%}}
