/* ================================================
   PRELOADER — preloader.css  
   ================================================ */

body.is-loading {
    overflow: hidden;
}

/* ------------------------------------------------
   SHELL
------------------------------------------------ */
#preloader {
    position: fixed;
    inset: 0;
    z-index: 99999;
    background: #1A1A1A;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    pointer-events: all;
    transition: opacity 0.75s cubic-bezier(0.4, 0, 0.2, 1);
}

#preloader.exit {
    opacity: 0;
}

#preloader.done {
    display: none;
}

/* ------------------------------------------------
   WORDMARK  — clips upward into view
------------------------------------------------ */
.pl-wordmark {
    overflow: hidden;
    margin-bottom: 8px;
}

.pl-wordmark-inner {
    font-family: 'DM Sans', sans-serif;
    font-size: 24px;
    font-weight: 300;
    letter-spacing: 8px;
    text-transform: uppercase;
    color: white;
    white-space: nowrap;
    animation: pl-reveal 1s cubic-bezier(0.16, 1, 0.3, 1) 0.1s both;
}

.pl-wordmark-inner em {
    font-style: normal;
    color: #B22222;
    font-weight: 400;
}

/* Sub label */
.pl-sub {
    overflow: hidden;
    margin-bottom: 56px;
}

.pl-sub-inner {
    font-family: 'DM Sans', sans-serif;
    font-size: 9px;
    font-weight: 400;
    letter-spacing: 5px;
    text-transform: uppercase;
    color: rgba(255,255,255,0.25);
    white-space: nowrap;
    animation: pl-reveal 1s cubic-bezier(0.16, 1, 0.3, 1) 0.2s both;
}

/* ------------------------------------------------
   PROGRESS LINE  — fills via JS width update
------------------------------------------------ */
.pl-line-wrap {
    width: 200px;
    height: 1px;
    background: rgba(255,255,255,0.06);
    position: relative;
}

.pl-line {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 0%;
    background: #8B1A1A;
    transition: width 0.1s linear;
}

/* ------------------------------------------------
   KEYFRAMES
------------------------------------------------ */
@keyframes pl-reveal {
    from {
        opacity: 0;
        transform: translateY(18px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ------------------------------------------------
   REDUCED MOTION
------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
    .pl-wordmark-inner,
    .pl-sub-inner { animation: none; opacity: 1; transform: none; }
    #preloader    { transition: none; }
}