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

.hero {

    position: relative;

    display: flex;

    justify-content: center;

    align-items: center;

    min-height: calc(100vh - 90px);

    padding: 7rem 1.5rem 4rem;

}


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

.hero-card {

    position: relative;

    z-index: 2;

    width: min(540px, 92vw);

    padding: 2.5rem;

    border-radius: 30px;

    text-align: center;

}


/* ==================================================
   STATUS
================================================== */

.hero-status {

    display: inline-flex;

    align-items: center;

    gap: .65rem;

    margin-bottom: 1.8rem;

    padding: .55rem 1rem;

    border-radius: 999px;

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

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

    backdrop-filter: blur(20px);

    color: var(--text-secondary);

    font-size: .88rem;

    font-weight: 500;

}

.status-dot {

    width: 10px;

    height: 10px;

    border-radius: 50%;

    background: #00d66f;

    animation: pulseLED 2.5s infinite;

}


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

.hero h1 {

    margin: 0 0 .8rem;

    font-size: clamp(2.8rem, 6vw, 4.4rem);

    font-weight: 800;

    letter-spacing: -.04em;

    line-height: .92;

    color: var(--text-primary);

}

.hero h2 {

    margin-bottom: 1.2rem;

    font-size: 1.05rem;

    font-weight: 600;

    color: var(--color-primary-dark);

    letter-spacing: .02em;

}

.hero p {

    max-width: 470px;

    margin: 0 auto 2rem;

    font-size: 1.05rem;

    line-height: 1.8;

    color: var(--text-secondary);

}


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

.hero-buttons {

    display: flex;

    justify-content: center;

    align-items: center;

    gap: 1rem;

    margin-top: .5rem;

    flex-wrap: wrap;

}


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

.hero-social {

    display: flex;

    justify-content: center;

    gap: 1.8rem;

    margin-top: 2rem;

}

.hero-social a {

    position: relative;

    color: var(--text-secondary);

    text-decoration: none;

    font-size: .95rem;

    transition: color .3s ease;

}

.hero-social a:hover {

    color: var(--color-primary);

}


/* ==================================================
   MOBILE
================================================== */

@media (max-width: 768px) {

    .hero {

        min-height: auto;

        padding: 6.5rem 1rem 3rem;

    }

    .hero-card {

        width: 100%;

        padding: 2rem;

        border-radius: 26px;

    }

    .hero h1 {

        font-size: clamp(2.3rem, 10vw, 3.3rem);

    }

    .hero h2 {

        font-size: .95rem;

    }

    .hero p {

        font-size: 1rem;

        line-height: 1.7;

    }

    .hero-buttons {

        flex-direction: column;

        width: 100%;

    }

    .hero-buttons .btn {

        width: 100%;

    }

    .hero-social {

        gap: 1.2rem;

        flex-wrap: wrap;

    }

}
