@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .8s ease-out forwards;opacity:0}.animate-fade-in-delay{animation:fadeIn .8s ease-out .3s forwards;opacity:0}.animate-fade-in-up{animation:fadeInUp .6s ease-out forwards;opacity:0}.fade-in-section{opacity:0;transform:translateY(30px);transition:opacity .6s ease-out,transform .6s ease-out}.fade-in-section.is-visible{opacity:1;transform:translateY(0)}.card-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.card-hover:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}:root{--primary:#1F4B7A;--primary-light:#2E5F91;--primary-dark:#1A4169;--primary-50:#f0f4f8;--primary-100:#d6e3f0;--primary-600:#1F4B7A;--primary-700:#1A4169;--accent:#F26A21;--accent-light:#F47A35;--accent-dark:#D85A1C;--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;--green:#10b981;--green-light:#34d399;--green-50:#ecfdf5;--green-100:#d1fae5;--orange:#F26A21;--orange-light:#F47A35;--orange-50:#fef5f1;--orange-100:#fed7c5;--red:#ef4444;--red-light:#f87171;--red-50:#fef2f2;--red-100:#fee2e2;--shadow-sm:0 1px 2px 0 rgba(0,0,0,0.05);--shadow:0 1px 3px 0 rgba(0,0,0,0.1),0 1px 2px 0 rgba(0,0,0,0.06);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,0.1),0 10px 10px -5px rgba(0,0,0,0.04);--radius:0.75rem;--radius-md:1rem;--radius-lg:1.25rem;--radius-xl:1.5rem;--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}.card{background:white;border:1px solid var(--gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all .2s ease}.card:hover{box-shadow:var(--shadow-md);border-color:var(--gray-300)}.card-elevated{box-shadow:var(--shadow-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:500;transition:all .2s ease;border:none;cursor:pointer;text-decoration:none}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:white;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:linear-gradient(135deg,var(--primary-dark),#6b21a8);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background:white;color:var(--gray-700);border:1px solid var(--gray-300)}.btn-secondary:hover{background:var(--gray-50);border-color:var(--gray-400)}.btn-lg{padding:1rem 2rem;font-size:var(--font-size-base)}.input{width:100%;padding:.75rem 1rem;border:1px solid var(--gray-300);border-radius:var(--radius-lg);font-size:var(--font-size-sm);transition:border-color .2s ease,box-shadow .2s ease;background:white}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(31,75,122,.1)}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:var(--font-size-xs);font-weight:500}.badge-green{background:var(--green-100);color:var(--green)}.badge-blue{background:var(--primary-100);color:var(--primary)}.badge-orange{background:var(--orange-100);color:var(--orange)}.header{background:white;border-bottom:1px solid var(--gray-200)}.header-sticky{position:fixed;top:0;left:0;right:0;z-index:50;backdrop-filter:blur(8px);background:rgba(255,255,255,.95);box-shadow:var(--shadow-sm)}.container{max-width:1200px;margin:0 auto;padding:0 1rem}@media (min-width:640px){.container{padding:0 1.5rem}}@media (min-width:1024px){.container{padding:0 2rem}}.text-primary{color:var(--primary)}.text-gray-600{color:var(--gray-600)}.text-gray-700{color:var(--gray-700)}.text-gray-900{color:var(--gray-900)}.section{padding:4rem 0}.section-lg{padding:6rem 0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:fadeIn .3s ease}.grid{display:grid;gap:1.5rem}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}