:root{--breakpoint-xs:475px;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px}@media (max-width:768px){html{font-size:14px}.touch-button{min-height:44px;min-width:44px}.mobile-nav{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;background:white;transform:translateX(-100%);transition:transform .3s ease-in-out}.mobile-nav.visible{transform:translateX(0)}.mobile-card{margin:.5rem;border-radius:.75rem;padding:1rem}.mobile-table{overflow-x:auto;-webkit-overflow-scrolling:touch}.mobile-form input,.mobile-form select,.mobile-form textarea{font-size:16px;padding:.75rem}}@media (min-width:769px) and (max-width:1024px){html{font-size:15px}.tablet-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.tablet-sidebar{width:240px}}@media (min-width:1025px){.desktop-hover:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(0,0,0,.1)}.desktop-sidebar{width:280px}}@media (hover:none) and (pointer:coarse){.hover\:bg-blue-50:hover,.hover\:scale-105:hover,.hover\:shadow-lg:hover{transform:none!important;box-shadow:none!important;background-color:inherit!important}.touch-friendly{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.retina-image{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}}@media print{.no-print{display:none!important}*{color:black!important;background:white!important}}.responsive-hidden-lg,.responsive-hidden-md,.responsive-hidden-sm,.responsive-hidden-xl,.responsive-hidden-xs{display:none}@media (min-width:475px){.responsive-hidden-xs{display:block}}@media (min-width:640px){.responsive-hidden-sm{display:block}}@media (min-width:768px){.responsive-hidden-md{display:block}}@media (min-width:1024px){.responsive-hidden-lg{display:block}}@media (min-width:1280px){.responsive-hidden-xl{display:block}}.responsive-block-lg,.responsive-block-md,.responsive-block-sm,.responsive-block-xl,.responsive-block-xs{display:block}@media (min-width:475px){.responsive-block-xs{display:none}}@media (min-width:640px){.responsive-block-sm{display:none}}@media (min-width:768px){.responsive-block-md{display:none}}@media (min-width:1024px){.responsive-block-lg{display:none}}@media (min-width:1280px){.responsive-block-xl{display:none}}.responsive-spacing-xs{padding:.5rem;margin:.5rem}.responsive-spacing-sm{padding:1rem;margin:1rem}.responsive-spacing-md{padding:1.5rem;margin:1.5rem}.responsive-spacing-lg{padding:2rem;margin:2rem}.responsive-spacing-xl{padding:3rem;margin:3rem}@media (min-width:640px){.responsive-spacing-xs{padding:1rem;margin:1rem}}@media (min-width:768px){.responsive-spacing-sm{padding:1.5rem;margin:1.5rem}}@media (min-width:1024px){.responsive-spacing-md{padding:2rem;margin:2rem}}@media (min-width:1280px){.responsive-spacing-lg{padding:3rem;margin:3rem}}.responsive-text-center{text-align:center}.responsive-text-left{text-align:left}.responsive-text-right{text-align:right}@media (min-width:640px){.responsive-text-center{text-align:left}}.responsive-container{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}@media (min-width:640px){.responsive-container{padding:0 1.5rem}}@media (min-width:1024px){.responsive-container{padding:0 2rem}}.responsive-grid{display:grid;gap:1rem}.responsive-grid-1,.responsive-grid-2,.responsive-grid-3,.responsive-grid-4{grid-template-columns:1fr}@media (min-width:640px){.responsive-grid-2,.responsive-grid-3,.responsive-grid-4{grid-template-columns:repeat(2,1fr)}}@media (min-width:768px){.responsive-grid-3,.responsive-grid-4{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){.responsive-grid-4{grid-template-columns:repeat(4,1fr)}}.responsive-nav{position:relative}.responsive-nav-mobile{display:block}.responsive-nav-desktop{display:none}@media (min-width:768px){.responsive-nav-mobile{display:none}.responsive-nav-desktop{display:block}}.responsive-img{width:100%;height:auto;object-fit:cover}.responsive-btn{padding:.5rem 1rem;font-size:.875rem;border-radius:.375rem}@media (min-width:640px){.responsive-btn{padding:.75rem 1.5rem;font-size:1rem;border-radius:.5rem}}@media (min-width:1024px){.responsive-btn{padding:1rem 2rem;font-size:1.125rem;border-radius:.75rem}}