/* css/preloader.css — прелоадер из redesign */

.preloader {
    position: fixed;
    inset: 0;
    z-index: 10000;
    background: #14161B;
    display: grid;
    place-items: center;
    transition: opacity .6s ease, visibility .6s;
}

.preloader.done {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.preloader svg {
    width: min(240px, 55vw);
    height: auto;
}

.preloader .star {
    fill: #fff;
    fill-opacity: 0;
    stroke: #fff;
    stroke-width: 4;
    stroke-dasharray: 100;
    stroke-dashoffset: 100;
    animation: preloader-draw 1.15s ease-in forwards, preloader-inkFill .5s ease .95s forwards;
}

.preloader .chev {
    opacity: 0;
    transform: translateY(26px);
    animation: preloader-rise .55s cubic-bezier(.2, .9, .3, 1.3) 1.15s forwards;
}

.preloader .ltr {
    opacity: 0;
    transform: translateY(46px);
    animation: preloader-rise .5s cubic-bezier(.2, .9, .3, 1.2) forwards;
}

@keyframes preloader-draw {
    to { stroke-dashoffset: 0; }
}

@keyframes preloader-inkFill {
    to { fill-opacity: 1; }
}

@keyframes preloader-rise {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

body.loading {
    overflow: hidden;
}

/* Анимация заголовка hero после прелоадера */
.hero h1,
.hero__title {
    clip-path: inset(0 100% -8% 0);
}

.hero h1.wipe,
.hero__title.wipe {
    animation: preloader-wipe 1s cubic-bezier(.7, 0, .2, 1) .15s forwards;
}

@keyframes preloader-wipe {
    to { clip-path: inset(0 -2% -8% 0); }
}

@media (prefers-reduced-motion: reduce) {
    .preloader {
        display: none;
    }

    body.loading {
        overflow: auto;
    }

    .hero h1,
    .hero__title {
        clip-path: none;
    }
}
