@media (prefers-reduced-motion: no-preference) {
    .motion-ready .reveal { opacity: 0; transform: translateY(22px); transition: opacity .65s ease, transform .65s ease; }
    .motion-ready .reveal.visible { opacity: 1; transform: translateY(0); }
    .service-card:nth-child(2) { transition-delay: .07s; }
    .service-card:nth-child(3) { transition-delay: .14s; }
}
.preloader-active { overflow: hidden; }
.site-preloader { position: fixed; inset: 0; z-index: 9999; display: none; place-items: center; overflow: hidden; background: radial-gradient(ellipse at 50% 38%, #123e50, #071e2e 65%); opacity: 1; visibility: visible; transition: opacity .5s ease, visibility .5s ease; }
.site-preloader.is-loading { display: grid; }
.site-preloader.is-leaving { opacity: 0; visibility: hidden; pointer-events: none; }
.preloader-content { position: relative; display: flex; flex-direction: column; align-items: center; width: min(360px, calc(100vw - 40px)); transition: transform .5s ease; }
.is-leaving .preloader-content { transform: translateY(-8px); }
.preloader-emblem { position: relative; padding: 12px; }
.preloader-emblem::before { content: ''; position: absolute; inset: 0; border: 1px solid #89edfa26; border-radius: 50%; }
.preloader-emblem::after { content: ''; position: absolute; inset: 0; border: 1.5px solid transparent; border-top-color: #89edfa; border-right-color: #89edfa66; border-radius: 50%; animation: preloader-orbit 2.8s linear infinite; }
.preloader-logo { position: relative; width: 192px; height: 192px; overflow: hidden; border-radius: 50%; background: #fff; box-shadow: 0 14px 36px #0003; }
.preloader-logo img { position: absolute; max-width: none; width: 180px; height: auto; left: 5px; top: -20px; }
.preloader-title { margin-top: 30px; color: #f0fbff; font-size: clamp(19px, 5vw, 23px); font-weight: 500; letter-spacing: -.4px; text-align: center; }
.preloader-caption { margin-top: 10px; color: #95c3d0; font-size: 9px; letter-spacing: 2.6px; text-align: center; }
.preloader-line { width: 110px; height: 2px; margin-top: 26px; overflow: hidden; border-radius: 99px; background: #ffffff18; }
.preloader-line i { display: block; width: 55%; height: 100%; border-radius: inherit; background: #89edfa; animation: preloader-flow 1.7s ease-in-out infinite; }
@keyframes preloader-flow { from { transform: translateX(-110%); } to { transform: translateX(190%); } }
@keyframes preloader-orbit { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation: none !important; transition: none !important; }
    .site-preloader { transition: opacity .01s linear !important; }
}
