/* =========================================================
   ROTOEDGE HERO — FINAL
   Headline font: Marcellus 400
   Mobile order:
   Trusted by / Creative Studios
   RotoEdge
   VFX Studio
   Description
========================================================= */

.rotoedge-hero-final,
.rotoedge-hero-final * {
    box-sizing: border-box;
}

.rotoedge-hero-final {
    width: 100%;
    position: relative;
    overflow: hidden;
    text-align: center;
}

.rotoedge-hero-final__inner {
    width: 100%;
    max-width: 1500px;
    margin: 0 auto;
    padding: 70px 40px 80px;
    position: relative;
}

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

.rotoedge-hero-final__title {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    text-align: center;
}

/*
   HEADLINE:
   Marcellus 400 — the same font you confirmed from the theme.
*/
.rotoedge-hero-final__brand,
.rotoedge-hero-final__second {
    font-family: "Marcellus", serif !important;
    font-weight: 400 !important;
    color: #ff1111;
    letter-spacing: normal;
}

/* RotoEdge */
.rotoedge-hero-final__brand {
    display: inline-block;
    position: relative;
    margin: 0;
    padding: 0;

    font-size: clamp(70px, 7.6vw, 145px);
    line-height: .88;

    white-space: nowrap;
    text-align: center;
}

/* =========================================================
   DESKTOP SUBTITLE
   It is deliberately positioned using the viewport center,
   NOT right:100%, so it cannot disappear outside the title.
========================================================= */

.rotoedge-hero-final__subtitle {
    position: absolute;

    /*
      Center point of the page minus the left headline area.
      This keeps it beside RotoEdge while RotoEdge itself
      remains perfectly centered.
    */
    left: calc(50% - 510px);
    top: 50%;
    transform: translateY(-50%);

    display: block;
    width: 190px;

    margin: 0;
    padding: 0;

    color: #ff1111;

    /* Keep the site's existing subtitle/body typography. */
    font-family: inherit;
    font-weight: inherit;

    font-size: 18px;
    line-height: 1.12;
    letter-spacing: normal;

    text-align: left;
    white-space: normal;

    z-index: 5;
}

/* VFX Studio */
.rotoedge-hero-final__second {
    display: block;

    margin: 28px 0 0;
    padding: 0;

    font-size: clamp(70px, 7.6vw, 145px);
    line-height: .88;

    white-space: nowrap;
    text-align: center;
}

/* =========================================================
   DESCRIPTION
========================================================= */

.rotoedge-hero-final__description {
    width: min(900px, 92%);
    margin: 70px auto 0;
    padding: 0;

    /*
      Do not override the theme's body font here.
      Elementor/Liko body typography remains active.
    */
    font-size: clamp(18px, 1.35vw, 24px);
    line-height: 1.5;
    font-weight: inherit;
    letter-spacing: normal;

    color: rgba(255,255,255,.72);
    text-align: center;
}

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

@media (max-width:1024px) {

    .rotoedge-hero-final__inner {
        padding: 60px 30px 70px;
    }

    .rotoedge-hero-final__brand,
    .rotoedge-hero-final__second {
        font-size: clamp(62px, 9vw, 105px);
    }

    .rotoedge-hero-final__subtitle {
        left: calc(50% - 385px);
        width: 150px;
        font-size: 16px;
    }

    .rotoedge-hero-final__description {
        width: min(760px, 92%);
        margin-top: 55px;
        font-size: 19px;
    }
}

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

@media (max-width:767px) {

    .rotoedge-hero-final__inner {
        padding: 55px 18px 55px;
    }

    /*
      Mobile order:
      1. Subtitle
      2. RotoEdge
      3. VFX Studio
      4. Description
    */
    .rotoedge-hero-final__title {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .rotoedge-hero-final__subtitle {
        position: static;
        transform: none;

        order: 1;

        display: block;
        width: 100%;

        margin: 0 0 18px;
        padding: 0;

        font-size: 16px;
        line-height: 1.15;

        text-align: center;
        white-space: normal;
    }

    .rotoedge-hero-final__brand {
        order: 2;

        display: block;
        width: 100%;

        margin: 0;
        padding: 0;

        font-family: "Marcellus", serif !important;
        font-weight: 400 !important;

        font-size: clamp(48px, 15vw, 76px);
        line-height: .9;

        white-space: nowrap;
        text-align: center;
    }

    .rotoedge-hero-final__second {
        order: 3;

        display: block;
        width: 100%;

        margin: 28px 0 0;
        padding: 0;

        font-family: "Marcellus", serif !important;
        font-weight: 400 !important;

        font-size: clamp(48px, 15vw, 76px);
        line-height: .9;

        white-space: nowrap;
        text-align: center;
    }

    .rotoedge-hero-final__description {
        width: 100%;

        margin: 42px auto 0;
        padding: 0 8px;

        font-size: 16px;
        line-height: 1.5;

        text-align: center;
    }
}

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

@media (max-width:420px) {

    .rotoedge-hero-final__inner {
        padding: 48px 14px 50px;
    }

    .rotoedge-hero-final__subtitle {
        margin-bottom: 15px;
        font-size: 15px;
    }

    .rotoedge-hero-final__brand,
    .rotoedge-hero-final__second {
        font-size: clamp(43px, 14vw, 60px);
    }

    .rotoedge-hero-final__second {
        margin-top: 24px;
    }

    .rotoedge-hero-final__description {
        margin-top: 34px;
        padding: 0 3px;
        font-size: 15px;
        line-height: 1.5;
    }
}
