/* ==========================================================
   GCFC V95 — acabamento tipográfico e responsivo mobile
   ========================================================== */

/* Leitura: nenhum texto editorial deve usar justificação. */
html body main p,
html body main li,
html body main .score-note,
html body .gcfc-site-footer .gcfc-footer-description {
    text-align: left !important;
    text-align-last: auto !important;
    text-justify: auto !important;
    word-spacing: normal !important;
    hyphens: none !important;
    -webkit-hyphens: none !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
}

html body .gcfc-site-footer .gcfc-footer-description {
    text-align: center !important;
}

@media (max-width: 760px) {
    /* Cabeçalhos editoriais: etiqueta, título e introdução centralizados. */
    html body main .section-heading,
    html body main .certified-companies-heading,
    html body main .trust-process-heading,
    html body main .trust-journey-heading,
    html body main .gcfc-benefits-heading,
    html body main .gcfc-blog-heading-copy,
    html body main .criteria-heading,
    html body main .market-heading,
    html body main .limits-heading,
    html body main .timeline-heading,
    html body main .invitation-paths-heading,
    html body main .directory-heading,
    html body main .related-heading {
        width: 100% !important;
        max-width: 680px !important;
        margin-right: auto !important;
        margin-left: auto !important;
        text-align: center !important;
    }

    html body main .section-heading > p,
    html body main .certified-companies-heading > p,
    html body main .trust-process-heading > p,
    html body main .trust-journey-heading > p,
    html body main .gcfc-benefits-heading > p,
    html body main .gcfc-blog-heading-copy > p,
    html body main .criteria-heading > p,
    html body main .market-heading > p,
    html body main .limits-heading > p,
    html body main .timeline-heading > p,
    html body main .invitation-paths-heading > p,
    html body main .directory-heading > p,
    html body main .related-heading > p {
        max-width: 620px !important;
        margin-right: auto !important;
        margin-left: auto !important;
        text-align: center !important;
        text-align-last: auto !important;
    }

    html body main .section-heading .eyebrow,
    html body main .section-heading .section-tag,
    html body main .trust-process-heading .eyebrow,
    html body main .trust-journey-heading .eyebrow {
        justify-content: center !important;
        margin-right: auto !important;
        margin-left: auto !important;
        text-align: center !important;
    }

    /* Quebras editoriais passam a responder naturalmente à largura da tela. */
    html body main .section-heading br,
    html body main .section-title br,
    html body main .section-intro br,
    html body main .hero-title br {
        display: none !important;
    }

    html body main #metodologia .methodology-summary .methodology-line,
    html body main #metodologia .methodology-summary .methodology-emphasis {
        display: inline !important;
        white-space: normal !important;
    }

    html body main #metodologia .methodology-summary .methodology-emphasis::before {
        content: " ";
    }

    /* HOME: imagem inteira visível na hero mobile. */
    html body.page-home .hero-photo,
    html body .hero .hero-photo {
        object-fit: contain !important;
        object-position: center center !important;
        transform: none !important;
        background: #080808 !important;
    }

    /* COMO FUNCIONA: linha, título e conteúdo sem sobreposição. */
    html body.page-como-funciona #jornada .journey-step {
        min-height: 0 !important;
        height: auto !important;
        padding: 112px 24px 68px !important;
    }

    html body.page-como-funciona #jornada .journey-step::before {
        top: 88px !important;
    }

    html body.page-como-funciona #jornada .journey-step h3 {
        min-height: 0 !important;
        margin: 0 0 12px !important;
        font-size: 20px !important;
        line-height: 1.25 !important;
        text-align: center !important;
    }

    html body.page-como-funciona #jornada .journey-step p {
        max-width: 320px !important;
        margin-right: auto !important;
        margin-left: auto !important;
        font-size: 13px !important;
        line-height: 1.65 !important;
        text-align: center !important;
    }

    /* Cards numerados: altura pelo conteúdo e hierarquia consistente. */
    html body.page-como-funciona #principios .principle {
        min-height: 0 !important;
        height: auto !important;
        padding: 25px 22px 27px !important;
    }

    html body.page-como-funciona #principios .principle-number {
        font-size: 10px !important;
        line-height: 1 !important;
    }

    html body.page-como-funciona #principios .principle h3 {
        margin: 25px 0 10px !important;
        font-size: 20px !important;
        line-height: 1.25 !important;
        text-align: left !important;
    }

    html body.page-como-funciona #principios .principle p {
        margin: 0 !important;
        font-size: 13px !important;
        line-height: 1.65 !important;
        text-align: left !important;
    }
}

@media (max-width: 430px) {
    html body.page-como-funciona #jornada .journey-step {
        padding-right: 20px !important;
        padding-left: 20px !important;
    }
}

/* ==========================================================
   GCFC V96 — composição da hero inicial em celulares
   Cabeçalho textual, janela visual para as imagens e CTAs ao final.
   ========================================================== */
@media (max-width: 760px) {
    html body.page-home #inicio.hero {
        min-height: 760px !important;
        height: auto !important;
        padding: 0 !important;
        overflow: hidden !important;
        background: #050505 !important;
    }

    html body.page-home #inicio .hero-photo {
        top: 275px !important;
        bottom: auto !important;
        width: 100% !important;
        height: 310px !important;
        object-fit: contain !important;
        object-position: center center !important;
        opacity: 0 !important;
        transform: none !important;
        transition: opacity 1250ms cubic-bezier(.4, 0, .2, 1) !important;
    }

    html body.page-home #inicio .hero-photo.is-active {
        opacity: 1 !important;
    }

    html body.page-home #inicio .hero-overlay {
        background: linear-gradient(180deg, #050505 0 26%, rgba(5,5,5,.16) 39%, rgba(5,5,5,.10) 67%, #050505 78%) !important;
    }

    html body.page-home #inicio .hero-content {
        position: relative !important;
        z-index: 5 !important;
        box-sizing: border-box !important;
        width: min(calc(100% - 28px), 520px) !important;
        min-height: 760px !important;
        margin: 0 auto !important;
        padding: 112px 0 28px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        text-align: center !important;
    }

    html body.page-home #inicio .hero-title {
        margin: 0 auto !important;
        font-size: clamp(32px, 9.4vw, 43px) !important;
        line-height: .98 !important;
    }

    html body.page-home #inicio .hero-description {
        max-width: 390px !important;
        margin: 14px auto 0 !important;
        font-size: 13px !important;
        line-height: 1.5 !important;
        text-align: center !important;
    }

    html body.page-home #inicio .hero-actions {
        width: 100% !important;
        margin: auto 0 0 !important;
        gap: 10px !important;
    }

    html body.page-home #inicio .hero-button {
        width: 100% !important;
        min-height: 50px !important;
    }
}

@media (max-width: 390px) {
    html body.page-home #inicio.hero,
    html body.page-home #inicio .hero-content {
        min-height: 720px !important;
    }

    html body.page-home #inicio .hero-photo {
        top: 255px !important;
        height: 285px !important;
    }
}
