.site-loader { position: fixed; z-index: 1000; inset: 0; display: grid; overflow: hidden; place-items: center; isolation: isolate; background-color: #fff; opacity: 1; visibility: visible; transform: translateY(0) scale(1); filter: blur(0); transition: opacity 1.35s cubic-bezier(.22, 1, .36, 1), transform 1.35s cubic-bezier(.22, 1, .36, 1), filter 1.35s ease, visibility 0s linear 1.35s; }
.site-loader::before, .site-loader::after { position: absolute; z-index: -1; inset: -8%; content: ""; pointer-events: none; }
.site-loader::before { background-image: radial-gradient(circle at 12% 20%, rgba(7, 80, 107, .25) 0 1px, transparent 2px), radial-gradient(circle at 83% 73%, rgba(0, 168, 132, .3) 0 1px, transparent 2.5px), linear-gradient(90deg, transparent 49.85%, rgba(7, 80, 107, .07) 50%, transparent 50.15%), linear-gradient(0deg, transparent 49.85%, rgba(0, 168, 132, .06) 50%, transparent 50.15%); background-size: 79px 73px, 113px 97px, 48px 48px, 48px 48px; mask-image: radial-gradient(ellipse at center, #000 22%, transparent 82%); }
.site-loader::after { inset: 0; background: radial-gradient(ellipse at center, rgba(231, 246, 250, .18), rgba(255, 255, 255, .88) 70%); }
.loader-circuit { position: absolute; inset: 0; overflow: hidden; opacity: .68; }
.loader-circuit::before, .loader-circuit::after { position: absolute; inset: 0; content: ""; background-repeat: no-repeat; }
.loader-circuit::before { background-image: linear-gradient(90deg, transparent, rgba(7, 80, 107, .14), rgba(7, 80, 107, .14), transparent), linear-gradient(90deg, transparent, rgba(0, 168, 132, .13), rgba(0, 168, 132, .13), transparent), linear-gradient(90deg, transparent, rgba(7, 80, 107, .11), rgba(7, 80, 107, .11), transparent), linear-gradient(90deg, transparent, rgba(0, 168, 132, .12), rgba(0, 168, 132, .12), transparent); background-size: 44% 1px, 34% 1px, 39% 1px, 28% 1px; background-position: 0 28%, 100% 39%, 0 65%, 100% 77%; }
.loader-circuit::after { background-image: linear-gradient(rgba(7, 80, 107, .12), rgba(7, 80, 107, .12)), linear-gradient(rgba(0, 168, 132, .13), rgba(0, 168, 132, .13)), linear-gradient(rgba(7, 80, 107, .1), rgba(7, 80, 107, .1)), linear-gradient(rgba(0, 168, 132, .1), rgba(0, 168, 132, .1)); background-size: 1px 24%, 1px 20%, 1px 18%, 1px 27%; background-position: 24% 0, 76% 100%, 88% 0, 12% 100%; }
.loader-circuit__node { position: absolute; width: 7px; height: 7px; border: 1px solid rgba(7, 80, 107, .45); border-radius: 50%; background: #fff; box-shadow: 0 0 12px rgba(0, 168, 132, .38); }
.loader-circuit__node:nth-child(1) { top: 28%; left: 43%; }.loader-circuit__node:nth-child(2) { top: 39%; right: 33%; border-color: rgba(0, 168, 132, .6); }.loader-circuit__node:nth-child(3) { bottom: 35%; left: 31%; }.loader-circuit__node:nth-child(4) { right: 20%; bottom: 23%; border-color: rgba(0, 168, 132, .6); }
.loader-mark { position: relative; display: grid; width: clamp(148px, 19vw, 176px); aspect-ratio: 1; place-items: center; }
.loader-mark__ring { position: absolute; inset: 22px; border-radius: 50%; animation: loader-spin 4s linear infinite; backface-visibility: hidden; will-change: transform; }
.loader-mark__ring--blue { background: conic-gradient(from -90deg, #00a884 0deg 176deg, transparent 176deg 184deg, #07506b 184deg 352deg, transparent 352deg 360deg); mask: radial-gradient(farthest-side, transparent calc(100% - 5px), #000 calc(100% - 4px)); }
.loader-mark__image { display: grid; width: 60%; aspect-ratio: 1; overflow: hidden; place-items: center; border: 1px solid rgba(7, 80, 107, .1); border-radius: 50%; background: #fff; box-shadow: 0 12px 38px rgba(6, 59, 97, .1); }
.loader-mark__image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; border-radius: inherit; }
.site-loader.is-hidden { visibility: hidden; opacity: 0; transform: translateY(-8px) scale(1.012); filter: blur(3px); pointer-events: none; }
.page-loader-pending > :not(#site-loader) { opacity: 0; filter: blur(9px); transform: translateY(16px); transition: opacity 1.3s cubic-bezier(.22, 1, .36, 1), transform 1.3s cubic-bezier(.22, 1, .36, 1), filter 1.3s ease; }
.page-loader-pending.page-is-ready > :not(#site-loader) { opacity: 1; filter: blur(0); transform: translateY(0); }
@keyframes loader-spin { to { transform: rotate(1turn); } }
@media (prefers-reduced-motion: reduce) {
  .loader-mark__ring { animation: loader-spin 4s linear infinite !important; }
  .site-loader { transition: opacity 1.3s cubic-bezier(.22, 1, .36, 1), transform 1.3s cubic-bezier(.22, 1, .36, 1), filter 1.3s ease, visibility 0s linear 1.3s !important; }
  .page-loader-pending > :not(#site-loader) { transition: opacity 1.3s cubic-bezier(.22, 1, .36, 1), transform 1.3s cubic-bezier(.22, 1, .36, 1), filter 1.3s ease !important; }
}
