/* ==========================================================
   DJJ Healthcare
   hero.css
========================================================== */

/* ==========================================================
   HERO
========================================================== */
#hero {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    overflow: hidden;
    color: #fff;
}

/* ==========================================================
   BACKGROUND IMAGE
========================================================== */
.heroBackground {
    position: absolute;
    inset: 0;
    background-image: url('../images/hero.jpg');
    background-size: cover;
    background-position: center;
    transform: scale(1);
    animation: heroZoom 35s linear infinite alternate;
    z-index: 1;
}

/* ==========================================================
   OVERLAY
========================================================== */
.heroOverlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.45),
        rgba(0, 0, 0, 0.6)
    );
    z-index: 2;
}

/* ==========================================================
   HERO CONTENT
========================================================== */
.heroContent {
    position: relative;
    z-index: 20;
    max-width: 700px;
    animation: heroAppear 1s ease forwards;
}

.heroTag {
    display: inline-block;
    padding: 10px 22px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    margin-bottom: 28px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.heroContent h1 {
    font-size: 68px;
    line-height: 1.08;
    font-weight: 700;
    margin-bottom: 28px;
}

.heroContent p {
    font-size: 21px;
    max-width: 620px;
    margin-bottom: 42px;
    color: rgba(255, 255, 255, 0.92);
}

.serviceHero {
    min-height: 72vh;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
}

/* ==========================================================
   BUTTONS
========================================================== */
.heroButtons {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.heroButtons .btn {
    padding: 16px 34px;
    border-radius: 999px;
    font-weight: 600;
    transition: all 0.35s;
    border: 2px solid transparent;
}

.heroButtons .btn-primary {
    background: var(--secondary-dark);
    color: #fff;
}

.heroButtons .btn-primary:hover {
    background: var(--secondary);
    transform: translateY(-4px);
    box-shadow: var(--shadow);
}

.heroButtons .btn-outline-light {
    background: transparent;
    border-color: #fff;
    color: #fff;
}

.heroButtons .btn-outline-light:hover {
    background: #fff;
    color: var(--primary);
}

/* ==========================================================
   HERO DECORATION
========================================================== */
.heroParticles {
    position: absolute;
    inset: 0;
    overflow: hidden;
    z-index: 3;
    pointer-events: none;
}
.heroParticles::before,
.heroParticles::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.06);
    filter: blur(2px);
}

.heroParticles::before {
    width: 320px;
    height: 320px;
    top: 15%;
    right: 12%;
}

.heroParticles::after {
    width: 220px;
    height: 220px;
    bottom: 10%;
    left: 8%;
}

/* ==========================================================
   HERO LINE
========================================================== */
.heroLine {
    width: 120px;
    height: 5px;
    background: var(--primary);
    border-radius: 50px;
    margin: 35px 0;
}

/* ==========================================================
   ANIMATIONS
========================================================== */
@keyframes heroZoom {
    from {
        transform: scale(1);
    }
    to {
        transform: scale(1.08);
    }
}

@keyframes heroAppear {
    from {
        opacity: 0;
        transform: translateY(80px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
