:root{--background:210 20% 98%;--foreground:215 40% 15%;--primary:210 75% 45%;--primary-foreground:0 0% 100%;--primary-light:205 70% 55%;--primary-dark:215 80% 32%;--accent:200 80% 55%;--accent-foreground:0 0% 100%;--heading:215 50% 20%;--card:0 0% 100%;--card-foreground:215 40% 15%;--popover:0 0% 100%;--popover-foreground:215 40% 15%;--secondary:210 20% 94%;--secondary-foreground:215 40% 20%;--muted:210 15% 92%;--muted-foreground:215 15% 45%;--destructive:0 70% 50%;--destructive-foreground:0 0% 100%;--border:210 20% 88%;--input:210 20% 88%;--ring:210 75% 45%;--radius:0.5rem;--gradient-warm:linear-gradient(135deg,#f9fafb,#eff2f5);--gradient-luxury:linear-gradient(135deg,#1d73c9,#104793);--gradient-accent:linear-gradient(135deg,#30abe8,#1d73c9);--shadow-sm:0 1px 2px 0 rgba(23,36,54,.04);--shadow-md:0 4px 12px -2px rgba(23,36,54,.08);--shadow-lg:0 12px 24px -4px rgba(23,36,54,.1);--shadow-xl:0 24px 48px -8px rgba(23,36,54,.12);--shadow-primary:0 8px 24px -6px rgba(29,115,201,.35);--shadow-accent:0 8px 24px -6px rgba(48,171,232,.3)}*,:after,:before{border-color:hsl(var(--border))}html{scroll-behavior:smooth}body{font-weight:400;letter-spacing:-.02em;line-height:1.6}body,h1,h2,h3,h4,h5,h6{font-family:Plus Jakarta Sans,sans-serif}h1,h2,h3,h4,h5,h6{color:hsl(var(--heading));font-weight:800;letter-spacing:-.03em}li{font-weight:500}svg{display:inline-block;vertical-align:middle}.bg-gradient-warm{background:var(--gradient-warm)}.bg-gradient-luxury{background:var(--gradient-luxury)}.bg-gradient-accent{background:var(--gradient-accent)}.bg-primary-dark{background-color:hsl(var(--primary-dark))}.shadow-primary{box-shadow:var(--shadow-primary)}.shadow-accent{box-shadow:var(--shadow-accent)}.shadow-card{box-shadow:var(--shadow-md)}.shadow-card-hover,.shadow-elegant{box-shadow:var(--shadow-lg)}.decorative-line{background:var(--gradient-accent);border-radius:9999px;height:.125rem;width:4rem}.btn-hero{align-items:center;background:var(--gradient-luxury);border-radius:calc(var(--radius) - 4px);box-shadow:var(--shadow-primary);color:hsl(var(--primary-foreground));display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s}.btn-hero:hover{opacity:.9;transform:translateY(-1px)}.btn-hero-xl{align-items:center;background:var(--gradient-luxury);border-radius:calc(var(--radius) - 4px);box-shadow:var(--shadow-primary);color:hsl(var(--primary-foreground));display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:1rem 2rem;text-decoration:none;transition:all .3s}.btn-hero-xl:hover{opacity:.9;transform:translateY(-1px)}.btn-elegant{align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 4px);color:hsl(var(--foreground));display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s}.btn-elegant:hover{background:hsl(var(--secondary))}.btn-elegant-xl{align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 4px);color:hsl(var(--foreground));display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:1rem 2rem;text-decoration:none;transition:all .3s}.btn-elegant-xl:hover{background:hsl(var(--secondary))}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.animate-fade-in{animation:fadeIn .7s ease-out forwards}.animate-fade-in-up{animation:fadeInUp .7s ease-out forwards}.animate-fade-in-down{animation:fadeInDown .6s ease-out forwards}.animate-scale-in{animation:scaleIn .6s ease-out forwards}.animate-float{animation:float 5s ease-in-out infinite}.animation-delay-100{animation-delay:.1s}.animation-delay-200{animation-delay:.2s}.animation-delay-300{animation-delay:.3s}.animation-delay-400{animation-delay:.4s}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.header-scrolled{box-shadow:var(--shadow-lg);padding-bottom:.5rem;padding-top:.5rem}.header-scrolled .header-logo{height:3rem}