/**
 * Split Hero: 100vh section, left 50% image (with gradient), right 50% content.
 */

.split-hero {
    --Neutrals-01: #EEEDED;
    --Neutral-White-Stone: #EEEDED;
    --Banner-Orange: #F65B1B;
    min-height: 100vh;
    padding-top: 0;
    padding-bottom: 0;
    display: flex;
    align-items: stretch;
    background-color: #000;
    color: var(--Neutrals-01);
}

.split-hero__grid {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: minmax(40vh, 45vh) minmax(55vh, auto);
    width: 100%;
    min-height: 100vh;
}

@media (min-width: 1024px) {
    .split-hero__grid {
        grid-template-columns: 50% 50%;
        grid-template-rows: 1fr;
    }
}

/* Image right, content left: swap column order on desktop */
@media (min-width: 1024px) {
    .split-hero--image-right .split-hero__media {
        order: 2;
    }
    .split-hero--image-right .split-hero__content {
        order: 1;
    }
}

/* ---- Image + gradient (layered on the image) ---- */
.split-hero__media {
    position: relative;
    overflow: hidden;
    order: 1;
}

.split-hero__image-wrap {
    --split-hero-radial-at: 0% 50%; /* gradient from left when image is left */
    position: absolute;
    inset: 0;
    will-change: transform;
    background-color: #1a1a1a;
    background-image: linear-gradient(
            180deg,
            #000 0%,
            rgba(0, 0, 0, 0) 25%,
            rgba(0, 0, 0, 0) 50%,
            rgba(0, 0, 0, 0) 75%,
            #000 100%
        ),
        radial-gradient(
            100% 100% at var(--split-hero-radial-at),
            rgba(0, 0, 0, 0) 0%,
            #000 100%
        ),
        var(--split-hero-image, linear-gradient(#2a2a2a, #2a2a2a));
    background-position: 0 0, 0 0, 50% 50%;
    background-size: auto, auto, cover;
    background-repeat: no-repeat, no-repeat, no-repeat;
}

/* Image right: gradient emanates from the right edge */
.split-hero--image-right .split-hero__image-wrap {
    --split-hero-radial-at: 100% 50%;
}

.split-hero__image-wrap--placeholder {
    display: block;
    position: absolute;
    inset: 0;
    background: #2a2a2a;
    pointer-events: none;
}

/* ---- Right: Content ---- */
.split-hero__content {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(2rem, 5vw, 4rem) 1.25rem;
    order: 2;
    background-color: #000;
}

@media (min-width: 768px) {
    .split-hero__content {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
}

@media (min-width: 1024px) {
    .split-hero__content {
        padding-left: clamp(3rem, 5vw, 5rem);
        padding-right: clamp(3rem, 5vw, 5rem);
        justify-content: center;
        align-items: center;
    }
}

.split-hero__inner {
    max-width: 640px;
    width: 100%;
}

/* Subtitle – Desktop/Body/Large | Caps */
.split-hero__subtitle {
    color: var(--Neutrals-01);
    font-family: "forma-djr-text", sans-serif;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 140%; /* 28px */
    letter-spacing: 2px;
    text-transform: uppercase;
    margin: 0 0 0.5rem;
}

/* Title – Desktop/Heading/H1 */
.split-hero__title {
    color: var(--Neutrals-01);
    font-family: "forma-djr-text", sans-serif;
    font-size: 56px;
    font-style: normal;
    font-weight: 400;
    line-height: 110%; /* 61.6px */
    margin: 0 0 1rem;
}

/* Description – Desktop/Body/Medium */
.split-hero__description {
    color: var(--Neutrals-01);
    font-family: "forma-djr-text", sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 140%; /* 22.4px */
    letter-spacing: 0.4px;
    margin: 0 0 1.5rem;
}

.split-hero__description p {
    margin: 0 0 0.5em;
}

.split-hero__description p:last-child {
    margin-bottom: 0;
}

@media (max-width: 767px) {
    .split-hero__subtitle {
        font-size: 16px;
        letter-spacing: 1.5px;
    }

    .split-hero__title {
        font-size: clamp(2rem, 10vw, 40px);
    }

    .split-hero__description {
        font-size: 14px;
    }
}
