/* ==========================================================
   PAOREEL STUDIOS V3
   HERO
   ========================================================== */



/* ==========================================================
   HERO SECTION
   ========================================================== */

.hero {

    position: relative;

    display: flex;

    align-items: flex-end;

    width: 100%;

    height: 100vh;

    min-height: 760px;

    overflow: hidden;

    background: var(--color-black);

}



/* ==========================================================
   HERO BACKGROUND
   ========================================================== */

.hero-background {

    position: absolute;

    inset: 0;

    overflow: hidden;

}



/* ==========================================================
   PARALLAX LAYER
   ========================================================== */

.hero-parallax {

    position: absolute;

    inset: -40px;

    will-change: transform;

}



/* ==========================================================
   IMAGE LAYER
   ========================================================== */

.hero-image {

    position: absolute;

    inset: 0;

    overflow: hidden;

}



/* ==========================================================
   HERO IMAGE
   ========================================================== */

.hero-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    object-position: center;

    transform-origin: center center;

    will-change: transform, filter;

}



/* ==========================================================
   DARK OVERLAY
   ========================================================== */

.hero::before {

    content: "";

    position: absolute;

    inset: 0;

    background: linear-gradient(
        rgba(0, 0, 0, .38),
        rgba(0, 0, 0, .55)
    );

    z-index: 1;

}



/* ==========================================================
   HERO CONTENT
   ========================================================== */

.hero-content {

    position: relative;

    z-index: 5;

    width: min(100%, var(--site-width));

    margin: 0 auto;

    padding:
        0
        var(--content-padding)
        6rem;

}



/* ==========================================================
   HERO LABEL
   ========================================================== */

.hero-label {

    display: inline-block;

    margin-bottom: 2rem;

    font-size: var(--fs-sm);

    font-weight: var(--font-weight-regular);

    letter-spacing: .22em;

    text-transform: uppercase;

    color: rgba(255,255,255,.70);

}



/* ==========================================================
   HERO TITLE
   ========================================================== */

.hero-title {

    max-width: 1200px;

    font-size: var(--fs-display);

    font-weight: var(--font-weight-light);

    line-height: .90;

    letter-spacing: -.06em;

    color: var(--color-white);

}



.hero-title br {

    display: block;

}



/* ==========================================================
   BOTTOM FADE
   ========================================================== */

.hero::after {

    content: "";

    position: absolute;

    left: 0;

    right: 0;

    bottom: 0;

    height: 220px;

    background: linear-gradient(

        to bottom,

        rgba(0,0,0,0),

        rgba(0,0,0,.18)

    );

    pointer-events: none;

    z-index: 2;

}



/* ==========================================================
   SCROLL INDICATOR
   ========================================================== */

.scroll-indicator {

    position: absolute;

    left: 50%;

    bottom: 48px;

    transform: translateX(-50%);

    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 14px;

    opacity: 0;

    z-index: 10;

    pointer-events: none;

}



.scroll-indicator span {

    width: 1px;

    height: 72px;

    background: rgba(255,255,255,.75);

}



.scroll-indicator p {

    font-size: .75rem;

    letter-spacing: .30em;

    text-transform: uppercase;

    color: rgba(255,255,255,.75);

}



/* ==========================================================
   LARGE DESKTOP
   ========================================================== */

@media (min-width: 1800px) {

    .hero-content {

        padding-bottom: 7rem;

    }

}



/* ==========================================================
   LAPTOP
   ========================================================== */

@media (max-width: 1200px) {

    .hero-title {

        max-width: 900px;

    }

}



/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 768px) {

    .hero {

        min-height: 100vh;

    }

    .hero-content {

        padding:

            0

            2rem

            4rem;

    }

    .hero-label {

        margin-bottom: 1.5rem;

        font-size: .75rem;

    }

    .hero-title {

        line-height: .95;

    }

    .scroll-indicator {

        bottom: 36px;

    }

}

/* ==========================================================
   HERO REVEAL
   ========================================================== */

.hero-reveal {

    position: absolute;

    left: 0;

    right: 0;

    bottom: -1px;

    height: 220px;

    background: linear-gradient(

        to bottom,

        rgba(255,255,255,0),

        rgba(255,255,255,.25) 20%,

        rgba(255,255,255,.75) 55%,

        #ffffff 100%

    );

    transform: translateY(100%);

    z-index: 15;

    pointer-events: none;

    will-change: transform;

}

/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 480px) {

    .hero-content {

        padding:

            0

            1.5rem

            3rem;

    }

    .hero-label {

        letter-spacing: .16em;

    }

    .scroll-indicator span {

        height: 56px;

    }

}