/* ==========================================================
   Envision — Page Transitions & Scroll Reveal
   Hafif, performans dostu geçişler.
========================================================== */

html {
    scroll-behavior: smooth;
    background-color: #0A0F14;
}

body {
    opacity: 1;
}

body.page-leaving {
    pointer-events: none;
    animation: envisionPageLeave 140ms cubic-bezier(.4, 0, 1, 1) both;
}


@keyframes envisionPageLeave {
    from {
        opacity: 1;
        transform: translateY(0);
        filter: blur(0);
    }
    to {
        opacity: 0;
        transform: translateY(-6px);
        filter: blur(2px);
    }
}

/* JS aktifken görünür alana giren bölümler yumuşakça açılır. */
.js-enabled .reveal-on-scroll {
    opacity: 0;
    translate: 0 24px;
    transition:
        opacity 420ms cubic-bezier(.22, 1, .36, 1),
        translate 420ms cubic-bezier(.22, 1, .36, 1);
    will-change: opacity, translate;
}

.js-enabled .reveal-on-scroll.is-visible {
    opacity: 1;
    translate: 0 0;
}

.js-enabled .reveal-on-scroll.reveal-delay-1 { transition-delay: 40ms; }
.js-enabled .reveal-on-scroll.reveal-delay-2 { transition-delay: 80ms; }
.js-enabled .reveal-on-scroll.reveal-delay-3 { transition-delay: 120ms; }

/* Sayfa geçişinde loader varsa kısa süreli görsel süreklilik sağlar. */
.loader-container {
    transition: opacity 160ms ease, visibility 160ms ease;
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }

    body,
    body.page-leaving {
        animation: none !important;
        transform: none !important;
        filter: none !important;
    }

    .js-enabled .reveal-on-scroll,
    .js-enabled .reveal-on-scroll.is-visible {
        opacity: 1 !important;
        translate: none !important;
        transform: none !important;
        transition: none !important;
    }
}
.footer-contact-link {
    color: var(--primary-color) !important;
    text-decoration: none;
    transition: color 0.25s ease, opacity 0.25s ease;
}

.footer-contact-link:hover,
.footer-contact-link:focus-visible {
    color: var(--primary-hover) !important;
    opacity: 0.9;
}
