@keyframes cmplz-fadein { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}

@keyframes headShake { 
  0% { transform: translateX(0px); }
  6.5% { transform: translateX(-6px) rotateY(-9deg); }
  18.5% { transform: translateX(5px) rotateY(7deg); }
  31.5% { transform: translateX(-3px) rotateY(-5deg); }
  43.5% { transform: translateX(2px) rotateY(3deg); }
  50% { transform: translateX(0px); }
}

@keyframes eicon-spin { 
  0% { transform: rotate(0deg); }
  100% { transform: rotate(359deg); }
}

@keyframes hide-scroll { 
  0%, 100% { overflow: hidden; }
}

@-webkit-keyframes mc_slideIn { 
  100% { bottom: 0px; }
}

@keyframes mc_slideIn { 
  100% { bottom: 0px; }
}

@-webkit-keyframes mc_slideOut { 
  100% { bottom: var(--cmplz-manage-consent-offset); }
}

@keyframes mc_slideOut { 
  100% { bottom: var(--cmplz-manage-consent-offset); }
}

@keyframes fadeIn { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}

@-webkit-keyframes fadeIn { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}

@-webkit-keyframes slideIn { 
  100% { bottom: 0px; }
}

@keyframes slideIn { 
  100% { bottom: 0px; }
}

@keyframes GlobalLoaderAnimation { 
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

@-webkit-keyframes GlobalLoaderAnimation { 
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

@keyframes R-fadeIn { 
  0% { opacity: 1; transform: scale(4.95) translate(44%, 43.9%); }
  50% { opacity: 0.8; transform: scale(4.25) translate(44%, 43.9%); }
  100% { opacity: 1; transform: scale(4.95) translate(44%, 43.9%); }
}

@keyframes R-draw { 
  0% { transform: scale(0.9); stroke-dashoffset: 0; }
  50% { opacity: 0.8; transform: scale(0.8); stroke-dashoffset: 1000; }
  100% { transform: scale(0.9); stroke-dashoffset: 0; }
}

@keyframes ColouredProgressBar { 
  0% { background-position: 100% center; }
  100% { background-position: 0px center; }
}

@keyframes CircleSpin { 
  0% { transform: rotate(0deg); }
  100% { transform: rotate(359deg); }
}

@-webkit-keyframes CircleSpin { 
  0% { transform: rotate(0deg); }
  100% { transform: rotate(359deg); }
}

@keyframes staticZoomInOut--sm { 
  0% { transform: translateY(0px) scale(0.92); }
  50% { transform: translateY(0px) scale(1); }
  100% { transform: translateY(0px) scale(0.92); }
}

@keyframes staticZoomInOut--md { 
  0% { transform: translateY(0px) scale(0.8); }
  50% { transform: translateY(0px) scale(1); }
  100% { transform: translateY(0px) scale(0.8); }
}

@keyframes R-shakeAnimation--md { 
  0% { transform: rotateZ(-6deg); }
  25% { transform: rotateZ(6deg); }
  50% { transform: rotateZ(-6deg); }
  75% { transform: rotateZ(6deg); }
  100% { transform: rotateZ(0deg); }
}


/* Universal Preloader Killer & Reveal Enforcer */
html[data-app-loading], html[data-loading], body { overflow: visible !important; }
.app-loader-shell, #app-initial-loader, .preloader, #preloader, [class*="preloader"], [id*="preloader"], [class*="page-loader"], [id*="page-loader"], [class*="loading-overlay"] {
    display: none !important; opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; z-index: -99999 !important;
}
.reveal, .reveal.in, [class*="reveal"] {
    opacity: 1 !important; transform: none !important; translate: none !important; visibility: visible !important;
}

/* Universal Services Dropdown Menu on Hover */
.site-nav__links li.relative { position: relative !important; }
.services-dropdown-menu {
  display: none; position: absolute; top: calc(100% + 4px); left: 50%;
  transform: translateX(-50%) translateY(6px); width: 580px;
  background: #ffffff !important; border: 1px solid #e2e8f0 !important;
  border-radius: 18px !important; box-shadow: 0 20px 48px -8px rgba(0,83,159,0.16), 0 4px 16px rgba(0,0,0,0.06) !important;
  padding: 16px !important; z-index: 9999999 !important; opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity 0.2s cubic-bezier(0.2,0,0,1), transform 0.2s cubic-bezier(0.2,0,0,1), visibility 0.2s;
}
.services-dropdown-menu::before {
  content: ""; position: absolute; top: -16px; left: 0; right: 0; height: 16px; background: transparent;
}
.site-nav__links li.relative:hover .services-dropdown-menu,
.services-dropdown-menu:hover,
.site-nav__links li.relative.dropdown-open .services-dropdown-menu {
  display: block !important; opacity: 1 !important; visibility: visible !important; pointer-events: auto !important;
  transform: translateX(-50%) translateY(0) !important;
}
.site-nav__links li.relative:hover .mega-chevron,
.site-nav__links li.relative.dropdown-open .mega-chevron {
  transform: rotate(180deg) !important;
}
.site-nav__links li.relative:hover .site-nav__link--has-mega {
  color: var(--creiden-blue, #00539f) !important;
}
.dropdown-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.dropdown-item {
  display: flex !important; align-items: flex-start !important; gap: 12px !important;
  padding: 10px 12px !important; border-radius: 12px !important; text-decoration: none !important;
  transition: background 0.18s ease, transform 0.18s ease !important;
}
.dropdown-item:hover { background: #f8fafc !important; transform: translateX(3px) !important; }
.dropdown-icon {
  display: grid !important; place-items: center !important; width: 38px !important; height: 38px !important;
  border-radius: 10px !important; flex-shrink: 0 !important;
}
.bg-creiden-blue\/10 { background: rgba(0, 83, 159, 0.1) !important; color: #00539f !important; }
.bg-creiden-cyan\/10 { background: rgba(0, 192, 243, 0.1) !important; color: #008eb4 !important; }
.bg-creiden-magenta\/10 { background: rgba(189, 26, 141, 0.1) !important; color: #bd1a8d !important; }
.bg-creiden-teal\/10 { background: rgba(0, 116, 132, 0.1) !important; color: #007484 !important; }
.bg-creiden-orange\/10 { background: rgba(254, 102, 37, 0.1) !important; color: #fe6625 !important; }
.bg-creiden-green\/10 { background: rgba(0, 178, 125, 0.1) !important; color: #008f64 !important; }
.dropdown-text { display: flex !important; flex-direction: column !important; text-align: left !important; }
.dropdown-title { font-size: 14px !important; font-weight: 600 !important; color: #1e293b !important; line-height: 1.3 !important; }
.dropdown-item:hover .dropdown-title { color: #00539f !important; }
.dropdown-desc { font-size: 11.5px !important; color: #64748b !important; line-height: 1.4 !important; margin-top: 2px !important; }
.dropdown-footer {
  display: flex !important; align-items: center !important; justify-content: space-between !important;
  margin-top: 10px !important; padding-top: 10px !important; border-top: 1px solid #f1f5f9 !important;
}
.dropdown-all-btn {
  display: inline-flex !important; align-items: center !important; gap: 6px !important; font-size: 12.5px !important;
  font-weight: 600 !important; color: #00539f !important; text-decoration: none !important; padding: 4px 8px !important;
  border-radius: 6px !important; transition: background 0.15s !important;
}
.dropdown-all-btn:hover { background: #f1f5f9 !important; }
.dropdown-badge-link {
  display: inline-flex !important; align-items: center !important; gap: 6px !important; font-size: 12px !important;
  font-weight: 500 !important; color: #475569 !important; text-decoration: none !important; background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important; padding: 4px 10px !important; border-radius: 20px !important;
}
.badge-dot { width: 6px !important; height: 6px !important; border-radius: 50% !important; background: #10b981 !important; }
