@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Space+Grotesk:wght@400;500;700&display=swap");:root{--blue-50:#eff6ff;--blue-100:#dbeafe;--blue-200:#bfdbfe;--blue-300:#93c5fd;--blue-400:#60a5fa;--blue-500:#3b82f6;--blue-600:#2563eb;--blue-700:#1d4ed8;--blue-800:#1e40af;--blue-900:#1e3a8a;--cyan-50:#ecfeff;--cyan-100:#cffafe;--cyan-200:#a5f3fc;--cyan-300:#67e8f9;--cyan-400:#22d3ee;--cyan-500:#06b6d4;--cyan-600:#0891b2;--indigo-50:#eef2ff;--indigo-100:#e0e7ff;--indigo-200:#c7d2fe;--indigo-300:#a5b4fc;--indigo-400:#818cf8;--indigo-500:#6366f1;--indigo-600:#4f46e5;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--bg-primary:#ffffff;--bg-secondary:#fafbfc;--bg-tertiary:#f0f9ff;--bg-gradient:linear-gradient(135deg,#f0f9ff,#e0f2fe 50%,#f0f9ff);--text-primary:var(--gray-900);--text-secondary:var(--gray-700);--text-tertiary:var(--gray-600);--text-accent:var(--blue-600);--border-light:var(--gray-200);--border-medium:var(--gray-300);--space-xs:0.5rem;--space-sm:0.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:1.5rem;--space-2xl:2rem;--space-3xl:3rem;--space-4xl:4rem;--space-5xl:6rem;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-display:"Space Grotesk",var(--font-sans);--text-xs:clamp(0.75rem,0.7rem + 0.25vw,0.875rem);--text-sm:clamp(0.875rem,0.8rem + 0.375vw,1rem);--text-base:clamp(1rem,0.95rem + 0.25vw,1.125rem);--text-lg:clamp(1.125rem,1.05rem + 0.375vw,1.25rem);--text-xl:clamp(1.25rem,1.15rem + 0.5vw,1.5rem);--text-2xl:clamp(1.5rem,1.35rem + 0.75vw,2rem);--text-3xl:clamp(2rem,1.75rem + 1.25vw,2.5rem);--text-4xl:clamp(2.5rem,2rem + 2.5vw,3.5rem);--text-5xl:clamp(3rem,2.25rem + 3.75vw,4.5rem);--text-6xl:clamp(3.5rem,2.5rem + 5vw,5rem);--shadow-xs:0 1px 2px 0 rgb(0 0 0/0.05);--shadow-sm:0 1px 3px 0 rgb(0 0 0/0.1),0 1px 2px -1px rgb(0 0 0/0.1);--shadow-md:0 4px 6px -1px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.1);--shadow-lg:0 10px 15px -3px rgb(0 0 0/0.1),0 4px 6px -4px rgb(0 0 0/0.1);--shadow-xl:0 20px 25px -5px rgb(0 0 0/0.1),0 8px 10px -6px rgb(0 0 0/0.1);--shadow-2xl:0 25px 50px -12px rgb(0 0 0/0.25);--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:300ms cubic-bezier(0.4,0,0.2,1);--transition-slow:500ms cubic-bezier(0.4,0,0.2,1);--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:1.6;background-color:var(--bg-primary);overflow-x:hidden}body,h1,h2,h3,h4,h5,h6{color:var(--text-primary)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.1;margin-bottom:var(--space-md);letter-spacing:-.02em}h1{font-size:var(--text-6xl);font-weight:800}h2{font-size:var(--text-4xl)}h3{font-size:var(--text-3xl)}h4{font-size:var(--text-2xl)}h5{font-size:var(--text-xl)}h6{font-size:var(--text-lg)}p{margin-bottom:var(--space-lg);color:var(--text-secondary);line-height:1.75}a{color:var(--blue-600);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--blue-700)}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 var(--space-lg)}@media (min-width:768px){.container{padding:0 var(--space-xl)}}@media (min-width:1280px){.container{padding:0 var(--space-2xl)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-2xl);font-size:var(--text-base);font-weight:600;text-align:center;text-decoration:none;border:2px solid transparent;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;min-height:48px;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.2) 50%,transparent 70%);transform:translateX(-100%);transition:transform .6s}.btn:hover:before{transform:translateX(100%)}.btn-primary{background:linear-gradient(135deg,var(--blue-600) 0,var(--blue-700) 100%);color:white;box-shadow:0 4px 14px 0 rgba(37,99,235,.25)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px 0 rgba(37,99,235,.35)}.btn-secondary{background-color:transparent;color:var(--blue-600);border-color:var(--blue-200)}.btn-secondary:hover{background-color:var(--blue-50);border-color:var(--blue-300);transform:translateY(-1px)}.btn-white{background-color:rgba(255,255,255,.95);color:var(--blue-700);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-white:hover{background-color:white;transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card{background-color:white;border-radius:var(--radius-xl);padding:var(--space-2xl);box-shadow:0 1px 3px 0 rgb(0 0 0/.05),0 1px 2px -1px rgb(0 0 0/.05);transition:all var(--transition-base);border:1px solid rgba(0,0,0,.05);position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--blue-500),var(--cyan-500));transform:scaleX(0);transform-origin:left;transition:transform var(--transition-base)}.card:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px rgb(0 0 0/.08),0 8px 10px -6px rgb(0 0 0/.08);border-color:rgba(59,130,246,.15)}.card:hover:before{transform:scaleX(1)}.glass{background:rgba(255,255,255,.7);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3)}.section{padding:var(--space-3xl) 0;position:relative}@media (min-width:768px){.section{padding:var(--space-4xl) 0}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-balance{text-wrap:balance}.text-gradient{background:linear-gradient(135deg,var(--blue-600) 0,var(--cyan-600) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-accent{color:var(--blue-600)}.text-muted{color:var(--text-tertiary)}.text-sm{font-size:var(--text-sm)}.text-lg{font-size:var(--text-lg)}.uppercase{text-transform:uppercase;letter-spacing:.05em}.mt-0{margin-top:0}.mt-1{margin-top:var(--space-xs)}.mt-2{margin-top:var(--space-sm)}.mt-3{margin-top:var(--space-md)}.mt-4{margin-top:var(--space-lg)}.mt-5{margin-top:var(--space-xl)}.mt-6{margin-top:var(--space-2xl)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--space-xs)}.mb-2{margin-bottom:var(--space-sm)}.mb-3{margin-bottom:var(--space-md)}.mb-4{margin-bottom:var(--space-lg)}.mb-5{margin-bottom:var(--space-xl)}.mb-6{margin-bottom:var(--space-2xl)}.grid{display:grid;grid-gap:var(--space-xl);gap:var(--space-xl)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.flex{display:flex}.flex-center{justify-content:center}.flex-between,.flex-center{display:flex;align-items:center}.flex-between{justify-content:space-between}.flex-col{flex-direction:column}.gap-1{gap:var(--space-xs)}.gap-2{gap:var(--space-sm)}.gap-3{gap:var(--space-md)}.gap-4{gap:var(--space-lg)}.gap-5{gap:var(--space-xl)}.gap-6{gap:var(--space-2xl)}.badge{display:inline-flex;align-items:center;padding:var(--space-xs) var(--space-md);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-full);background-color:var(--blue-100);color:var(--blue-700)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:focus-visible{outline:2px solid var(--blue-500);outline-offset:2px}::selection{background-color:var(--blue-100);color:var(--blue-900)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--gray-400);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--gray-500)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-40px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes slideInLeft{0%{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes slideInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}@keyframes typewriter{0%{width:0}to{width:100%}}@keyframes wave{0%,to{transform:scaleY(1)}50%{transform:scaleY(.5)}}@keyframes bounce{0%,to{transform:translateY(0)}25%{transform:translateY(-20px)}50%{transform:translateY(-10px)}75%{transform:translateY(-15px)}}@keyframes morphing{0%{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}50%{border-radius:30% 60% 70% 40%/50% 60% 30% 60%}to{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}}.animate-fade-in{animation:fadeIn .6s ease-out forwards}.animate-fade-in-up{animation:fadeInUp .8s ease-out forwards}.animate-fade-in-down{animation:fadeInDown .8s ease-out forwards}.animate-fade-in-left{animation:fadeInLeft .8s ease-out forwards}.animate-fade-in-right{animation:fadeInRight .8s ease-out forwards}.animate-scale-in{animation:scaleIn .6s ease-out forwards}.animate-slide-in-left{animation:slideInLeft .6s ease-out forwards}.animate-slide-in-right{animation:slideInRight .6s ease-out forwards}.animate-float{animation:float 6s ease-in-out infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-rotate{animation:rotate 20s linear infinite}.animate-gradient-shift{background-size:400% 400%;animation:gradientShift 15s ease infinite}.animate-blink{animation:blink 1.5s ease-in-out infinite}.animate-bounce{animation:bounce 2s ease-in-out infinite}.animate-morph{animation:morphing 8s ease-in-out infinite}.animate-stagger>*{opacity:0;animation:fadeInUp .6s ease-out forwards}.animate-stagger>:first-child{animation-delay:.1s}.animate-stagger>:nth-child(2){animation-delay:.2s}.animate-stagger>:nth-child(3){animation-delay:.3s}.animate-stagger>:nth-child(4){animation-delay:.4s}.animate-stagger>:nth-child(5){animation-delay:.5s}.animate-stagger>:nth-child(6){animation-delay:.6s}.animate-stagger>:nth-child(7){animation-delay:.7s}.animate-stagger>:nth-child(8){animation-delay:.8s}.hover-lift{transition:transform .3s ease,box-shadow .3s ease}.hover-lift:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,0,0,.1)}.hover-scale{transition:transform .3s ease}.hover-scale:hover{transform:scale(1.05)}.hover-rotate{transition:transform .3s ease}.hover-rotate:hover{transform:rotate(5deg)}.loading-dots{display:inline-flex;gap:4px}.loading-dots span{width:8px;height:8px;border-radius:50%;background-color:currentColor;animation:wave 1.4s ease-in-out infinite}.loading-dots span:first-child{animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}.loading-dots span:nth-child(3){animation-delay:0}.shimmer{position:relative;overflow:hidden}.shimmer:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 2s infinite}.animate-on-scroll{opacity:0;transform:translateY(30px);transition:opacity .6s ease-out,transform .6s ease-out}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}.animate-on-scroll-left{opacity:0;transform:translateX(-50px);transition:opacity .6s ease-out,transform .6s ease-out}.animate-on-scroll-left.visible{opacity:1;transform:translateX(0)}.animate-on-scroll-right{opacity:0;transform:translateX(50px);transition:opacity .6s ease-out,transform .6s ease-out}.animate-on-scroll-right.visible{opacity:1;transform:translateX(0)}.animate-on-scroll-scale{opacity:0;transform:scale(.8);transition:opacity .6s ease-out,transform .6s ease-out}.animate-on-scroll-scale.visible{opacity:1;transform:scale(1)}.counter{display:inline-block;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tech-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(37,99,235,.03) 1px,transparent 0),linear-gradient(90deg,rgba(37,99,235,.03) 1px,transparent 0);background-size:50px 50px;animation:gridMove 20s linear infinite}@keyframes gridMove{0%{transform:translate(0)}to{transform:translate(50px,50px)}}.gradient-text-animate{background:linear-gradient(90deg,var(--blue-600),var(--cyan-600),var(--indigo-600),var(--blue-600));background-size:300% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShift 3s ease infinite}