*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}html{scroll-behavior:smooth}*:focus{outline:2px solid #23e099;outline-offset:2px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}.dark ::-webkit-scrollbar-track{background:#2d3748}.dark ::-webkit-scrollbar-thumb{background:#4a5568}.dark ::-webkit-scrollbar-thumb:hover{background:#718096}.container-responsive{width:100%;padding-left:1rem;padding-right:1rem;margin-left:auto;margin-right:auto}@media (min-width: 640px){.container-responsive{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width: 768px){.container-responsive{padding-left:2rem;padding-right:2rem}}@media (min-width: 1024px){.container-responsive{padding-left:2rem;padding-right:2rem}}.text-responsive-sm{font-size:.875rem;line-height:1.25rem}@media (min-width: 640px){.text-responsive-sm{font-size:1rem;line-height:1.5rem}}.text-responsive-base{font-size:1rem;line-height:1.5rem}@media (min-width: 640px){.text-responsive-base{font-size:1.125rem;line-height:1.75rem}}.text-responsive-lg{font-size:1.125rem;line-height:1.75rem}@media (min-width: 640px){.text-responsive-lg{font-size:1.25rem;line-height:1.75rem}}.text-responsive-xl{font-size:1.25rem;line-height:1.75rem}@media (min-width: 640px){.text-responsive-xl{font-size:1.5rem;line-height:2rem}}.text-responsive-2xl{font-size:1.5rem;line-height:2rem}@media (min-width: 640px){.text-responsive-2xl{font-size:1.875rem;line-height:2.25rem}}@media (min-width: 768px){.text-responsive-2xl{font-size:2.25rem;line-height:2.5rem}}.text-responsive-3xl{font-size:1.875rem;line-height:2.25rem}@media (min-width: 640px){.text-responsive-3xl{font-size:2.25rem;line-height:2.5rem}}@media (min-width: 768px){.text-responsive-3xl{font-size:3rem;line-height:1}}.text-responsive-4xl{font-size:2.25rem;line-height:2.5rem}@media (min-width: 640px){.text-responsive-4xl{font-size:3rem;line-height:1}}@media (min-width: 768px){.text-responsive-4xl{font-size:3.75rem;line-height:1}}.grid-responsive-auto{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width: 640px){.grid-responsive-auto{grid-template-columns:repeat(2,1fr);gap:1.5rem}}@media (min-width: 1024px){.grid-responsive-auto{grid-template-columns:repeat(3,1fr);gap:2rem}}@media (max-width: 768px){button,.btn,a[role=button]{min-height:44px;min-width:44px}.mobile-spacing{padding:1rem}body{font-size:16px;line-height:1.6}@media (hover: none){.hover\:shadow-lg:hover{box-shadow:none}.hover\:-translate-y-1:hover{transform:none}}}@media (max-width: 640px){.hero-padding{padding-top:2rem;padding-bottom:2rem}.animate-float,.animate-bounce,.animate-pulse,.animate-spin{animation-duration:2s}h1{line-height:1.2}h2{line-height:1.3}.mobile-grid-fix{grid-template-columns:1fr;gap:1rem}}@media (min-width: 641px) and (max-width: 1024px){.tablet-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}.tablet-text{font-size:1.125rem;line-height:1.7}}@media (min-width: 1441px){.container{max-width:1400px}.hero-container{max-width:1600px}}@media (prefers-reduced-motion: no-preference){.focus-smooth:focus{transition:all .2s ease-in-out}}@media (prefers-reduced-motion: reduce){.focus-smooth:focus{transition:none}*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes float-reverse{0%,to{transform:translateY(0)}50%{transform:translateY(20px)}}@keyframes pulse-soft{0%,to{opacity:.1;transform:scale(1)}50%{opacity:.3;transform:scale(1.05)}}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.animate-float{animation:float 3s ease-in-out infinite}.animate-float-reverse{animation:float-reverse 4s ease-in-out infinite}.animate-pulse-soft{animation:pulse-soft 2s ease-in-out infinite}.animate-gradient{background-size:200% 200%;animation:gradient-shift 8s ease infinite}.scroll-animate{opacity:0;transform:translateY(30px);transition:all .8s cubic-bezier(.25,.46,.45,.94)}.scroll-animate.animate{opacity:1;transform:translateY(0)}.fade-in{animation:fadeIn .6s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.scroll-margin-top{scroll-margin-top:80px}.animate-spin,.animate-pulse,.animate-bounce{will-change:transform}@media print{.no-print{display:none!important}body{font-size:12pt;line-height:1.4}h1,h2,h3{page-break-after:avoid}img{max-width:100%!important}}
