/* ==========================================
   HERO SHELL
========================================== */

.hero-shell {
    display: flex;
    justify-content: center;
    padding: 24px var(--page-padding);
}


/* ==========================================
   HERO CARD
========================================== */

.hero-card {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 28px;

    background: linear-gradient(
        160deg,
        #3D1E78 0%,
        #6B39BD 45%,
        #8A5BDB 75%,
        #A872FF 100%
    );

    box-shadow:
        0 30px 70px -24px rgba(107, 57, 189, 0.45);
}


/* ==========================================
   TWO-COLUMN GRID
========================================== */

.hero-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 480px;
}

.hero-left {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 32px;

    padding: 56px 48px 56px 52px;
}

.hero-right {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}


/* ==========================================
   HERO TEXT
========================================== */

.hero-text {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.eyebrow {
    display: inline-block;

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

    font-family: var(--font-display);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.hero-text h1 {
    color: white;

    font-size: clamp(
        1.9rem,
        3.2vw,
        2.8rem
    );

    letter-spacing: -.02em;
}

.hero-text p {
    max-width: 380px;

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

    font-size: 1rem;
}
