/* =====================================================================
   BLACK 2026 | ISA PRA SEMPRE :: FORMACOES PREMIUM (v3, black premium)
   Fundo champagne claro + cards pretos quentes + detalhes dourados.
   Cards em UMA coluna, sticky com top progressivo; o card coberto recua
   levemente (escala + veu) via JS. Desktop: card 2 deslocado 40px.
   Dentro da secao "Certificacoes" (5913967): oculta o titulo antigo
   (2a8af4b) e os cards antigos de FPC (bba4ca0) e Junguiana (b1bb704).
   ===================================================================== */

.elementor-11664 .elementor-element.elementor-element-2a8af4b,
.elementor-11664 .elementor-element.elementor-element-bba4ca0,
.elementor-11664 .elementor-element.elementor-element-b1bb704 {
    display: none !important;
}

/* ---------- fundo da secao: champagne claro editorial ---------- */

.elementor-11664 .elementor-element.elementor-element-5913967:not(.elementor-motion-effects-element-type-background) {
    background-color: #EFE4D4 !important;
    background-image: radial-gradient(ellipse 60% 38% at 50% 0%, rgba(255, 250, 240, .85) 0%, rgba(255, 250, 240, 0) 70%), radial-gradient(ellipse 50% 40% at 85% 70%, rgba(216, 179, 106, .16) 0%, rgba(216, 179, 106, 0) 70%), linear-gradient(180deg, #F5EEE5 0%, #EFE4D4 52%, #E6D7C2 100%) !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
}

.elementor-11664 .elementor-element.elementor-element-5913967::before {
    display: none !important;
}

/* sticky precisa que nenhum ancestral corte o overflow */

/* overflow-x: clip corta o deslocamento de entrada sem criar area de rolagem (sticky continua funcionando) */

.elementor-11664 .elementor-element.elementor-element-5913967 {
    overflow-x: clip !important;
    overflow-y: visible !important;
}

.elementor-11664 .elementor-element.elementor-element-5913967>.e-con-inner {
    overflow: visible !important;
}

.fp26 {
    --fp-ink: #1E150F;
    /* preto quente */
    --fp-ink-mid: #6B5443;
    /* marrom medio */
    --fp-gold: #C99A49;
    --fp-gold-deep: #B8842F;
    --fp-gold-soft: #D8B36A;
    --fp-card-ivory: #F7F1E8;
    --fp-card-muted: rgba(233, 217, 194, .8);
    --fp-display: "Bigola Display", "Laviossa", Georgia, serif;
    --fp-text: "Poppins", "Plus Jakarta Sans", Arial, sans-serif;
    --fp-top: clamp(72px, 11vh, 120px);
    /* onde o primeiro card prende */
    --fp-step: clamp(18px, 2.2vw, 28px);
    /* degrau entre cards presos */
    --fp-shift: 36px;
    /* deslocamento editorial entre cards */
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: clamp(64px, 7vw, 112px) 0 clamp(8px, 1vw, 16px);
    color: var(--fp-ink);
}

/* ---------- abertura ---------- */

.fp26-head {
    text-align: center;
    max-width: 800px;
    margin: 0 auto clamp(44px, 4.8vw, 72px);
}

.fp26-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin: 0 0 18px;
    padding-left: .32em;
    font-family: var(--fp-text);
    font-weight: 600;
    font-size: 11.5px;
    letter-spacing: .32em;
    text-transform: uppercase;
    color: var(--fp-gold-deep);
}

.fp26-eyebrow::before,
.fp26-eyebrow::after {
    content: "";
    width: 38px;
    height: 1px;
    background: linear-gradient(90deg, rgba(184, 132, 47, 0), var(--fp-gold-deep));
}

.fp26-eyebrow::after {
    background: linear-gradient(90deg, var(--fp-gold-deep), rgba(184, 132, 47, 0));
}

.fp26-title {
    margin: 0 0 clamp(20px, 2.2vw, 30px);
    font-family: var(--fp-display);
    font-weight: 400;
    font-size: clamp(30px, 3.2vw, 48px);
    line-height: 1.12;
    letter-spacing: 0;
    text-transform: none;
    color: var(--fp-ink);
    text-wrap: balance;
}

/* texto de apoio editorial: a propria tipografia faz o papel grafico */

.fp26-sub {
    margin: 0 auto;
    max-width: 680px;
    display: flex;
    flex-direction: column;
    gap: clamp(14px, 1.6vw, 24px);
}

.fp26-sub p {
    margin: 0;
}

.fp26-lead {
    font-family: var(--fp-text);
    font-weight: 300;
    font-size: clamp(18px, 1.5vw, 21px);
    line-height: 1.55;
    color: #3F2F22;
    text-wrap: balance;
}

.fp26-rest {
    font-family: var(--fp-text);
    font-weight: 400;
    font-size: clamp(14.5px, 1.1vw, 16px);
    line-height: 1.75;
    color: var(--fp-ink-mid);
    text-wrap: balance;
}

.fp26-k1 {
    font-family: var(--fp-display);
    font-weight: 400;
    font-style: normal;
    font-size: 1.5em;
    line-height: 1;
    letter-spacing: 0;
    color: var(--fp-ink);
    white-space: nowrap;
}

.fp26-money {
    font-family: var(--fp-display);
    font-weight: 400;
    font-style: normal;
    font-size: 1.55em;
    line-height: 1;
    letter-spacing: 0;
    color: #8E6220;
    white-space: nowrap;
}

.fp26-k2 {
    font-family: var(--fp-text);
    font-weight: 600;
    font-size: .84em;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #9C6D24;
    white-space: nowrap;
}

/* ---------- pilha (uma unica coluna) ---------- */

.fp26-stack {
    display: flex;
    flex-direction: column;
    gap: clamp(28px, 6vh, 64px);
    max-width: 1100px;
    margin: 0 auto;
    padding-bottom: 0;
}

.fp26-tail {
    display: none !important;
}

/* cards estaticos: sem sticky, sem JS, sem animacao */

.fp26-card {
    position: relative;
    height: auto;
    display: grid;
    grid-template-columns: 38% minmax(0, 1fr);
    gap: clamp(28px, 4vw, 60px);
    align-items: center;
    padding: clamp(26px, 3.4vw, 52px);
    padding-top: clamp(44px, 4.4vw, 64px);
    border-radius: 24px;
    border: 1px solid rgba(216, 179, 106, .55);
    background: radial-gradient(ellipse 55% 70% at 16% 30%, rgba(216, 179, 106, .09) 0%, rgba(216, 179, 106, 0) 70%), linear-gradient(160deg, #1A120D 0%, #15100D 45%, #0D0A08 100%);
    box-shadow: 0 18px 40px -20px rgba(40, 26, 12, .35);
}

.fp26-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 12%;
    right: 12%;
    height: 1px;
    background: linear-gradient(90deg, rgba(240, 214, 160, 0), rgba(240, 214, 160, .85), rgba(240, 214, 160, 0));
    pointer-events: none;
}

.fp26-num {
    position: absolute;
    top: clamp(16px, 1.6vw, 22px);
    left: clamp(26px, 3.4vw, 52px);
    font-family: var(--fp-display);
    font-size: 20px;
    line-height: 1;
    color: var(--fp-gold-soft);
    letter-spacing: .08em;
}

/* detalhe dourado entre os cards */

.fp26-card+.fp26-card::after {
    content: "";
    position: absolute;
    left: 50%;
    top: calc(-1 * clamp(28px, 6vh, 64px) / 2 - 3px);
    width: 6px;
    height: 6px;
    margin-left: -3px;
    transform: rotate(45deg);
    background: var(--fp-gold);
    pointer-events: none;
}

@media (min-width: 768px) {
    .fp26-card:nth-child(2) {
        grid-template-columns: minmax(0, 1fr) 38%;
    }
    .fp26-card:nth-child(2) .fp26-mock {
        order: 2;
    }
}

/* ---------- mockup: palco escuro com moldura dourada sutil ---------- */

.fp26-mock {
    position: relative;
    aspect-ratio: 2 / 3;
    max-height: min(64vh, 560px);
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    background: radial-gradient(ellipse 62% 55% at 50% 48%, rgba(216, 179, 106, .2) 0%, rgba(216, 179, 106, 0) 72%), linear-gradient(180deg, #1F1712 0%, #120D0A 100%);
    box-shadow: inset 0 0 0 1px rgba(216, 179, 106, .3), inset 0 0 0 6px rgba(13, 10, 8, .9), inset 0 0 0 7px rgba(216, 179, 106, .12), 0 18px 36px rgba(0, 0, 0, .45);
    padding: clamp(10px, 1vw, 14px);
    box-sizing: border-box;
}

.elementor-11664 .fp26-mock img,
.fp26-mock img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 12px;
    filter: drop-shadow(0 20px 30px rgba(0, 0, 0, .6)) drop-shadow(0 0 18px rgba(216, 179, 106, .12));
}

.elementor-11664 .fp26-mock--own img,
.fp26-mock--own img {
    border-radius: 0;
}

/* ---------- conteudo ---------- */

.fp26-body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: clamp(18px, 1.7vw, 24px);
}

.fp26-name {
    margin: 0;
    font-family: var(--fp-display);
    font-weight: 400;
    font-size: clamp(28px, 2.9vw, 42px);
    line-height: 1.1;
    letter-spacing: 0;
    text-transform: none;
    color: var(--fp-card-ivory);
    text-wrap: balance;
    max-width: 16em;
}

/* credencial: placa academica champagne */

.fp26-cred {
    display: flex;
    align-items: center;
    gap: 16px;
    align-self: flex-start;
    max-width: 100%;
    padding: 14px 22px 14px 14px;
    background: linear-gradient(180deg, rgba(255, 255, 255, .55), rgba(255, 255, 255, 0) 60%), linear-gradient(180deg, #F8F1E4 0%, #EFE3CC 100%);
    border: 1px solid rgba(201, 154, 73, .42);
    border-radius: 12px;
    box-shadow: inset 0 0 0 3px rgba(248, 241, 228, .9), inset 0 0 0 4px rgba(201, 154, 73, .22), 0 10px 22px rgba(0, 0, 0, .35);
}

.fp26-cred svg {
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    padding: 9px;
    box-sizing: border-box;
    border-radius: 50%;
    background: radial-gradient(circle at 50% 35%, #FFFBF2 0%, #F1E4CA 100%);
    box-shadow: inset 0 0 0 1px rgba(184, 132, 47, .5), 0 2px 6px rgba(120, 84, 30, .15);
    fill: none;
    stroke: #9A6B22;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.fp26-cred span {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
    padding-left: 16px;
    border-left: 1px solid rgba(184, 132, 47, .3);
}

.fp26-cred strong {
    font-family: var(--fp-text);
    font-weight: 600;
    font-size: 12.5px;
    line-height: 1.25;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--fp-ink);
}

.fp26-cred em {
    font-family: var(--fp-text);
    font-style: normal;
    font-weight: 400;
    font-size: 11.5px;
    line-height: 1.4;
    color: var(--fp-ink-mid);
}

.fp26-tag {
    margin: 0;
    align-self: flex-start;
    font-family: var(--fp-text);
    font-weight: 500;
    font-size: 11px;
    line-height: 1;
    letter-spacing: .28em;
    text-transform: uppercase;
    color: var(--fp-gold-soft);
    padding: 9px 14px 9px calc(14px + .28em);
    border: 1px solid rgba(216, 179, 106, .38);
    border-radius: 999px;
}

.fp26-value {
    margin: 2px 0 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-top: clamp(16px, 1.5vw, 22px);
    border-top: 1px solid rgba(216, 179, 106, .2);
    max-width: 30em;
}

.fp26-value span {
    font-family: var(--fp-text);
    font-weight: 500;
    font-size: 11px;
    letter-spacing: .26em;
    text-transform: uppercase;
    color: var(--fp-gold);
}

.fp26-value strong {
    font-family: var(--fp-display);
    font-weight: 400;
    font-size: clamp(36px, 3.3vw, 50px);
    line-height: 1;
    color: var(--fp-gold-soft);
    background: linear-gradient(180deg, #EBCB86 0%, #D8B36A 45%, #B8842F 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.fp26-desc {
    margin: 0;
    max-width: 32em;
    font-family: var(--fp-text);
    font-weight: 300;
    font-size: clamp(14.5px, 1.1vw, 16px);
    line-height: 1.68;
    color: var(--fp-card-muted);
    text-wrap: pretty;
}

/* ---------- fechamento / ponte para treinamentos ---------- */

.fp26-close {
    max-width: 640px;
    margin: clamp(44px, 5vw, 72px) auto clamp(28px, 3vw, 44px);
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.fp26-close p {
    margin: 0;
}

.fp26-close-a {
    font-family: var(--fp-display);
    font-weight: 400;
    font-style: italic;
    font-size: clamp(24px, 2.3vw, 34px);
    line-height: 1.25;
    color: var(--fp-ink);
    text-wrap: balance;
}

.fp26-close-a .fp26-money {
    font-style: normal;
    font-size: 1.35em;
}

.fp26-close-b {
    font-family: var(--fp-text);
    font-weight: 400;
    font-size: clamp(14.5px, 1.1vw, 16px);
    line-height: 1.65;
    color: var(--fp-ink-mid);
    text-wrap: balance;
}

/* ---------- tablet ---------- */

@media (max-width: 1024px) {
    .fp26 {
        padding-left: 4px;
        padding-right: 4px;
        --fp-shift: 24px;
    }
    .fp26-card {
        grid-template-columns: 38% minmax(0, 1fr);
        gap: 28px;
        padding: 44px 28px 28px;
        border-radius: 22px;
    }
    .fp26-num {
        left: 28px;
    }
    .fp26-name {
        font-size: clamp(24px, 3.2vw, 32px);
    }
    .fp26-cred {
        padding: 11px 16px 11px 11px;
        gap: 12px;
    }
    .fp26-cred svg {
        width: 36px;
        height: 36px;
        padding: 7px;
    }
    .fp26-cred span {
        padding-left: 12px;
    }
    .fp26-cred strong {
        font-size: 11px;
        letter-spacing: .13em;
    }
    .fp26-value strong {
        font-size: clamp(30px, 3.8vw, 38px);
    }
}

@media (min-width: 768px) and (max-width: 1140px) {
    .fp26-stack {
        padding-left: 20px;
        padding-right: 20px;
    }
}

/* ---------- mobile: sem deslocamento, imagem em cima, texto embaixo ---------- */

@media (max-width: 767px) {
    .fp26 {
        --fp-top: 16px;
        --fp-step: 14px;
        padding-top: 56px;
    }
    .fp26-head {
        margin-bottom: 32px;
    }
    .fp26-eyebrow {
        font-size: 10.5px;
        letter-spacing: .26em;
        gap: 10px;
    }
    .fp26-eyebrow::before,
    .fp26-eyebrow::after {
        width: 22px;
    }
    .fp26-title {
        font-size: clamp(26px, 7.2vw, 31px);
    }
    .fp26-lead {
        font-size: 17px;
        line-height: 1.55;
    }
    .fp26-rest {
        font-size: 14.5px;
        line-height: 1.7;
    }
    .fp26-k1 {
        font-size: 1.42em;
    }
    .fp26-k2 {
        letter-spacing: .12em;
    }
    .fp26-br {
        display: none;
    }
    .fp26-stack {
        gap: 28px;
    }
    .fp26-card {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 46px 18px 24px;
        border-radius: 20px;
        align-items: stretch;
    }
    .fp26-mock {
        aspect-ratio: 4 / 5;
        max-height: 54vh;
        padding: 10px;
        border-radius: 14px;
    }
    .fp26-tag {
        font-size: 10.5px;
        letter-spacing: .22em;
    }
    .fp26-close-a {
        font-size: 23px;
    }
    .fp26-body {
        gap: 14px;
    }
    .fp26-name {
        font-size: clamp(23px, 6.4vw, 27px);
    }
    .fp26-cred {
        align-self: stretch;
        padding: 11px 14px 11px 11px;
        gap: 12px;
    }
    .fp26-cred svg {
        width: 36px;
        height: 36px;
        padding: 7px;
    }
    .fp26-cred span {
        padding-left: 12px;
    }
    .fp26-cred strong {
        font-size: 11px;
        letter-spacing: .14em;
    }
    .fp26-value {
        padding-top: 12px;
    }
    .fp26-value strong {
        font-size: 32px;
    }
    .fp26-desc {
        font-size: 14.5px;
    }
    .fp26-num {
        left: 18px;
        top: 16px;
        font-size: 18px;
    }
    .fp26-card+.fp26-card::after {
        top: -17px;
    }
}

/* contencao da midia: mesma logica para os 3 cards (Safari) */

.fp26-card,
.fp26-card>* {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.fp26-mock {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    overflow: hidden;
    margin: 0;
    left: auto;
    right: auto;
    transform: none;
}

.elementor-11664 .fp26-mock img,
.fp26-mock img {
    min-width: 0;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
}

@media (max-width: 767px) {
    .fp26-card {
        grid-template-columns: minmax(0, 1fr);
    }
    .fp26-mock {
        width: 100%;
    }
}

/* entrada simples, uma vez (classe adicionada por IntersectionObserver) */

.fp26-card.fp26-ready {
    opacity: 0;
    transform: translateX(-32px);
}

.fp26-card.fp26-ready:nth-child(2) {
    transform: translateX(32px);
}

.fp26-card.fp26-ready.fp26-in {
    opacity: 1;
    transform: none;
    transition: opacity .6s cubic-bezier(.22, .7, .25, 1), transform .6s cubic-bezier(.22, .7, .25, 1);
}

@media (prefers-reduced-motion: reduce) {
    .fp26-card.fp26-ready {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}