/* Hero section */
.hero-section {
    position: relative;
    overflow: hidden;
    min-height: calc(100vh - 74px);
    padding: 60px 0;
    color: #fff;

    background: radial-gradient(circle at top left, #837df4 6%, transparent 12%),
        linear-gradient(90deg, var(--hero-blue-1) 0%, var(--hero-blue-2) 100%);
}

.hero-title {
    font-size: 70px;
    line-height: 1.02;
    letter-spacing: -0.01em;
}

/* CTA buttons */
.hero-ctas .btn {
    min-width: 170px;
}
.btn-outline-light {
    border-color: rgba(255, 255, 255, 0.35);
    color: rgba(255, 255, 255, 0.95);
}

/* Right image container - allows overflow */
.right-container {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.right-container img {
    width: 600px !important;
    height: 600px !important;
    max-width: none !important;
    object-fit: contain !important;
}

.hero-character {
    width: 100%;
    display: block;
    user-select: none;
}

.hero-character-wrapper {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 500px;
    z-index: 1;
}

.hero-character-wrapper::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(37, 100, 248, 0.784) 0%,
        rgba(37, 100, 248, 0.4) 50%,
        rgba(37, 100, 248, 0.1) 100%
    );

    -webkit-mask-image: url("/web_v2/images/hero-character.svg");
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    -webkit-mask-position: bottom right;

    mask-image: url("/web_v2/images/hero-character.svg");
    mask-repeat: no-repeat;
    mask-size: contain;
    mask-position: bottom right;

    pointer-events: none;
}

/* Media Queries */
@media (max-width: 991.98px) {
    .hero-section {
        padding: 60px 0;
        height: auto;
    }
    .hero-section .container {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    .hero-title {
        font-size: 40px;
        line-height: 1.02;
        letter-spacing: -0.01em;
    }
    .hero-character-wrapper {
        display: none;
    }
    .right-container {
        margin-top: 50px;
    }
    .right-container img {
        width: 100% !important;
        height: auto !important;
        max-width: 100% !important;
    }
    .hero-ctas {
        margin-top: 30px !important;
    }
    .hero-ctas .btn {
        width: 100%;
    }
}
