/* ======================================================
   HERO SECTION
====================================================== */

.hero{

    min-height:100vh;

    display:flex;

    align-items:center;

    position:relative;

    overflow:hidden;

    padding-top:100px;

}

/* ======================================================
   CONTAINER
====================================================== */

.hero-container{

    display:grid;

    grid-template-columns:1.3fr .9fr;

    align-items:center;

    gap:70px;

}

/* ======================================================
   LEFT
====================================================== */

.hero-content{

    z-index:2;

}

.hero-subtitle{

    display:inline-block;

    color:var(--clr-primary);

    font-size:1rem;

    font-weight:600;

    letter-spacing:2px;

    margin-bottom:18px;

}

.hero-title{

    font-family:var(--font-heading);

    font-size:clamp(3.5rem,8vw,5.8rem);

    font-weight:800;

    line-height:1.05;

    margin-bottom:20px;

}

.hero-title span{

    color:var(--clr-primary);

}

.hero-role{

    font-size:1.7rem;

    font-weight:600;

    color:var(--clr-white);

    margin-bottom:25px;

}

.hero-role span{

    color:var(--clr-primary);

    margin:0 10px;

}

.hero-description{

    max-width:620px;

    color:var(--clr-text);

    font-size:1.1rem;

    line-height:1.9;

    margin-bottom:40px;

}

/* ======================================================
   BUTTONS
====================================================== */

.hero-buttons{

    display:flex;

    gap:20px;

    flex-wrap:wrap;

    margin-bottom:45px;

}

/* ======================================================
   SOCIAL
====================================================== */

.hero-social{

    display:flex;

    gap:18px;

}

.hero-social a{

    width:55px;

    height:55px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:1.25rem;

    color:var(--clr-white);

    border:1px solid rgba(255,255,255,.1);

    background:rgba(255,255,255,.03);

    transition:.35s ease;

}

.hero-social a:hover{

    background:var(--clr-primary);

    transform:translateY(-8px);

    box-shadow:0 0 25px rgba(255,45,85,.45);

}

/* ======================================================
   IMAGE
====================================================== */

.hero-image{

    display:flex;

    justify-content:center;

    align-items:center;

    position:relative;

}

.image-wrapper{

    position:relative;

    width:430px;

    height:430px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

}

.image-wrapper img{

    width:100%;

    height:100%;

    object-fit:cover;

    border-radius:50%;

    border:5px solid rgba(255,255,255,.08);

    position:relative;

    z-index:3;

}

/* ======================================================
   GLOW
====================================================== */

.image-glow{

    position:absolute;

    width:470px;

    height:470px;

    border-radius:50%;

    background:

    radial-gradient(circle,
    rgba(255,45,85,.45) 0%,
    rgba(255,45,85,.18) 40%,
    transparent 75%);

    filter:blur(30px);

    animation:glowPulse 5s ease-in-out infinite;

}

@keyframes glowPulse{

    0%{

        transform:scale(.95);

        opacity:.7;

    }

    50%{

        transform:scale(1.08);

        opacity:1;

    }

    100%{

        transform:scale(.95);

        opacity:.7;

    }

}

/* ======================================================
   SCROLL INDICATOR
====================================================== */

.scroll-indicator{

    position:absolute;

    bottom:35px;

    left:50%;

    transform:translateX(-50%);

    width:34px;

    height:58px;

    border:2px solid rgba(255,255,255,.25);

    border-radius:40px;

    display:flex;

    justify-content:center;

    align-items:flex-start;

    padding-top:8px;

}

.scroll-indicator span{

    width:6px;

    height:12px;

    background:var(--clr-primary);

    border-radius:20px;

    animation:scrollDown 2s infinite;

}

@keyframes scrollDown{

    0%{

        transform:translateY(0);

        opacity:1;

    }

    100%{

        transform:translateY(22px);

        opacity:0;

    }

}

/* ======================================================
   RESPONSIVE
====================================================== */

@media(max-width:992px){

    .hero{

        text-align:center;

        padding-top:150px;

    }

    .hero-container{

        grid-template-columns:1fr;

    }

    .hero-description{

        margin:auto auto 40px;

    }

    .hero-buttons{

        justify-content:center;

    }

    .hero-social{

        justify-content:center;

    }

    .hero-image{

        order:-1;

        margin-bottom:50px;

    }

    .image-wrapper{

        width:320px;

        height:320px;

    }

    .image-glow{

        width:360px;

        height:360px;

    }

}

@media(max-width:576px){

    .hero-title{

        font-size:3rem;

    }

    .hero-role{

        font-size:1.2rem;

    }

    .hero-description{

        font-size:1rem;

    }

    .image-wrapper{

        width:260px;

        height:260px;

    }

    .image-glow{

        width:300px;

        height:300px;

    }

}