@keyframes ripple{0%{opacity:.5;transform:scale(0)}to{opacity:0;transform:scale(4)}}.ripple{position:relative;overflow:hidden}.ripple:after{content:"";pointer-events:none;background:#ffffff80;border-radius:50%;width:100%;height:100%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.ripple:active:after{animation:.6s ease-out ripple}.hover-lift{transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0056b326}.smooth-scale{transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.smooth-scale:hover{transform:scale(1.1)}.glow-blue{transition:box-shadow .3s}.glow-blue:focus,.glow-blue:hover{box-shadow:0 0 0 4px #0056b31a,0 4px 12px #0056b333}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.shimmer{background:linear-gradient(90deg,#fff0 0%,#ffffff4d 50%,#fff0 100%) 0 0/200% 100%;animation:2s infinite shimmer}@keyframes pulse-scale{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.pulse-scale{animation:2s ease-in-out infinite pulse-scale}@keyframes bounce-y{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.bounce-y{animation:1.5s ease-in-out infinite bounce-y}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.5s ease-out forwards fade-in}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:.6s ease-out fade-in-up}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.fade-in-down{animation:.6s ease-out fade-in-down}@keyframes slide-in-right{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.slide-in-right{animation:.5s ease-out slide-in-right}@keyframes rotate-in{0%{opacity:0;transform:rotate(-10deg)scale(.9)}to{opacity:1;transform:rotate(0)scale(1)}}.rotate-in{animation:.5s cubic-bezier(.34,1.56,.64,1) rotate-in}.button-press{transition:transform .1s}.button-press:active{transform:scale(.95)}@keyframes border-glow{0%,to{border-color:#0056b3;box-shadow:0 0 8px #0056b34d}50%{border-color:#00b0f0;box-shadow:0 0 16px #00b0f080}}.border-glow{animation:2s ease-in-out infinite border-glow}@keyframes gradient-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.text-gradient-animate{background:linear-gradient(90deg,#0056b3,#00b0f0,#0056b3) 0 0/200%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;animation:3s infinite gradient-shift}@keyframes progress-indeterminate{0%{transform:translate(-100%)}to{transform:translate(400%)}}.progress-indeterminate:after{content:"";background:linear-gradient(90deg,#0000,#ffffff80,#0000);width:25%;animation:1.5s ease-in-out infinite progress-indeterminate;position:absolute;top:0;bottom:0;left:0}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}.skeleton-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite skeleton-pulse}@keyframes notification-slide-in{0%{opacity:0;transform:translate(calc(100% + 2rem))}to{opacity:1;transform:translate(0)}}@keyframes notification-slide-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(calc(100% + 2rem))}}.notification-enter{animation:.4s cubic-bezier(.16,1,.3,1) notification-slide-in}.notification-exit{animation:.3s cubic-bezier(.7,0,.84,0) notification-slide-out}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.float{animation:3s ease-in-out infinite float}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin}@keyframes ping{0%{opacity:1;transform:scale(1)}75%,to{opacity:0;transform:scale(2)}}.ping{animation:1.5s cubic-bezier(0,0,.2,1) infinite ping}*{transition-timing-function:cubic-bezier(.4,0,.2,1)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.hover-scale-subtle:hover{transform:scale(1.02)}.hover-scale-medium:hover{transform:scale(1.05)}.hover-scale-large:hover{transform:scale(1.1)}.hover-brightness:hover{filter:brightness(1.1)}.hover-opacity-80:hover{opacity:.8}.focus-ring-impact:focus{outline:none;box-shadow:0 0 0 3px #0056b34d}.transition-smooth{transition:all .3s cubic-bezier(.4,0,.2,1)}.transition-fast{transition:all .15s cubic-bezier(.4,0,.2,1)}.transition-slow{transition:all .5s cubic-bezier(.4,0,.2,1)}
.section-spacing-sm{padding-top:3rem;padding-bottom:3rem}@media (min-width:768px){.section-spacing-sm{padding-top:4rem;padding-bottom:4rem}}.section-spacing-md{padding-top:4rem;padding-bottom:4rem}@media (min-width:768px){.section-spacing-md{padding-top:5rem;padding-bottom:5rem}}.section-spacing-lg{padding-top:5rem;padding-bottom:5rem}@media (min-width:768px){.section-spacing-lg{padding-top:6rem;padding-bottom:6rem}}@media (min-width:1024px){.section-spacing-lg{padding-top:8rem;padding-bottom:8rem}}.section-spacing-xl{padding-top:6rem;padding-bottom:6rem}@media (min-width:768px){.section-spacing-xl{padding-top:8rem;padding-bottom:8rem}}@media (min-width:1024px){.section-spacing-xl{padding-top:10rem;padding-bottom:10rem}}.container-sm{max-width:48rem;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}@media (min-width:768px){.container-sm{padding-left:1.5rem;padding-right:1.5rem}}.container-md{max-width:64rem;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}@media (min-width:768px){.container-md{padding-left:1.5rem;padding-right:1.5rem}}.container-lg{max-width:80rem;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}@media (min-width:768px){.container-lg{padding-left:2rem;padding-right:2rem}}.container-full{width:100%;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}@media (min-width:768px){.container-full{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:1024px){.container-full{padding-left:2rem;padding-right:2rem}}.spacing-xs>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}@media (min-width:768px){.spacing-xs>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}}.spacing-sm>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}@media (min-width:768px){.spacing-sm>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}}.spacing-md>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}@media (min-width:768px){.spacing-md>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}}.spacing-lg>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}@media (min-width:768px){.spacing-lg>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem*var(--tw-space-y-reverse))}}.spacing-xl>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem*var(--tw-space-y-reverse))}@media (min-width:768px){.spacing-xl>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(4rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4rem*var(--tw-space-y-reverse))}}.grid-gap-sm{gap:1rem}@media (min-width:768px){.grid-gap-sm{gap:1.5rem}}.grid-gap-md{gap:1.5rem}@media (min-width:768px){.grid-gap-md{gap:2rem}}.grid-gap-lg{gap:2rem}@media (min-width:768px){.grid-gap-lg{gap:3rem}}.padding-card-sm{padding:1rem}@media (min-width:768px){.padding-card-sm{padding:1.5rem}}.padding-card-md{padding:1.5rem}@media (min-width:768px){.padding-card-md{padding:2rem}}.padding-card-lg{padding:2rem}@media (min-width:768px){.padding-card-lg{padding:2.5rem}}@media (min-width:1024px){.padding-card-lg{padding:3rem}}.margin-section-sm{margin-bottom:3rem}@media (min-width:768px){.margin-section-sm{margin-bottom:4rem}}.margin-section-md{margin-bottom:4rem}@media (min-width:768px){.margin-section-md{margin-bottom:5rem}}.margin-section-lg{margin-bottom:5rem}@media (min-width:768px){.margin-section-lg{margin-bottom:6rem}}@media (min-width:1024px){.margin-section-lg{margin-bottom:8rem}}.text-display-xl{font-size:3rem;font-weight:700;line-height:1.25}@media (min-width:768px){.text-display-xl{font-size:3.75rem;line-height:1}}@media (min-width:1024px){.text-display-xl{font-size:4.5rem;line-height:1}}.text-display-xl{font-family:Montserrat,sans-serif}.text-display-lg{font-size:2.25rem;font-weight:700;line-height:1.25}@media (min-width:768px){.text-display-lg{font-size:3rem;line-height:1}}@media (min-width:1024px){.text-display-lg{font-size:3.75rem;line-height:1}}.text-display-lg{font-family:Montserrat,sans-serif}.text-display-md{font-size:1.875rem;font-weight:700;line-height:1.25}@media (min-width:768px){.text-display-md{font-size:2.25rem;line-height:2.5rem}}@media (min-width:1024px){.text-display-md{font-size:3rem;line-height:1}}.text-display-md{font-family:Montserrat,sans-serif}.text-h1{font-size:2.25rem;font-weight:700;line-height:1.25}@media (min-width:768px){.text-h1{font-size:3rem;line-height:1}}@media (min-width:1024px){.text-h1{font-size:3.75rem;line-height:1}}.text-h1{font-family:Montserrat,sans-serif}.text-h2{font-size:1.875rem;font-weight:700;line-height:1.25}@media (min-width:768px){.text-h2{font-size:2.25rem;line-height:2.5rem}}@media (min-width:1024px){.text-h2{font-size:3rem;line-height:1}}.text-h2{font-family:Montserrat,sans-serif}.text-h3{font-size:1.5rem;font-weight:600;line-height:1.375}@media (min-width:768px){.text-h3{font-size:1.875rem;line-height:2.25rem}}@media (min-width:1024px){.text-h3{font-size:2.25rem;line-height:2.5rem}}.text-h3{font-family:Montserrat,sans-serif}.text-h4{font-size:1.25rem;font-weight:600;line-height:1.375}@media (min-width:768px){.text-h4{font-size:1.5rem;line-height:2rem}}@media (min-width:1024px){.text-h4{font-size:1.875rem;line-height:2.25rem}}.text-h4{font-family:Montserrat,sans-serif}.text-h5{font-size:1.125rem;font-weight:600;line-height:1.375}@media (min-width:768px){.text-h5{font-size:1.25rem;line-height:1.75rem}}@media (min-width:1024px){.text-h5{font-size:1.5rem;line-height:2rem}}.text-h5{font-family:Montserrat,sans-serif}.text-h6{font-size:1rem;font-weight:600;line-height:1.5}@media (min-width:768px){.text-h6{font-size:1.125rem;line-height:1.75rem}}@media (min-width:1024px){.text-h6{font-size:1.25rem;line-height:1.75rem}}.text-h6{font-family:Montserrat,sans-serif}.text-body-xl{font-size:1.125rem;line-height:1.625}@media (min-width:768px){.text-body-xl{font-size:1.25rem;line-height:1.75rem}}.text-body-lg{font-size:1rem;line-height:1.625}@media (min-width:768px){.text-body-lg{font-size:1.125rem;line-height:1.75rem}}.text-body-md{font-size:1rem;line-height:1.625}.text-body-sm{font-size:.875rem;line-height:1.625}@media (min-width:768px){.text-body-sm{font-size:1rem;line-height:1.5rem}}.text-body-xs{font-size:.75rem;line-height:1.5}@media (min-width:768px){.text-body-xs{font-size:.875rem;line-height:1.25rem}}.text-label-lg{font-size:.875rem;font-weight:500;line-height:1.25rem}@media (min-width:768px){.text-label-lg{font-size:1rem;line-height:1.5rem}}.text-label-md{font-size:.875rem;font-weight:500;line-height:1.25rem}.text-label-sm{font-size:.75rem;font-weight:500;line-height:1rem}@media (min-width:768px){.text-label-sm{font-size:.875rem;line-height:1.25rem}}.text-caption-lg{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1));font-size:.875rem;line-height:1.25rem}.text-caption-md{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1));font-size:.75rem;line-height:1rem}@media (min-width:768px){.text-caption-md{font-size:.875rem;line-height:1.25rem}}.text-caption-sm{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1));font-size:.75rem;line-height:1rem}.text-impact-blue{--tw-text-opacity:1;color:rgb(0 86 179/var(--tw-text-opacity,1))}.text-impact-blue-light{--tw-text-opacity:1;color:rgb(0 176 240/var(--tw-text-opacity,1))}.text-impact-blue-dark{--tw-text-opacity:1;color:rgb(0 58 130/var(--tw-text-opacity,1))}.text-impact-green{--tw-text-opacity:1;color:rgb(46 139 87/var(--tw-text-opacity,1))}.text-impact-gray{--tw-text-opacity:1;color:rgb(74 74 74/var(--tw-text-opacity,1))}.text-impact-gray-light{--tw-text-opacity:1;color:rgb(108 117 125/var(--tw-text-opacity,1))}.bg-impact-blue{--tw-bg-opacity:1;background-color:rgb(0 86 179/var(--tw-bg-opacity,1))}.bg-impact-blue-light{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-impact-gradient-blue{background:linear-gradient(135deg,#0056b3 0%,#003a82 100%)}.bg-impact-gradient-accent{background:linear-gradient(135deg,#0056b3 0%,#00b0f0 100%)}.btn-base{border-radius:12px;justify-content:center;align-items:center;font-weight:500;transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-base:focus{outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-offset-width:2px;outline:2px solid #0000}.btn-base:disabled{cursor:not-allowed;opacity:.5}.btn-sm{padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem}.btn-md{padding:.75rem 1.5rem;font-size:1rem;line-height:1.5rem}.btn-lg{padding:1rem 2rem;font-size:1.125rem;line-height:1.75rem}.btn-xl{padding:1.25rem 2.5rem;font-size:1.25rem;line-height:1.75rem}.card-base{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));--tw-shadow:0 4px 6px -1px #0056b31a,0 2px 4px -2px #0056b31a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);border-radius:16px;transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.card-hover:hover{--tw-translate-y:-.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y));--tw-shadow:0 10px 15px -3px #0056b31a,0 4px 6px -4px #0056b31a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.card-padding-sm{padding:1rem}@media (min-width:768px){.card-padding-sm{padding:1.5rem}}.card-padding-md{padding:1.5rem}@media (min-width:768px){.card-padding-md{padding:2rem}}.card-padding-lg{padding:2rem}@media (min-width:768px){.card-padding-lg{padding:2.5rem}}.input-base{--tw-border-opacity:1;border-width:2px;border-color:rgb(229 231 235/var(--tw-border-opacity,1));border-radius:12px;width:100%;padding:.75rem 1rem;transition-property:all;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.input-base:focus{--tw-border-opacity:1;border-color:rgb(0 86 179/var(--tw-border-opacity,1));--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(4px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:#0056b31a}.input-error{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.input-error:focus{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1));--tw-ring-color:#ef44441a}.input-success{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.input-success:focus{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1));--tw-ring-color:#22c55e1a}.label-base{--tw-text-opacity:1;color:rgb(74 74 74/var(--tw-text-opacity,1));margin-bottom:.5rem;font-size:.875rem;font-weight:500;line-height:1.25rem;display:block}.mobile-only{display:block}@media (min-width:768px){.mobile-only{display:none}}.tablet-up{display:none}@media (min-width:768px){.tablet-up{display:block}}.desktop-only{display:none}@media (min-width:1024px){.desktop-only{display:block}}.flex-responsive{flex-direction:column}@media (min-width:768px){.flex-responsive{flex-direction:row}}.flex-responsive-reverse{flex-direction:column-reverse}@media (min-width:768px){.flex-responsive-reverse{flex-direction:row}}.text-responsive-center{text-align:center}@media (min-width:768px){.text-responsive-center{text-align:left}}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:16/9}.aspect-4-3{aspect-ratio:4/3}.aspect-16-10{aspect-ratio:16/10}.rounded-impact-sm{border-radius:8px}.rounded-impact-md{border-radius:12px}.rounded-impact-lg{border-radius:16px}.rounded-impact-xl{border-radius:24px}.shadow-impact-sm{box-shadow:0 2px 4px #0056b31a}.shadow-impact-md{box-shadow:0 4px 12px #0056b326}.shadow-impact-lg{box-shadow:0 8px 24px #0056b333}.shadow-impact-xl{box-shadow:0 12px 32px #0056b340}.z-dropdown{z-index:10}.z-sticky{z-index:20}.z-fixed{z-index:30}.z-modal-backdrop{z-index:40}.z-modal{z-index:50}.z-popover{z-index:60}.z-tooltip{z-index:70}.truncate-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.truncate-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.truncate-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.scrollbar-thin{scrollbar-width:thin;scrollbar-color:#0056b3 #f8fafc}.scrollbar-thin::-webkit-scrollbar{width:6px;height:6px}.scrollbar-thin::-webkit-scrollbar-track{background:#f8fafc}.scrollbar-thin::-webkit-scrollbar-thumb{background:#0056b3;border-radius:3px}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background:#004494}@media print{.no-print{display:none!important}.print-break-before{page-break-before:always}.print-break-after{page-break-after:always}}
