/* =================================================================== */
/* =================== ESTILOS DE RESPONSIVIDADE ===================== */
/* =================================================================== */

@media (max-width: 991.98px) {
    .hero-section {
        text-align: center;
    }
    .qeelvra-wrapper {
        padding-top: clamp(2rem, 6vw, 4rem);
        padding-bottom: clamp(2rem, 6vw, 4rem);
    }
    .qeelvra-section {
        text-align: center;
    }
    .qeelvra-img {
        position: static;
        transform: none;
        display: block;
        margin: 2.5rem auto 0;
        max-width: 300px;
    }
}
@media (max-width: 767.98px) {
    .contact-overlap-container {
        margin-top: 0;
    }
    .contact-content-section {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }
}
@media (max-width: 575.98px) {
    .contact-form-card {
        padding: 1.5rem;
    }
}

/* =================================================================== */
/* ======================= ESTILIZAÇÃO  ============================== */
/* =================================================================== */

/* ================= HERO ================= */
/* NOTE: .hero-section background-image uses {% static %} — defined inline in template */
.hero-section {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    position: relative;
    color: var(--branco);
    min-height: clamp(420px, 80vh, 650px);
    display: flex;
    align-items: center;
}
.hero-section::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: rgba(12, 20, 39, 0.7);
    z-index: 1;
}
.hero-content {
    position: relative;
    z-index: 2;
}
.hero-text {
    font-size: clamp(1.6rem, 5.5vw, 2.8rem);
    font-weight: 700;
    text-transform: uppercase;
    word-break: break-word;
}

/* --- Botões --- */
.btn-primary-custom {
    background-color: var(--azul-claro);
    border: none;
    color: var(--branco);
    padding: 0.75rem 1.5rem;
    border-radius: 0.5rem;
    font-weight: 500;
}
.btn-primary-custom:hover {
    background-color: var(--branco);
    color: var(--azul-claro);
    font-weight: 500;
}
.btn-primary-custom:active {
    transform: scale(0.97);
}
.btn-sobre {
    border: 1px solid var(--branco);
    color: var(--branco);
    padding: 0.75rem 1.5rem;
    border-radius: 0.5rem;
    font-weight: 500;
}
.btn-sobre:hover {
    background-color: var(--branco);
    color: var(--azul-escuro);
    border: 1px solid var(--azul-escuro);
    font-weight: 500;
}
.btn-sobre:active {
    transform: scale(0.97);
}

/* ================= FEATURES ================= */
.feature-card {
    background: var(--branco);
    border: 2px solid var(--branco-text);
    border-radius: 0.75rem;
    padding: 2rem 1.2rem;
    height: 100%;
    /* transition and hover transform removed — GSAP owns hover + animations */
}
.feature-card h5 {
    color: var(--azul-escuro);
}
.feature-icon {
    font-size: 3.5rem;
    color: var(--azul-claro);
    margin-bottom: 1rem;
}

/* ================= SLOGAN (INOVADOR) ================= */
.slogan-section {
    background-color: var(--azul-escuro);
    color: var(--branco);
}
.slogan-section .display-1 {
    color: var(--azul-claro);
    line-height: 1;
}
.slogan-text {
    font-size: 1.5rem;
    font-weight: 300;
    color: #e9ecef;
}

/* ================= Qeelvra ================= */
.qeelvra-wrapper {
    padding-top: clamp(3rem, 8vw, 8rem);
    padding-bottom: clamp(2rem, 6vw, 5rem);
}

.qeelvra-section {
    background-color: var(--azul-escuro);
    color: var(--branco);
    border-radius: 1rem;
    padding: 3rem;
    position: relative;
}

.qeelvra-section .row {
    position: relative;
}

.qeelvra-content {
    position: relative;
    z-index: 2;
}

.qeelvra-section h2 {
    font-weight: 700;
}
.qeelvra-section h4 {
    color: var(--azul-claro);
    font-weight: 600;
}

.qeelvra-img {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    max-width: 400px;
    z-index: 1;
}
