/* ========================= */
/* HERO SECTION */
/* ========================= */

.hero {

    min-height: 92vh;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 60px;

    position: relative;

    overflow: hidden;
}



/* ========================= */
/* LEFT CONTENT */
/* ========================= */

.hero-left {

    width: 50%;

    z-index: 2;
}


.hero-left h1 {

    font-size: 76px;

    line-height: 1.05;

    color: var(--primary);

    margin-bottom: 28px;

    letter-spacing: -3px;
}


.hero-left h1 span {

    color: #16a34a;

    position: relative;
}



/* GREEN HIGHLIGHT */

.hero-left h1 span::after {

    content: "";

    position: absolute;

    left: 0;

    bottom: 8px;

    width: 100%;

    height: 14px;

    background: rgba(34, 197, 94, 0.15);

    z-index: -1;

    border-radius: 20px;
}



/* HERO DESCRIPTION */

.hero-left p {

    font-size: 19px;

    color: var(--gray);

    max-width: 650px;

    margin-bottom: 40px;
}



/* ========================= */
/* BUTTONS */
/* ========================= */

.hero-buttons {

    display: flex;

    align-items: center;

    gap: 20px;
}


.primary-btn {

    background: var(--primary);

    color: white;

    padding: 18px 34px;

    border-radius: 16px;

    font-size: 16px;

    font-weight: 600;

    box-shadow: 0 12px 30px rgba(29, 53, 87, 0.18);
}


.primary-btn:hover {

    background: var(--secondary);

    transform: translateY(-3px);
}


.secondary-btn {

    background: transparent;

    border: 2px solid rgba(29, 53, 87, 0.15);

    color: var(--primary);

    padding: 18px 34px;

    border-radius: 16px;

    font-size: 16px;

    font-weight: 600;
}


.secondary-btn:hover {

    background: white;

    border-color: var(--secondary);

    transform: translateY(-3px);
}



/* ========================= */
/* HERO RIGHT */
/* ========================= */

.hero-right {

    width: 50%;

    position: relative;

    display: flex;

    justify-content: center;

    align-items: center;
}



/* HERO IMAGE */

.hero-right img {

    width: 100%;

    max-width: 820px;

    position: relative;

    z-index: 2;

    animation: float 5s ease-in-out infinite;
}



/* ========================= */
/* BACKGROUND GLOW */
/* ========================= */

.hero::before {

    content: "";

    position: absolute;

    right: -250px;

    top: -250px;

    width: 700px;

    height: 700px;

    background: radial-gradient(
        circle,
        rgba(168, 218, 220, 0.45) 0%,
        transparent 70%
    );

    z-index: 0;
}



/* ========================= */
/* FLOAT ANIMATION */
/* ========================= */

@keyframes float {

    0% {

        transform: translateY(0px);
    }

    50% {

        transform: translateY(-18px);
    }

    100% {

        transform: translateY(0px);
    }
}