/* PAGE LOADER */
section.loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100dvh;
    min-height: 100vh;
    z-index: 1000;
    background-color: var(--black);
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: visible;
    pointer-events: auto;
}

section.loader .loader__inner {
    position: relative;
}

section.loader #loader__logo {
    width: 100vw;
    height: 100%;
    max-width: 55vw;
    overflow: visible;
    position: relative;
    z-index: 2;
    display: block;
    transform: scale(0.4);
    transform-origin: 50% 50%;
}

section.loader #loader__imago-overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
    z-index: 4;
    pointer-events: none;
    opacity: 0;
}

section.loader #loader__where-surf {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    z-index: 5;
    opacity: 0;
    pointer-events: none;
}

section.loader #logo-imago {
    display: none;
}

section.loader .imago-slideshow {
    position: absolute;
    left: 0;
    top: 0;
    width: 0;
    height: 0;
    overflow: hidden;
    z-index: 3;
    pointer-events: none;
    opacity: 0;
}

section.loader .imago-slideshow__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform-origin: 50% 50%;
    will-change: transform, clip-path;
}

section.loader #logo-casa > *,
section.loader #logo-mar > *,
section.loader #logo-de > * {
    fill: var(--white);
}

section.loader #logo-casa,
section.loader #logo-de,
section.loader #logo-mar {
    opacity: 0;
    transform: translateY(18px);
}

section.loader #logo-imago > * {
    stroke: var(--white);
    fill: none;
    stroke-miterlimit: 10;
    stroke-width: 0.4vw;
    vector-effect: non-scaling-stroke;
}

section.loader #logo-imago-overlay > * {
    stroke: var(--white);
    fill: none;
    stroke-miterlimit: 10;
    stroke-width: 0.4vw;
    vector-effect: non-scaling-stroke;
}

section.loader #logo-imago rect {
    fill: none;
}

body.is-loader-active {
    overflow: hidden;
}

body.is-loader-active .header__content,
body.is-loader-active .header-nav {
    pointer-events: none;
}

body.is-loader-complete section.loader {
    pointer-events: none;
}

body.is-loader-active .index-scene__stage > section:not(.intro),
body.is-loader-active .residences-scene__stage > section:not(.intro),
body.is-loader-active .living-here-scene__stage > section:not(.intro) {
    visibility: hidden;
    pointer-events: none;
}

body.is-loader-active .intro .intro__img img {
    will-change: transform;
}

body.is-loader-active .intro .intro__content > * {
    opacity: 0;
    will-change: opacity, transform;
}
