/**
 * Split Hero with Logo: 100vh section, same as split hero but logo instead of title + button.
 */

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

.split-hero-logo__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-logo__grid {
        grid-template-columns: 50% 50%;
        grid-template-rows: 1fr;
    }
}

@media (min-width: 1024px) {
    .split-hero-logo--image-right .split-hero-logo__media {
        order: 2;
    }
    .split-hero-logo--image-right .split-hero-logo__content {
        order: 1;
    }
}

.split-hero-logo__media {
    position: relative;
    overflow: hidden;
    order: 1;
}

.split-hero-logo__image-wrap {
    --split-hero-logo-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-logo-radial-at),
            rgba(0, 0, 0, 0) 0%,
            #000 100%
        ),
        var(--split-hero-logo-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-logo--image-right .split-hero-logo__image-wrap {
    --split-hero-logo-radial-at: 100% 50%;
}

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

.split-hero-logo__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-logo__content {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
}

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

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

/* Subtitle – Desktop/Body/Large | Caps */
.split-hero-logo__subtitle {
    color: var(--Neutrals-01, #EEEDED);
    font-family: "Forma DJR Text", "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 50px;
}

/* Logo (replaces title) */
.split-hero-logo__logo {
    margin: 0 0 50px;
}

.split-hero-logo__logo img {
    display: block;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

/* Description – Desktop/Heading/H3 */
.split-hero-logo__description {
    color: var(--Neutrals-01, #EEEDED);
    font-family: "Forma DJR Text", "forma-djr-text", sans-serif;
    font-size: 40px;
    font-style: normal;
    font-weight: 400;
    line-height: 120%; /* 48px */
    margin: 0 0 50px;
}

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

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

/* Button – Desktop/Body/Large, pill, arrow moves right on hover */
.split-hero-logo__button {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--Neutrals-01, #EEEDED);
    font-family: "Forma DJR Text", "forma-djr-text", sans-serif;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 140%; /* 28px */
    letter-spacing: 0.5px;
    text-decoration: none;
    border-radius: 100px;
    border: 1px solid var(--Neutrals-01, #EEEDED);
    padding: 0.75rem 1.25rem;
    transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.split-hero-logo__button:hover {
    border: 1px solid #F65B1B;
    background: var(--Primary-100, #0B0B0B);
    box-shadow: 0 0 8px 4px rgba(246, 91, 27, 0.25);
    color: var(--Secondary-100, #F65B1B);
}

.split-hero-logo__button-arrow {
    display: inline-flex;
    transition: transform 0.2s ease;
}

.split-hero-logo__button:hover .split-hero-logo__button-arrow {
    transform: none;
}

.split-hero-logo__button-arrow svg {
    display: block;
}

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

    .split-hero-logo__description {
        font-size: clamp(1.5rem, 6vw, 32px);
    }

    .split-hero-logo__button {
        font-size: 16px;
    }
}
