/* Titillium Web: <link> em index.php. Inter: theme (style.min.css). */

/* ===================================
    Crafto - Branding Studio
====================================== */
/* Borrado inferior (Crafto): desligado no hero; ativo a partir de #sobre via efx-progressive-blur.js */
.crafto-progressive-blur.crafto-progressive-blur--off {
    visibility: hidden !important;
    pointer-events: none !important;
}

/* Lenis: compatível com tema e scroll nativo desativado no root */
html.lenis {
    height: auto;
}
html.lenis.lenis-smooth {
    scroll-behavior: auto !important;
}

/* Voltar ao topo: botão circular fixo */
.efx-back-to-top {
    position: fixed;
    right: max(1rem, env(safe-area-inset-right, 0px));
    bottom: max(1.25rem, env(safe-area-inset-bottom, 0px));
    z-index: 1080;
    width: 3.125rem;
    height: 3.125rem;
    border-radius: 50%;
    border: none;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--base-color);
    color: var(--efx-bg);
    box-shadow: 0 4px 22px rgba(0, 0, 0, 0.2);
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(0.75rem);
    transition:
        opacity 0.28s ease,
        visibility 0.28s ease,
        transform 0.28s ease,
        filter 0.2s ease;
}
.efx-back-to-top--visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.efx-back-to-top:hover {
    filter: brightness(1.07);
}
.efx-back-to-top:focus-visible {
    outline: 2px solid var(--base-color);
    outline-offset: 3px;
}
.efx-back-to-top .bi {
    font-size: 1.4rem;
    line-height: 1;
}
@media (prefers-reduced-motion: reduce) {
    .efx-back-to-top {
        transition: none;
    }
}

/* variable — títulos: Titillium Web | corpo: Inter */
/* EFX — mint mineral (#98fbcb) em fundo escuro (sem #000 em superfícies) */
:root {
    --font-tilinium: "Titillium Web", sans-serif;
    --alt-font: var(--font-tilinium);
    --primary-font: "Inter", sans-serif;
    --efx-bg: #070909;
    --efx-surface: #0f1412;
    --efx-border-color: #1d2622;
    --efx-text-primary: #f5f7f6;
    --efx-text-secondary: #8a948e;
    --base-color: #98fbcb;
    --base-color-hover: #b5fdd8;
    --base-color-rgb: 152, 251, 203;
    --efx-color-success: #72e8a8;
    --efx-surface-0: var(--efx-bg);
    --efx-surface-1: var(--efx-surface);
    --efx-surface-2: #151c18;
    --efx-surface-3: #1a221e;
    --efx-surface-inset: #0a0e0c;
    --efx-text-muted: rgba(138, 148, 142, 0.62);
    --efx-border: var(--efx-border-color);
    --efx-border-strong: #283a34;
    --efx-header-height: 5.25rem;
    --efx-hero-carousel-reserve: 5.25rem;
    --efx-hero-carousel-lift: 1.75rem;
    --efx-glow-brand: rgba(var(--base-color-rgb), 0.14);
    --efx-gradient-canvas: linear-gradient(180deg, #0c100e 0%, var(--efx-bg) 48%, #050707 100%);
    --base-color-section: #122820;
    --base-color-section-deep: #0f1412;
    --base-color-section-light: #1a3328;
    --dark-gray: var(--efx-text-primary);
    --medium-gray: var(--efx-text-secondary);
    --very-light-gray: var(--efx-surface-1);
    /* Texto em botões/fundos claros (não usar --dark-gray remapeado para claro) */
    --efx-text-on-light: #0a1210;
    --efx-text-on-light-green: #122820;
    --efx-nav-accent: #96fccb;
}
html {
    color-scheme: dark;
}
/* Teste: aplique class="font-tilinium" num elemento para validar a fonte no browser */
.font-tilinium {
    font-family: var(--font-tilinium);
}
/* reset */
body {
    font-size: 17px;
    line-height: 28px;
    font-family: var(--primary-font);
    font-weight: 400;
    background-color: var(--efx-surface-0);
    color: var(--efx-text-secondary);
}
.page-layout {
    background-color: var(--efx-surface-0);
}
.border-color-transparent-dark-very-light {
    border-color: var(--efx-border) !important;
}
.text-dark-gray {
    color: var(--efx-text-primary) !important;
}
.text-medium-gray {
    color: var(--efx-text-secondary) !important;
}
.btn-dark-gray {
    background-color: var(--efx-surface-2) !important;
    border-color: var(--efx-border-strong) !important;
    color: var(--efx-text-primary) !important;
}
.btn-dark-gray:hover,
.btn-dark-gray:focus {
    background-color: var(--efx-surface-3) !important;
    border-color: var(--efx-border-strong) !important;
    color: var(--efx-text-primary) !important;
}
/* Destaque verde: texto escuro em botões/badges claros */
.btn.btn-base-color,
.btn-base-color {
    background-color: var(--base-color) !important;
    border-color: rgba(var(--base-color-rgb), 0.45) !important;
    color: var(--efx-text-on-light) !important;
}
.btn.btn-base-color .btn-double-text,
.btn.btn-base-color .btn-double-text::before,
.btn.btn-base-color > span,
.btn.btn-base-color i {
    color: inherit !important;
}
.btn.btn-base-color:hover,
.btn.btn-base-color:focus,
.btn-base-color:hover,
.btn-base-color:focus {
    color: var(--efx-text-on-light) !important;
}
.btn.btn-box-shadow.btn-base-color:hover,
.btn.btn-box-shadow.btn-base-color:focus {
    background-color: var(--base-color) !important;
    color: var(--efx-text-on-light) !important;
}
/* Botão branco (seções claras / CTA sobre fundo branco) */
.btn.btn-white,
.btn-white {
    background-color: var(--white) !important;
    color: var(--efx-text-on-light-green) !important;
    border-color: rgba(10, 18, 16, 0.14) !important;
}
.btn.btn-white .btn-double-text,
.btn.btn-white .btn-double-text::before,
.btn.btn-white > span,
.btn.btn-white i {
    color: inherit !important;
}
.btn.btn-box-shadow.btn-white:hover,
.btn.btn-box-shadow.btn-white:focus,
.btn.btn-white:hover,
.btn.btn-white:focus {
    background-color: var(--white) !important;
    color: var(--efx-text-on-light-green) !important;
    border-color: rgba(10, 18, 16, 0.2) !important;
}
.text-white.bg-base-color,
.bg-base-color.text-white {
    color: var(--efx-text-on-light) !important;
}
/* Inter Regular para textos longos */
p, .lead, .text-block, section p, .accordion-body, .caption, footer, .navbar .nav-link {
    font-family: var(--primary-font);
    font-weight: 400;
}
/* Sobre: cidades/regiões em negrito + accent (evita conflito com animação "lines" que reescrevia o HTML) */
#sobre strong.about-accent {
    color: var(--base-color) !important;
    font-weight: 700 !important;
}
#sobre .efx-about-stat-card {
    color: var(--efx-text-on-light);
}
#sobre .efx-about-stat-card span {
    color: inherit;
}
/* heading: Titillium Web Light para títulos de secção */
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    font-family: var(--alt-font);
    font-weight: 300;
    letter-spacing: -1px;
}
h1, .h1 {
    font-size: 5rem;
    line-height: 5.2rem;
}
.h2, h2 {
    line-height: 3.2rem;
}
.h3, h3 {
    line-height: 2.8rem;
}
.h6, h6 {
    line-height: 2.2rem;
}
/* btn */
.btn {
    letter-spacing:0px;
    text-transform: none;
}
.btn.btn-extra-large {
    font-size: 19px;
    padding: 22px 45px;
}
.btn.btn-large {
    font-size: 16px;
    padding: 16px 34px;
}
.btn.btn-medium {
    font-size: 14px;
    padding: 12px 24px;
}
.btn.btn-small {
    font-size: 12px;
    padding: 9px 20px;
}
.btn.btn-very-small {
    font-size: 11px;
    padding: 9px 16px 7px;
}
.btn.btn-switch-text.btn-extra-large>span {
    padding: 22px 47px;
}
.btn.btn-switch-text.btn-large>span {
    padding: 16px 36px;
}
.btn.btn-switch-text.btn-medium>span {
    padding: 12px 26px;
}
.btn.btn-switch-text.btn-small>span {
    padding: 7px 22px;
}
.btn.btn-switch-text.btn-very-small>span {
    padding: 11px 18px 9px;
}
.btn.btn-link {
    padding: 0 0 2px;
}
.btn.btn-transparent-light-gray:active, .btn.btn-transparent-light-gray:hover {
    border-color: var(--dark-gray);
}
/* gradient background color */
.bg-gradient-misty-rose {
    background-image: linear-gradient(165deg, var(--efx-surface-2) 0%, var(--efx-surface-1) 55%, var(--efx-surface-0) 100%);
    border: 1px solid var(--efx-border);
}
/* text gradient color */
.text-gradient-light-gray-white {
    background-image: linear-gradient(to bottom, rgba(245, 247, 246, 0.45), rgba(245, 247, 246, 0.65), rgba(245, 247, 246, 0.82), var(--efx-text-primary));
}
/* background */
.bg-bright-turquoise {
    background-color: rgba(var(--base-color-rgb), 0.14);
}
.bg-seashell {
    background-color: var(--efx-surface-0);
}
.bg-base-color-transparent {
    background-color: rgba(var(--base-color-rgb), 0.8);
}
/* padding */
.pb-190px {
    padding-bottom: 190px;
}
/* bg sliding line */ 
.bg-sliding-line-dark-gray { 
    background-image: linear-gradient(135deg, transparent 45%, #464646 45%, #464646 55%, transparent 0);
    background-size: 5px 5px;
}
/* header */
header {
    position: sticky;
    top: 0;
    z-index: 1040;
}
/* Crafto: .disable-fixed usa position:absolute e retira a navbar do fluxo — com header sticky a altura colapsa e o JS duplica .top-space-margin no hero */
header .navbar.disable-fixed {
    position: relative !important;
}
header .container-fluid {
    padding-left: 4%;
    padding-right: 4%;
}
.navbar .navbar-nav .nav-link {
    font-size: 17px;
    font-family: var(--alt-font);
}
.navbar .btn.btn-switch-text.btn-large > span {
    padding: 13px 25px 12px;
}
header .left-nav .navbar-nav:before {
    background: var(--efx-border);
}
/* Header dark (fintech slate) */
header .navbar.efx-header-dark {
    background-color: var(--efx-surface-0) !important;
    border-bottom-color: var(--efx-border) !important;
}
/* Home: vídeo atrás do header + hero; navbar semitransparente no topo */
.efx-home-hero {
    position: relative;
    isolation: isolate;
}
.efx-home-hero__video-bg {
    position: absolute;
    top: calc(-1 * var(--efx-header-height));
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
}
.efx-home-hero__video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
}
.efx-home-hero__video-scrim {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(7, 9, 9, 0.58) 0%, rgba(7, 9, 9, 0.34) 20%, rgba(7, 9, 9, 0.46) 55%, rgba(7, 9, 9, 0.8) 100%),
        radial-gradient(ellipse 85% 55% at 18% 45%, rgba(7, 9, 9, 0.28), transparent 62%);
}
header:has(+ .efx-home-hero) .navbar.efx-header-dark {
    background-color: rgba(7, 9, 9, 0.48) !important;
    backdrop-filter: blur(14px) saturate(1.12);
    -webkit-backdrop-filter: blur(14px) saturate(1.12);
    border-bottom-color: rgba(29, 38, 34, 0.42) !important;
}
.efx-home-hero .efx-hero-fold {
    position: relative;
    z-index: 1;
}
@media (prefers-reduced-motion: reduce) {
    .efx-home-hero__video {
        display: none;
    }
    .efx-home-hero__video-scrim {
        background: var(--efx-surface-0);
    }
    header:has(+ .efx-home-hero) .navbar.efx-header-dark {
        background-color: var(--efx-surface-0) !important;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }
}
header .navbar.efx-header-dark .navbar-nav .nav-link {
    color: var(--efx-text-primary) !important;
}
/* Crafto aplica opacity:.6 no hover/ativo — sobrescrever com accent do menu */
header .navbar.efx-header-dark .navbar-nav .nav-link:hover,
header .navbar.efx-header-dark .navbar-nav .nav-item:hover .nav-link,
header .navbar.efx-header-dark .navbar-nav .nav-item.active .nav-link,
header .navbar.efx-header-dark .navbar-nav .nav-link:focus-visible {
    color: var(--efx-nav-accent) !important;
    opacity: 1 !important;
}
header .navbar.efx-header-dark .navbar-brand img {
    filter: none;
}
/* highlight separator */
.highlight-separator[data-shadow-animation] span,
.highlight-separator[data-shadow-animation] span img {
    height: 29px;
    z-index: -1;
}
.highlight-separator[data-shadow-animation] span {
    bottom: -13px;
}
/* height */
.h-430px {
    height: 430px !important;
}
/* position */
.bottom-minus-180px {
    bottom: -180px;
}
/* HTML video play */
.video-icon-medium .video-icon {
    width: 60px;
    height: 60px;
}
.video-icon-medium .video-icon .video-icon-sonar .video-icon-sonar-bfr {
    width: 110px;
    height: 110px;
}
/* blog button */
.categories-btn {
    font-size: 12px;
}
/* accordion style 02 */
.accordion-style-02 .accordion-item .accordion-header {
    padding: 24px 0;
}
.accordion-style-02 .accordion-item .accordion-body {
    padding-right: 35px;
}
/* review star */
.review-star-icon i {
    color: var(--base-color);
}
/* animation rotation */
.animation-rotation-slow {
    -webkit-animation: rotation 35s infinite linear;
}
/* list */
.list-style-02 li {
    align-items: center;
}
/* portfolio */
.portfolio-transform .portfolio-box .caption {
    box-shadow: none;
    padding: 10px 35px;
}
/* page title */
.page-title-extra-large h2 {
    font-size: 5rem;
    line-height: 5rem;
}
.page-title-extra-large h1 {
    font-size: 14px;
    line-height: 21px;
    letter-spacing: 0px;
}
/* swiper */
.swiper-pagination-style-2 .swiper-pagination-bullet:first-child{
    margin-left: 0 !important;
}
.swiper-pagination-style-2 .swiper-pagination-bullet {
    margin: 0 10px !important;
}
/* Rodapé: estilos globais mínimos (detalhe em .payFtr_v2026_root) */
footer.payFtr_v2026_root {
    font-family: var(--primary-font);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: relative;
}
footer.payFtr_v2026_root::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--base-color) 35%, var(--base-color) 65%, transparent);
    opacity: 0.9;
    pointer-events: none;
}
@-webkit-keyframes rotation {
    from {
        -webkit-transform: rotate(0deg);
    }
    to {
        -webkit-transform: rotate(359deg);
    }
}
@media (min-width: 1400px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1270px;
    }
}
@media (max-width: 1900px) {
    .fs-275 {
        font-size: 14rem;
        line-height: 14rem;
    }
}
@media (max-width: 1600px) {
    header .container-fluid {
        padding-left: 2%;
        padding-right: 2%;
    }
    h1, .h1 {
        font-size: 4rem;
        line-height: 4rem;
    }
    .fs-275 {
        font-size: 12rem;
        line-height: 12rem;
    }
}
@media (max-width: 1399px) {
    .navbar .navbar-nav .nav-link {
        padding: 10px 10px;
    }
    .fs-275 {
        font-size: 9rem;
        line-height: 9rem;
    }
}
@media (max-width: 991px) {
    .fs-275 {
        font-size: 8rem;
        line-height: 8rem;
    }
}
@media (max-width: 767px) { 
    .fs-275 {
        font-size: 4rem;
        line-height: 4rem;
    }
}

/* Conheça a plataforma: mockup de navegador + viewport 16:9 */
#conheca-a-plataforma .efx-browser-mock {
    border-radius: 14px;
    overflow: hidden;
    background: var(--efx-surface-3);
    border: 1px solid var(--efx-border-strong);
    box-shadow:
        0 14px 48px rgba(10, 12, 16, 0.45),
        0 4px 14px rgba(10, 12, 16, 0.25);
}
#conheca-a-plataforma .efx-browser-mock__chrome {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 14px;
    background: var(--efx-surface-3);
    border-bottom: 1px solid var(--efx-border);
}
#conheca-a-plataforma .efx-browser-mock__dots {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    gap: 6px;
    align-items: center;
}
#conheca-a-plataforma .efx-browser-mock__dots span {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.15);
}
#conheca-a-plataforma .efx-browser-mock__dots span:nth-child(1) {
    background: #ff5f57;
}
#conheca-a-plataforma .efx-browser-mock__dots span:nth-child(2) {
    background: #febc2e;
}
#conheca-a-plataforma .efx-browser-mock__dots span:nth-child(3) {
    background: #28c840;
}
#conheca-a-plataforma .efx-browser-mock__url {
    font-size: 0.72rem;
    line-height: 1.2;
    letter-spacing: 0.02em;
    color: var(--efx-text-muted);
    font-family: var(--primary-font);
    max-width: 70%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
#conheca-a-plataforma .efx-browser-mock__viewport {
    aspect-ratio: 16 / 9;
    width: 100%;
    background: var(--efx-surface-inset);
    overflow: hidden;
}
#conheca-a-plataforma .efx-browser-mock__placeholder {
    width: 100%;
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 1rem;
    text-align: center;
    background: linear-gradient(155deg, var(--efx-surface-2) 0%, var(--efx-surface-3) 42%, var(--efx-surface-1) 100%);
    border: 0;
}
#conheca-a-plataforma .efx-browser-mock__placeholder::after {
    content: "";
    width: min(42%, 140px);
    height: 3px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
}
#conheca-a-plataforma .efx-browser-mock__placeholder-label {
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--efx-text-muted);
}
#conheca-a-plataforma .efx-browser-mock__placeholder-ratio {
    font-size: 0.8rem;
    font-weight: 500;
    color: rgba(148, 163, 184, 0.45);
    letter-spacing: 0.04em;
}
#conheca-a-plataforma .efx-browser-mock__shot {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}
@media (max-width: 991.98px) and (prefers-reduced-motion: no-preference) {
    #conheca-a-plataforma .efx-browser-mock__shot {
        opacity: 0;
        transform: translateY(22px) scale(0.985);
        transition: opacity 0.62s ease, transform 0.62s cubic-bezier(0.22, 1, 0.36, 1);
        will-change: opacity, transform;
    }
    #conheca-a-plataforma .efx-browser-mock__shot.is-visible {
        opacity: 1;
        transform: none;
    }
}

/* Primeira dobra: hero fullscreen + carrossel de cotações sobreposto (mesma célula de grid) */
.efx-hero-fold {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    min-height: calc(100dvh - var(--efx-header-height));
    min-height: calc(100svh - var(--efx-header-height));
    box-sizing: border-box;
}
.efx-home-hero .efx-hero-fold {
    isolation: isolate;
}
.efx-hero-fold > section.hero2-efx {
    grid-column: 1;
    grid-row: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-bottom: 0;
    padding-top: clamp(1rem, 3vh, 2.5rem) !important;
    padding-bottom: calc(var(--efx-hero-carousel-reserve) + 0.5rem) !important;
    box-sizing: border-box;
    overflow: visible !important;
}
.efx-hero-fold > section.hero2-efx > .container-fluid {
    flex: 1;
    display: flex;
    align-items: center;
    width: 100%;
}
.efx-hero-fold > section.hero2-efx > .container-fluid > .row {
    width: 100%;
}
.efx-hero-fold > #cotacoes-cripto.section-crypto-quotes--hero-overlay,
.efx-hero-fold > .section-crypto-quotes--hero-overlay {
    grid-column: 1;
    grid-row: 1;
    align-self: end;
    justify-self: stretch;
    z-index: 3;
    width: 100%;
    margin: 0;
    padding: 0;
    background: transparent;
    pointer-events: none;
    transform: translateY(calc(-1 * var(--efx-hero-carousel-lift)));
}
.section-crypto-quotes--hero-overlay .section-crypto-quotes__carousel {
    position: relative;
    z-index: 1;
    pointer-events: auto;
    padding-bottom: max(0.85rem, env(safe-area-inset-bottom, 0px));
}
/* Pills glass no hero: halo visível atrás via backdrop-filter */
.section-crypto-quotes--hero-overlay .section-crypto-quotes__pill {
    background: rgba(12, 16, 14, 0.38);
    border: 1px solid rgba(var(--base-color-rgb), 0.14);
    backdrop-filter: blur(14px) saturate(1.2);
    -webkit-backdrop-filter: blur(14px) saturate(1.2);
    box-shadow:
        0 8px 28px rgba(0, 0, 0, 0.22),
        inset 0 1px 0 rgba(255, 255, 255, 0.07);
}
.section-crypto-quotes--hero-overlay .section-crypto-quotes__pill-symbol {
    color: var(--efx-text-primary);
    text-shadow: 0 1px 12px rgba(0, 0, 0, 0.35);
}
.section-crypto-quotes--hero-overlay .section-crypto-quotes__pill-price {
    color: rgba(245, 247, 246, 0.82);
}
.section-crypto-quotes--hero-overlay .section-crypto-quotes__pill--loaded .section-crypto-quotes__pill-price {
    color: var(--efx-text-primary);
}
@media (prefers-reduced-motion: reduce) {
    .section-crypto-quotes--hero-overlay .section-crypto-quotes__pill {
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        background: rgba(15, 20, 18, 0.82);
    }
}
.section-crypto-quotes__retry--overlay {
    position: absolute;
    left: 50%;
    bottom: max(calc(1rem + var(--efx-hero-carousel-lift)), env(safe-area-inset-bottom, 0px));
    z-index: 4;
    transform: translateX(-50%);
    pointer-events: auto;
    white-space: nowrap;
}
.page-layout > .efx-hero-fold + #sobre {
    padding-top: clamp(1.5rem, 4vw, 2.5rem);
}
@media (max-width: 991.98px) {
    :root {
        --efx-header-height: 4.25rem;
        --efx-hero-carousel-reserve: 4.15rem;
        --efx-hero-carousel-lift: 2.45rem;
    }
    .efx-hero-fold > section.hero2-efx {
        padding-top: 0.65rem !important;
        padding-bottom: calc(var(--efx-hero-carousel-reserve) + 0.1rem) !important;
    }
    .section-crypto-quotes--hero-overlay .section-crypto-quotes__carousel {
        padding-bottom: max(0.5rem, env(safe-area-inset-bottom, 0px));
    }
}

/* Hero2: conteúdo sobre vídeo (vídeo em .efx-home-hero) */
.hero2-efx--has-video {
    background: transparent;
}
.hero2-efx--has-video > .container-fluid {
    position: relative;
    z-index: 2;
}
.hero2-efx--has-video .hero2-efx__text {
    text-align: left;
    margin-left: 0;
    margin-right: 0;
}
.hero2-efx--has-video .hero2-efx__text .hero2-efx__rotate,
.hero2-efx--has-video .hero2-efx__text .hero2-efx__rotate-inner {
    text-align: left;
}
.hero2-efx--has-video .hero2-efx__actions {
    justify-content: flex-start;
    margin-left: 0;
    margin-right: 0;
}

/* Hero2: halos (sem grelha) */
section.hero2-efx {
    position: relative;
}
section.hero2-efx::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
    background:
        radial-gradient(ellipse 90% 60% at 50% -5%, var(--efx-glow-brand), transparent 52%),
        radial-gradient(ellipse 90% 60% at 50% 105%, var(--efx-glow-brand), transparent 52%);
    background-size: 100% 100%, 100% 100%;
    background-position: 0 0, 0 0;
}
.efx-hero-fold > section.hero2-efx::before {
    background:
        radial-gradient(ellipse 90% 60% at 50% -5%, var(--efx-glow-brand), transparent 52%),
        radial-gradient(ellipse 110% 75% at 50% 108%, rgba(var(--base-color-rgb), 0.2), transparent 58%);
}
section.hero2-efx:not(.hero2-efx--has-video) > .container-fluid {
    position: relative;
    z-index: 1;
}

/* Hero2: título + palavra rotativa (efx-hero2-rotate.js) */
.hero2-efx__headline .hero2-efx__headline-line,
.hero2-efx__headline .hero2-efx__rotate,
.hero2-efx__headline .hero2-efx__rotate-inner {
    position: relative;
    z-index: 1;
}
.hero2-efx__headline {
    overflow: visible;
}
.hero2-efx__headline-line {
    display: inline;
}
.hero2-efx__rotate {
    display: inline-block;
    min-width: 14ch;
    max-width: 100%;
    vertical-align: baseline;
    box-sizing: border-box;
    text-align: inherit;
}
@media (max-width: 1199.98px) {
    section.hero2-efx:not(.hero2-efx--has-video) .hero2-efx__text .hero2-efx__rotate,
    section.hero2-efx:not(.hero2-efx--has-video) .hero2-efx__text .hero2-efx__rotate-inner {
        text-align: center;
    }
}
@media (min-width: 1200px) {
    .hero2-efx__text .hero2-efx__rotate,
    .hero2-efx__text .hero2-efx__rotate-inner {
        text-align: left;
    }
}
.hero2-efx__rotate-inner {
    display: inline;
    font-family: var(--font-tilinium);
    font-weight: 500;
    color: var(--base-color);
    text-transform: none;
    letter-spacing: 0.02em;
}
/* Cursor no fim da palavra (::after colado ao texto; sem min-width no inner) */
.hero2-efx__rotate.hero2-efx__rotate--typing .hero2-efx__rotate-inner::after {
    content: "";
    display: inline-block;
    width: 0.085em;
    min-width: 2px;
    height: 0.78em;
    margin-left: 0.05em;
    background-color: currentColor;
    vertical-align: -0.08em;
    animation: hero2-efx-caret 0.95s steps(1, end) infinite;
}
@keyframes hero2-efx-caret {
    0%,
    49% {
        opacity: 1;
    }
    50%,
    100% {
        opacity: 0;
    }
}
@media (prefers-reduced-motion: reduce) {
    .hero2-efx__rotate.hero2-efx__rotate--typing .hero2-efx__rotate-inner::after {
        display: none;
    }
}

/* Hero: animação Lottie (global.json 800×600) */
.hero-lottie svg {
    width: 100%;
    height: auto;
    display: block;
}

/* Hero2: só mobile — Lottie antes do título; menos espaço do header; Lottie maior; CTAs empilhados e iguais */
@media (max-width: 991.98px) {
    section.hero2-efx {
        margin-top: 0 !important;
        padding-top: 0.65rem !important;
        padding-bottom: 2.75rem !important;
    }
    .efx-hero-fold > section.hero2-efx {
        margin-top: 0 !important;
        padding-top: 0.65rem !important;
        padding-bottom: calc(var(--efx-hero-carousel-reserve) + 0.1rem) !important;
    }
    .hero2-efx > .container-fluid > .row {
        display: flex;
        flex-direction: column;
        justify-content: center !important;
    }
    .hero2-efx__text,
    .hero2-efx__lottie {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
    }
    .hero2-efx__text,
    .hero2-efx__text.text-start {
        text-align: center !important;
    }
    .hero2-efx--has-video .hero2-efx__text {
        text-align: center !important;
        margin-left: auto;
        margin-right: auto;
    }
    .hero2-efx__text .hero2-efx__headline,
    .hero2-efx__text .lead {
        text-align: center !important;
    }
    .hero2-efx__text .hero2-efx__rotate,
    .hero2-efx__text .hero2-efx__rotate-inner,
    .hero2-efx--has-video .hero2-efx__text .hero2-efx__rotate,
    .hero2-efx--has-video .hero2-efx__text .hero2-efx__rotate-inner {
        text-align: center;
    }
    .hero2-efx__text .lead {
        margin-left: auto;
        margin-right: auto;
    }
    .hero2-efx__lottie {
        order: -1;
        padding-top: 0;
        margin-top: 0;
        padding-bottom: 0.35rem;
    }
    .hero2-efx__text {
        order: 0;
    }
    .hero2-efx__lottie .hero-lottie {
        width: 100%;
        max-width: min(100%, 580px);
        margin-left: auto;
        margin-right: auto;
    }
    .hero2-efx__actions,
    .hero2-efx__actions.justify-content-start {
        flex-direction: column !important;
        align-items: stretch;
        justify-content: center !important;
        gap: 0.65rem;
        width: 80%;
        max-width: 80%;
        margin-left: auto;
        margin-right: auto;
        padding-bottom: 0.35rem;
    }
    .hero2-efx--has-video .hero2-efx__actions {
        justify-content: center;
        align-items: center;
        width: 80%;
        max-width: 80%;
        margin-left: auto;
        margin-right: auto;
    }
    .hero2-efx__actions .btn {
        width: 100%;
        flex: 0 0 auto;
        min-height: 3.15rem;
        margin-left: 0 !important;
        margin-bottom: 0 !important;
        padding-top: 0.8rem;
        padding-bottom: 0.8rem;
        padding-left: 1rem;
        padding-right: 1rem;
        font-size: 1.125rem;
        line-height: 1.3;
        white-space: normal;
        text-align: center;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
    .hero2-efx__actions .btn > span {
        flex-wrap: wrap;
        justify-content: center;
        row-gap: 0.2rem;
        width: 100%;
    }
}

/* Números: SVG inline (assets ou ilustracoes/) */
.numbers-stat-icon-svg,
.numbers-stat-icon-wrap > svg {
    width: clamp(4.25rem, 12vw, 7rem);
    height: auto;
    display: block;
    flex-shrink: 0;
}

@media (max-width: 991.98px) {
    .efx-numbers-section .numbers-stat-icon-wrap > svg,
    .efx-numbers-section .numbers-stat-icon-svg {
        width: clamp(4.625rem, 13.25vw, 7rem);
    }
    .efx-numbers-section .efx-numbers-section__cell .fs-20 {
        font-size: 1.125rem;
        line-height: 1.35;
    }
}

/* About: cards de destaque (ex-numbers) antes do CTA */
#sobre .efx-about-stats__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    text-align: center;
    padding: 1.35rem 1.15rem;
    border-radius: 16px;
    border: 1px solid var(--efx-border);
    background: var(--efx-surface-1);
    transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}
@media (prefers-reduced-motion: no-preference) {
    #sobre .efx-about-stats__card:hover {
        border-color: rgba(var(--base-color-rgb), 0.28);
        box-shadow: 0 12px 32px rgba(0, 0, 0, 0.28);
    }
}
#sobre .efx-about-stats__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    line-height: 0;
}
#sobre .efx-about-stats__icon > svg {
    width: clamp(3.25rem, 10vw, 4.75rem);
    height: auto;
    display: block;
}
#sobre .efx-about-stats__label {
    line-height: 1.35;
    max-width: 14rem;
}
@media (min-width: 992px) {
    #sobre .efx-about-stats__card {
        flex-direction: row;
        align-items: center;
        text-align: left;
        gap: 1rem;
        padding: 1.25rem 1.35rem;
    }
    #sobre .efx-about-stats__label {
        max-width: none;
    }
}

/* Casos de uso: ilustração no canto inferior direito dos cards */
#casos-de-uso .casos-uso-card-illu {
    width: clamp(12rem, 42vw, 22rem);
    height: auto;
    max-width: 92%;
    display: block;
    z-index: 0;
    pointer-events: none;
}

@media (max-width: 767.98px) {
    #casos-de-uso .casos-uso-card-illu {
        width: clamp(19rem, 88vw, 32rem);
        max-width: 100%;
        transform-origin: right bottom;
    }
}

/* Segurança: desktop — 2 por linha no HTML; SVG à esquerda, texto à direita alinhado à esquerda */
#seguranca .seguranca-card-inner {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1.25rem;
}
#seguranca .seguranca-card-inner .seguranca-card-body {
    align-items: center;
}
#seguranca .seguranca-card-illu {
    width: clamp(10rem, 52vw, 15rem);
    flex-shrink: 0;
    z-index: 1;
    pointer-events: none;
}
#seguranca .seguranca-card-illu > svg {
    width: 100%;
    height: auto;
    display: block;
}

@media (min-width: 992px) {
    #seguranca .seguranca-card-inner {
        flex-direction: row;
        align-items: center;
        text-align: left;
        gap: 1.75rem;
        min-height: 300px;
    }
    #seguranca .seguranca-card-inner .seguranca-card-body {
        align-items: flex-start;
        text-align: left;
    }
    #seguranca .seguranca-card-illu {
        width: clamp(8.5rem, 30%, 11rem);
        max-width: 40%;
    }
}

/* Faixa “Pagamentos globais”: verde brand suave e translúcido */
.efx-strip-pagamentos {
    background-image: linear-gradient(
        102deg,
        rgba(var(--base-color-rgb), 0.14) 0%,
        rgba(var(--base-color-rgb), 0.22) 42%,
        rgba(var(--base-color-rgb), 0.17) 78%,
        rgba(var(--base-color-rgb), 0.11) 100%
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}
@supports not (background-clip: text) {
    .efx-strip-pagamentos {
        color: rgba(var(--base-color-rgb), 0.26);
        -webkit-text-fill-color: rgba(var(--base-color-rgb), 0.26);
    }
}

/* Secção Contato: variante .section-contato--dark = canvas fintech */
.section-contato {
    --contato-accent: var(--base-color);
    --contato-accent-hover: var(--base-color-hover);
    --contato-form-surface: var(--efx-surface-1);
    padding: 5rem 1rem 5.5rem;
}
@media (min-width: 992px) {
    .section-contato {
        padding: 6rem 1.5rem 7rem;
    }
}
.section-contato__inner {
    z-index: 1;
}
.section-contato__title {
    font-family: var(--alt-font);
    font-weight: 300;
    letter-spacing: -0.02em;
    font-size: clamp(1.85rem, 4vw, 2.75rem);
    line-height: 1.2;
}
.section-contato__lead {
    font-size: 1.05rem;
    line-height: 1.55;
    max-width: 36em;
    color: var(--medium-gray);
}
.section-contato__form-card {
    background: var(--contato-form-surface);
    border: 1px solid var(--efx-border);
    border-radius: 18px;
    padding: 2rem 1.5rem;
    box-shadow: 0 8px 32px rgba(10, 12, 16, 0.35);
}
@media (min-width: 768px) {
    .section-contato__form-card {
        padding: 2.5rem 2.25rem;
    }
}
.section-contato__label {
    display: block;
    text-align: left;
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--efx-text-primary);
    margin-bottom: 0.45rem;
}
.section-contato__input,
.section-contato__select,
.section-contato__textarea {
    background-color: var(--efx-surface-2) !important;
    border: 1px solid var(--efx-border-strong) !important;
    border-radius: 10px !important;
    color: var(--efx-text-primary) !important;
    padding: 0.65rem 1rem;
    font-size: 0.95rem;
}
.section-contato__input::placeholder,
.section-contato__textarea::placeholder {
    color: var(--efx-text-muted);
}
.section-contato__input:focus,
.section-contato__select:focus,
.section-contato__textarea:focus {
    border-color: var(--contato-accent) !important;
    box-shadow: 0 0 0 3px rgba(var(--base-color-rgb), 0.22) !important;
    outline: none;
    color: var(--efx-text-primary) !important;
}
.section-contato__textarea {
    min-height: 120px;
    resize: vertical;
}
.section-contato__select {
    cursor: pointer;
    background-color: var(--efx-surface-2) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23cbd5e1' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 12px;
    padding-right: 2.5rem;
    appearance: none;
}
.section-contato__select option {
    background: var(--efx-surface-2);
    color: var(--efx-text-primary);
}
.section-contato__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--alt-font);
    font-weight: 500;
    font-size: 1.15rem;
    letter-spacing: 0.02em;
    color: var(--efx-bg) !important;
    background: var(--contato-accent) !important;
    border: none !important;
    border-radius: 999px !important;
    padding: 1rem 1.5rem;
    transition: background 0.2s ease, transform 0.15s ease;
}
.section-contato__submit:hover {
    background: var(--contato-accent-hover) !important;
    color: var(--efx-bg) !important;
}
.section-contato.section-contato--dark {
    position: relative;
    padding-left: 0;
    padding-right: 0;
    padding-top: 5.625rem;
    padding-bottom: 5.625rem;
    background: var(--efx-gradient-canvas);
    overflow: hidden;
}
.section-contato--dark::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(ellipse 80% 50% at 20% 0%, rgba(var(--base-color-rgb), 0.08), transparent 55%),
        radial-gradient(ellipse 60% 40% at 90% 100%, rgba(var(--base-color-rgb), 0.06), transparent 50%);
}
@media (min-width: 992px) {
    .section-contato.section-contato--dark {
        padding-top: 6.875rem;
        padding-bottom: 6.875rem;
    }
}
.section-contato--dark .section-contato__title,
.section-contato--dark h2 {
    color: var(--efx-text-primary);
}
.section-contato--dark .section-contato__lead {
    color: var(--efx-text-secondary);
}
.section-contato--dark .section-contato__badge {
    background: var(--efx-surface-2) !important;
    border: 1px solid var(--efx-border-strong);
    color: var(--base-color) !important;
}

/* FAQ: accordion */
.section-faq {
    background-color: var(--efx-surface-0);
}
.section-faq__title {
    font-family: var(--alt-font);
    font-size: clamp(2rem, 4vw, 2.75rem);
    line-height: 1.15;
    letter-spacing: -0.02em;
}
.section-faq__accordion {
    --bs-accordion-border-radius: 14px;
    --bs-accordion-inner-border-radius: calc(14px - 1px);
}
.section-faq__item {
    border: 1px solid var(--efx-border);
    border-radius: 14px !important;
    margin-bottom: 12px;
    overflow: hidden;
    background: var(--efx-surface-1);
}
.section-faq__item:last-child {
    margin-bottom: 0;
}
.section-faq__header {
    margin-bottom: 0;
}
.section-faq__btn {
    font-family: var(--primary-font);
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--efx-text-primary) !important;
    background-color: var(--efx-surface-1) !important;
    padding: 1.15rem 1.35rem;
    box-shadow: none !important;
}
.section-faq__btn:not(.collapsed) {
    color: var(--efx-text-primary) !important;
    background-color: var(--efx-surface-2) !important;
}
.section-faq__btn::after {
    background-size: 1.1rem;
    filter: invert(1) brightness(1.2);
    opacity: 0.45;
}
.section-faq__btn:focus {
    border-color: transparent;
    box-shadow: 0 0 0 3px rgba(var(--base-color-rgb), 0.2) !important;
}
.section-faq__body {
    padding: 0 1.35rem 1.25rem 1.35rem;
    font-size: 1rem;
    line-height: 1.65;
    color: var(--efx-text-secondary);
    border-top: 1px solid var(--efx-border);
    padding-top: 1rem;
    background-color: var(--efx-surface-2);
}

/* ========== Rodapé v2026 (.payFtr_v2026_*) — isolado, sem herdar regras antigas ========== */
.payFtr_v2026_root {
    --payFtr_ease: cubic-bezier(0.33, 1, 0.68, 1);
    --payFtr_ink: var(--efx-text-primary);
    --payFtr_ink2: var(--efx-text-secondary);
    --payFtr_ink3: var(--efx-text-muted);
    --payFtr_edge: var(--efx-border);
    --payFtr_edge2: var(--efx-border-color);
    position: relative;
    margin: 0;
    padding: 0;
    color: var(--payFtr_ink2);
    font-size: 0.9375rem;
    line-height: 1.6;
    background-color: var(--efx-surface-0);
    overflow: hidden;
}
.payFtr_v2026_root *,
.payFtr_v2026_root *::before,
.payFtr_v2026_root *::after {
    box-sizing: border-box;
}
.payFtr_v2026_canvas {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background:
        radial-gradient(ellipse 85% 55% at 50% -8%, rgba(var(--base-color-rgb), 0.11), transparent 55%),
        var(--efx-gradient-canvas);
}
.payFtr_v2026_topline {
    position: relative;
    z-index: 2;
    height: 1px;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(var(--base-color-rgb), 0.35) 20%,
        var(--base-color) 50%,
        rgba(var(--base-color-rgb), 0.35) 80%,
        transparent
    );
}
.payFtr_v2026_shell {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: clamp(2.75rem, 6.5vw, 4.5rem) clamp(1.25rem, 4vw, 1.75rem) clamp(2rem, 4vw, 2.75rem);
}
.payFtr_v2026_head {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    padding-bottom: clamp(2rem, 4vw, 2.75rem);
    margin-bottom: clamp(2rem, 4vw, 2.75rem);
    border-bottom: 1px solid var(--payFtr_edge2);
}
@media (min-width: 992px) {
    .payFtr_v2026_head {
        flex-direction: row;
        align-items: flex-end;
        justify-content: space-between;
        gap: 2rem 3rem;
    }
}
.payFtr_v2026_head_text {
    flex: 1;
    min-width: 0;
    max-width: 36rem;
}
.payFtr_v2026_kicker {
    font-family: var(--alt-font);
    font-size: 0.625rem;
    font-weight: 600;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--payFtr_ink3);
    margin: 0 0 1rem;
}
.payFtr_v2026_mark {
    display: inline-block;
    margin-bottom: 1.25rem;
    line-height: 0;
    border-radius: 8px;
    transition: opacity 0.3s var(--payFtr_ease);
}
.payFtr_v2026_mark:hover {
    opacity: 0.85;
}
.payFtr_v2026_mark:focus-visible {
    outline: 2px solid var(--base-color);
    outline-offset: 4px;
}
.payFtr_v2026_mark img {
    height: auto;
    max-height: 2rem;
    width: auto;
    display: block;
}
.payFtr_v2026_pitch {
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.7;
    color: var(--payFtr_ink2);
    max-width: 38ch;
}
.payFtr_v2026_action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    flex-shrink: 0;
    padding: 0.875rem 1.625rem;
    border-radius: 999px;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--efx-bg);
    background: var(--base-color);
    border: 1px solid rgba(var(--base-color-rgb), 0.45);
    box-shadow: 0 12px 36px rgba(var(--base-color-rgb), 0.22);
    transition: background 0.35s var(--payFtr_ease), color 0.35s var(--payFtr_ease), border-color 0.35s var(--payFtr_ease),
        box-shadow 0.35s var(--payFtr_ease), transform 0.35s var(--payFtr_ease);
}
.payFtr_v2026_action:hover {
    color: var(--efx-bg);
    background: var(--base-color-hover);
    border-color: rgba(var(--base-color-rgb), 0.55);
    box-shadow: 0 18px 44px rgba(var(--base-color-rgb), 0.28);
    transform: translateY(-2px);
}
.payFtr_v2026_action:focus-visible {
    outline: 2px solid var(--base-color);
    outline-offset: 3px;
}
.payFtr_v2026_grid {
    display: grid;
    gap: 2.5rem 2rem;
    grid-template-columns: 1fr;
}
@media (min-width: 768px) {
    .payFtr_v2026_grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (min-width: 1024px) {
    .payFtr_v2026_grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 2rem 2.5rem;
        align-items: start;
    }
}
.payFtr_v2026_block h2,
.payFtr_v2026_card_cap {
    font-family: var(--alt-font);
    font-size: 0.625rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--payFtr_ink3);
    margin: 0 0 1.125rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--payFtr_edge2);
}
.payFtr_v2026_list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.payFtr_v2026_list li {
    margin: 0 0 0.5625rem;
}
.payFtr_v2026_list li:last-child {
    margin-bottom: 0;
}
.payFtr_v2026_list a {
    display: inline-block;
    color: var(--payFtr_ink);
    text-decoration: none;
    font-size: 0.90625rem;
    font-weight: 500;
    padding: 0.15rem 0;
    border-bottom: 1px solid transparent;
    transition: color 0.25s var(--payFtr_ease), border-color 0.25s var(--payFtr_ease);
}
.payFtr_v2026_list a:hover {
    color: #fff;
    border-bottom-color: var(--base-color);
}
.payFtr_v2026_list a:focus-visible {
    outline: 2px solid var(--base-color);
    outline-offset: 3px;
    border-radius: 2px;
}
.payFtr_v2026_card {
    padding: 1.5rem 1.5rem 1.4rem;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid var(--payFtr_edge);
    transition: border-color 0.3s var(--payFtr_ease), background 0.3s var(--payFtr_ease);
}
@media (min-width: 768px) and (max-width: 1023.98px) {
    .payFtr_v2026_card {
        grid-column: 1 / -1;
        max-width: 28rem;
    }
}
.payFtr_v2026_card:hover {
    background: rgba(255, 255, 255, 0.045);
    border-color: rgba(255, 255, 255, 0.14);
}
.payFtr_v2026_card .payFtr_v2026_card_cap {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0.875rem;
}
.payFtr_v2026_mail {
    display: inline-block;
    font-size: 1.0625rem;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: #fff;
    text-decoration: none;
    margin-bottom: 0.375rem;
    word-break: break-word;
    transition: color 0.25s var(--payFtr_ease);
}
.payFtr_v2026_mail:hover {
    color: var(--base-color);
}
.payFtr_v2026_mail:focus-visible {
    outline: 2px solid var(--base-color);
    outline-offset: 3px;
    border-radius: 4px;
}
.payFtr_v2026_address {
    font-size: 0.8125rem;
    font-style: normal;
    color: var(--payFtr_ink2);
    line-height: 1.55;
    margin: 0.75rem 0 0.5rem;
    max-width: 22ch;
}
.payFtr_v2026_sub {
    font-size: 0.8125rem;
    color: var(--payFtr_ink2);
    line-height: 1.45;
    margin: 0 0 1.25rem;
}
.payFtr_v2026_social {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
}
.payFtr_v2026_social a {
    display: inline-flex;
    width: 2.75rem;
    height: 2.75rem;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    color: var(--payFtr_ink);
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--payFtr_edge2);
    font-size: 1.05rem;
    text-decoration: none;
    transition: color 0.25s var(--payFtr_ease), background 0.25s var(--payFtr_ease), border-color 0.25s var(--payFtr_ease),
        transform 0.25s var(--payFtr_ease);
}
.payFtr_v2026_social a:hover {
    color: #fff;
    background: rgba(var(--base-color-rgb), 0.15);
    border-color: rgba(var(--base-color-rgb), 0.35);
    transform: translateY(-2px);
}
.payFtr_v2026_social a:focus-visible {
    outline: 2px solid var(--base-color);
    outline-offset: 2px;
}
.payFtr_v2026_foot {
    margin-top: clamp(2.25rem, 4.5vw, 3rem);
    padding-top: clamp(1.5rem, 3vw, 2rem);
    border-top: 1px solid var(--payFtr_edge2);
}
.payFtr_v2026_disclaim {
    font-size: 0.75rem;
    line-height: 1.65;
    color: var(--payFtr_ink3);
    max-width: 58ch;
    margin: 0 0 1.25rem;
}
.payFtr_v2026_foot_row {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
@media (min-width: 768px) {
    .payFtr_v2026_foot_row {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: flex-end;
        justify-content: space-between;
        gap: 1rem 2rem;
    }
}
.payFtr_v2026_docs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem 0;
    font-size: 0.75rem;
}
.payFtr_v2026_docs a {
    color: var(--payFtr_ink2);
    text-decoration: none;
    padding: 0.2rem 0.45rem;
    border-radius: 6px;
    transition: color 0.2s var(--payFtr_ease), background 0.2s var(--payFtr_ease);
}
.payFtr_v2026_docs a:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.06);
}
.payFtr_v2026_docs a:focus-visible {
    outline: 2px solid var(--base-color);
    outline-offset: 2px;
}
.payFtr_v2026_docs_gap {
    color: var(--payFtr_ink3);
    user-select: none;
    padding: 0 0.15rem;
}
.payFtr_v2026_rights {
    text-align: left;
}
@media (min-width: 768px) {
    .payFtr_v2026_rights {
        text-align: right;
    }
}
.payFtr_v2026_copy {
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--payFtr_ink2);
    margin: 0 0 0.25rem;
    letter-spacing: 0.02em;
}
.payFtr_v2026_region {
    font-size: 0.6875rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--payFtr_ink3);
    margin: 0;
}
@media (prefers-reduced-motion: reduce) {
    .payFtr_v2026_mark,
    .payFtr_v2026_action,
    .payFtr_v2026_list a,
    .payFtr_v2026_social a {
        transition-duration: 0.01ms !important;
    }
    .payFtr_v2026_action:hover,
    .payFtr_v2026_social a:hover {
        transform: none;
    }
}

/* Desktop: menu horizontal; mobile: só botão + painel .efxMnav_* */
@media (max-width: 991.98px) {
    header .efxMnav_desktopOnly {
        display: none !important;
    }
}
@media (min-width: 992px) {
    .efxMnav_trig {
        display: none !important;
    }
}

/* ========== Menu mobile EFXPay (.efxMnav_*) — isolado do template ========== */
.efxMnav_bodyLock {
    overflow: hidden !important;
    touch-action: none;
}
.efxMnav_trig {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    padding: 0;
    margin: 0;
    border: none;
    border-radius: 12px;
    background: var(--base-color);
    color: var(--efx-surface-0);
    cursor: pointer;
    transition: background 0.35s cubic-bezier(0.33, 1, 0.68, 1), transform 0.2s ease, box-shadow 0.25s ease;
    box-shadow: 0 2px 10px rgba(var(--base-color-rgb), 0.35);
}
.efxMnav_trig:hover {
    background: var(--base-color-hover);
    box-shadow: 0 4px 14px rgba(var(--base-color-rgb), 0.4);
}
.efxMnav_trig:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
}
.efxMnav_trigLines {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 1.125rem;
    height: 0.875rem;
}
.efxMnav_trigLine {
    display: block;
    height: 2px;
    width: 100%;
    border-radius: 1px;
    background: currentColor;
    transform-origin: center;
    transition: transform 0.4s cubic-bezier(0.33, 1, 0.68, 1), opacity 0.25s ease, translate 0.4s cubic-bezier(0.33, 1, 0.68, 1);
}
.efxMnav_trig--open .efxMnav_trigLine:nth-child(1) {
    translate: 0 7px;
    rotate: 45deg;
}
.efxMnav_trig--open .efxMnav_trigLine:nth-child(2) {
    opacity: 0;
    scale: 0.2;
}
.efxMnav_trig--open .efxMnav_trigLine:nth-child(3) {
    translate: 0 -7px;
    rotate: -45deg;
}
.efxMnav_layer {
    --efxMnav-ease: cubic-bezier(0.16, 1, 0.3, 1);
    --efxMnav-ease-out: cubic-bezier(0.55, 0, 0.85, 0.36);
    position: fixed;
    inset: 0;
    z-index: 10050;
    pointer-events: none;
    visibility: hidden;
}
.efxMnav_layer:not([hidden]) {
    pointer-events: auto;
    visibility: visible;
}
.efxMnav_scrim {
    position: absolute;
    inset: 0;
    background: rgba(8, 9, 12, 0.45);
    opacity: 0;
    transition: opacity 0.55s var(--efxMnav-ease);
    backdrop-filter: blur(0);
    -webkit-backdrop-filter: blur(0);
}
.efxMnav_layer--open .efxMnav_scrim {
    opacity: 1;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    transition-duration: 0.65s;
}
.efxMnav_layer--closing .efxMnav_scrim {
    opacity: 0;
    backdrop-filter: blur(0);
    -webkit-backdrop-filter: blur(0);
    transition-duration: 0.5s;
    transition-timing-function: var(--efxMnav-ease-out);
}
.efxMnav_sheet {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: 100dvh;
    display: flex;
    flex-direction: column;
    background: linear-gradient(165deg, var(--efx-surface-2) 0%, var(--efx-bg) 45%, #050707 100%);
    color: rgba(255, 255, 255, 0.88);
    box-shadow: 0 12px 48px rgba(0, 0, 0, 0.35);
    transform: translate3d(102%, 0, 0) scale(0.97);
    opacity: 0.92;
    filter: blur(6px);
    transition:
        transform 0.68s var(--efxMnav-ease),
        opacity 0.5s var(--efxMnav-ease),
        filter 0.55s var(--efxMnav-ease);
    border-left: none;
    will-change: transform, opacity, filter;
}
.efxMnav_layer--open .efxMnav_sheet {
    transform: translate3d(0, 0, 0) scale(1);
    opacity: 1;
    filter: blur(0);
}
.efxMnav_layer--closing .efxMnav_sheet {
    transform: translate3d(102%, 0, 0) scale(0.97);
    opacity: 0.88;
    filter: blur(8px);
    transition-timing-function: var(--efxMnav-ease-out);
    transition-duration: 0.58s;
}
.efxMnav_sheet::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    right: auto;
    width: 0;
    height: 3px;
    transform: translateX(-50%);
    background: linear-gradient(90deg, transparent, var(--base-color) 20%, var(--base-color) 80%, transparent);
    opacity: 0;
    pointer-events: none;
    transition: width 0.7s var(--efxMnav-ease), opacity 0.35s ease;
}
.efxMnav_layer--open .efxMnav_sheet::before {
    width: min(92%, 28rem);
    opacity: 0.95;
}
.efxMnav_layer--closing .efxMnav_sheet::before {
    width: 0;
    opacity: 0;
    transition-duration: 0.35s;
    transition-timing-function: var(--efxMnav-ease-out);
}
.efxMnav_top,
.efxMnav_title,
.efxMnav_link,
.efxMnav_divider,
.efxMnav_actions {
    opacity: 0;
    transform: translate3d(-1.25rem, 0, 0);
    filter: blur(8px);
    transition:
        opacity 0.45s var(--efxMnav-ease),
        transform 0.55s var(--efxMnav-ease),
        filter 0.5s var(--efxMnav-ease);
}
.efxMnav_layer--open .efxMnav_top,
.efxMnav_layer--open .efxMnav_title,
.efxMnav_layer--open .efxMnav_link,
.efxMnav_layer--open .efxMnav_divider,
.efxMnav_layer--open .efxMnav_actions {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    filter: blur(0);
}
.efxMnav_layer--closing .efxMnav_top,
.efxMnav_layer--closing .efxMnav_title,
.efxMnav_layer--closing .efxMnav_link,
.efxMnav_layer--closing .efxMnav_divider,
.efxMnav_layer--closing .efxMnav_actions {
    opacity: 0;
    transform: translate3d(-0.75rem, 0, 0);
    filter: blur(6px);
    transition-timing-function: var(--efxMnav-ease-out);
    transition-duration: 0.38s;
}
.efxMnav_layer--open .efxMnav_top {
    transition-delay: 0.1s;
}
.efxMnav_layer--open .efxMnav_title {
    transition-delay: 0.16s;
}
.efxMnav_nav .efxMnav_link:nth-child(1) {
    --efx-mnav-stagger: 0;
}
.efxMnav_nav .efxMnav_link:nth-child(2) {
    --efx-mnav-stagger: 1;
}
.efxMnav_nav .efxMnav_link:nth-child(3) {
    --efx-mnav-stagger: 2;
}
.efxMnav_nav .efxMnav_link:nth-child(4) {
    --efx-mnav-stagger: 3;
}
.efxMnav_nav .efxMnav_link:nth-child(5) {
    --efx-mnav-stagger: 4;
}
.efxMnav_nav .efxMnav_link:nth-child(6) {
    --efx-mnav-stagger: 5;
}
.efxMnav_nav .efxMnav_link:nth-child(7) {
    --efx-mnav-stagger: 6;
}
.efxMnav_layer--open .efxMnav_nav .efxMnav_link {
    transition-delay: calc(0.2s + var(--efx-mnav-stagger, 0) * 0.065s);
}
.efxMnav_layer--open .efxMnav_divider {
    transition-delay: 0.58s;
}
.efxMnav_layer--open .efxMnav_actions {
    transition-delay: 0.64s;
}
.efxMnav_layer--closing .efxMnav_top {
    transition-delay: 0.02s;
}
.efxMnav_layer--closing .efxMnav_title {
    transition-delay: 0.04s;
}
.efxMnav_layer--closing .efxMnav_nav .efxMnav_link {
    transition-delay: calc((6 - var(--efx-mnav-stagger, 0)) * 0.035s);
}
.efxMnav_layer--closing .efxMnav_divider {
    transition-delay: 0.08s;
}
.efxMnav_layer--closing .efxMnav_actions {
    transition-delay: 0s;
}
.efxMnav_sheetInner {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 1.25rem 1.35rem 1.5rem;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}
.efxMnav_top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.75rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.efxMnav_logo {
    display: inline-flex;
    line-height: 0;
    border-radius: 8px;
    transition: opacity 0.25s ease;
}
.efxMnav_logo:hover {
    opacity: 0.85;
}
.efxMnav_logo:focus-visible {
    outline: 2px solid var(--base-color);
    outline-offset: 3px;
}
.efxMnav_logo img {
    height: auto;
    max-height: 2.4rem;
    width: auto;
    display: block;
}
.efxMnav_close {
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.06);
    color: #fff;
    cursor: pointer;
    transition: background 0.3s var(--efxMnav-ease), border-color 0.3s ease;
}
.efxMnav_close:hover {
    background: rgba(var(--base-color-rgb), 0.18);
    border-color: rgba(var(--base-color-rgb), 0.35);
}
.efxMnav_close:focus-visible {
    outline: 2px solid var(--base-color);
    outline-offset: 2px;
}
.efxMnav_closeIcon {
    position: relative;
    width: 1rem;
    height: 1rem;
    display: block;
}
.efxMnav_closeIcon::before,
.efxMnav_closeIcon::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 1rem;
    height: 2px;
    border-radius: 1px;
    background: currentColor;
    transform-origin: center;
}
.efxMnav_closeIcon::before {
    transform: translate(-50%, -50%) rotate(45deg);
}
.efxMnav_closeIcon::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}
.efxMnav_title {
    font-family: var(--alt-font);
    font-size: 0.625rem;
    font-weight: 600;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.38);
    margin: 0 0 1rem;
}
.efxMnav_nav {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    flex: 1;
}
.efxMnav_link {
    display: block;
    padding: 0.9rem 0.65rem 0.9rem 0.5rem;
    margin-inline: -0.5rem;
    border-radius: 12px;
    font-family: var(--alt-font);
    font-size: clamp(1.65rem, 5.2vw, 1.95rem);
    font-weight: 300;
    letter-spacing: -0.025em;
    line-height: 1.15;
    color: rgba(255, 255, 255, 0.92);
    text-decoration: none;
    border: 1px solid transparent;
    transition:
        opacity 0.45s var(--efxMnav-ease),
        transform 0.55s var(--efxMnav-ease),
        filter 0.5s var(--efxMnav-ease),
        color 0.3s var(--efxMnav-ease),
        background 0.3s var(--efxMnav-ease),
        border-color 0.3s ease,
        padding-left 0.35s var(--efxMnav-ease);
}
.efxMnav_link:hover,
.efxMnav_link:focus-visible {
    color: var(--efx-nav-accent);
    background: rgba(150, 252, 203, 0.08);
    border-color: rgba(150, 252, 203, 0.18);
    padding-left: 0.85rem;
}
.efxMnav_link:focus-visible {
    outline: 2px solid var(--efx-nav-accent);
    outline-offset: 2px;
}
.efxMnav_divider {
    height: 1px;
    margin: 1.25rem 0 1.35rem;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.12) 15%, rgba(255, 255, 255, 0.12) 85%, transparent);
}
.efxMnav_actions {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    margin-top: auto;
    padding-top: 0.5rem;
}
.efxMnav_btnPri {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 3.15rem;
    padding: 0.9rem 1.25rem;
    border-radius: 999px;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--efx-bg);
    background: var(--base-color);
    border: 1px solid rgba(var(--base-color-rgb), 0.4);
    transition: none;
}
.efxMnav_btnPri:hover {
    color: var(--efx-bg);
    background: var(--base-color-hover);
    border-color: rgba(var(--base-color-rgb), 0.5);
}
.efxMnav_btnPri:focus-visible {
    outline: 2px solid var(--base-color);
    outline-offset: 3px;
}
.efxMnav_btnGhost {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 3.15rem;
    padding: 0.9rem 1.25rem;
    border-radius: 999px;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    text-decoration: none;
    color: rgba(255, 255, 255, 0.75);
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.18);
    transition: none;
}
.efxMnav_btnGhost:hover {
    color: rgba(255, 255, 255, 0.75);
    border-color: rgba(255, 255, 255, 0.18);
    background: transparent;
}
.efxMnav_btnGhost:focus-visible {
    outline: 2px solid var(--base-color);
    outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
    .efxMnav_trig,
    .efxMnav_trigLine,
    .efxMnav_scrim,
    .efxMnav_sheet,
    .efxMnav_sheet::before,
    .efxMnav_top,
    .efxMnav_title,
    .efxMnav_link,
    .efxMnav_divider,
    .efxMnav_actions,
    .efxMnav_btnPri,
    .efxMnav_btnGhost {
        transition-duration: 0.01ms !important;
        filter: none !important;
        transform: none !important;
    }
    .efxMnav_layer--open .efxMnav_sheet,
    .efxMnav_layer--closing .efxMnav_sheet {
        transform: none !important;
        opacity: 1 !important;
    }
    .efxMnav_layer--open .efxMnav_top,
    .efxMnav_layer--open .efxMnav_title,
    .efxMnav_layer--open .efxMnav_link,
    .efxMnav_layer--open .efxMnav_divider,
    .efxMnav_layer--open .efxMnav_actions {
        opacity: 1 !important;
    }
}

/* Comparativo / Como funciona — bloco mineral + grid mint (linhas sutis) */
.section-comparativo--orange,
.section-como-funciona2 {
    --efx-section-grid-alpha: 0.028;
    background-color: var(--base-color-section);
    background-image:
        linear-gradient(rgba(var(--base-color-rgb), var(--efx-section-grid-alpha)) 1px, transparent 1px),
        linear-gradient(90deg, rgba(var(--base-color-rgb), var(--efx-section-grid-alpha)) 1px, transparent 1px),
        radial-gradient(ellipse 90% 55% at 50% 0%, rgba(var(--base-color-rgb), 0.1), transparent 58%),
        linear-gradient(165deg, var(--base-color-section-light) 0%, var(--base-color-section) 38%, var(--base-color-section-deep) 72%, var(--base-color-section-light) 100%);
    background-size: 96px 96px, 96px 96px, 100% 100%, 100% 100%;
    background-position: 0 0, 0 0, 0 0, 0 0;
}
.section-comparativo--orange .section-comparativo__title-efx {
    color: var(--efx-text-primary);
    font-weight: 600;
}
.section-comparativo--orange .section-comparativo__title-vs {
    color: var(--efx-text-secondary);
    font-weight: 400;
}
.section-comparativo--orange .text-white,
.section-como-funciona2 .text-white {
    color: var(--efx-text-primary) !important;
}
.section-comparativo--orange .section-comparativo__lead.text-white {
    color: var(--efx-text-secondary) !important;
}
.section-comparativo__lead {
    max-width: 36rem;
    margin-left: auto;
    margin-right: auto;
}
.section-comparativo__card {
    --comparativo-efx-tint: rgba(var(--base-color-rgb), 0.12);
    background-color: var(--efx-surface-1) !important;
    border-color: var(--efx-border) !important;
}
.section-comparativo--orange .section-comparativo__badge {
    background-color: var(--efx-surface-2) !important;
    color: var(--base-color) !important;
    border: 1px solid var(--efx-border-strong);
    box-shadow: 0 2px 12px rgba(10, 12, 16, 0.25);
}
.section-comparativo__table {
    min-width: 640px;
    --bs-table-bg: transparent;
    --bs-table-border-color: var(--efx-border);
}
.section-comparativo__table thead th {
    font-family: var(--primary-font);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--efx-text-muted);
    padding: 1.1rem 1rem;
    vertical-align: middle;
    border-bottom-width: 1px;
    background-color: var(--efx-surface-2);
}
.section-comparativo__th-criterio {
    width: 28%;
    color: var(--white) !important;
}
.section-comparativo__th-efx {
    width: 36%;
    color: var(--base-color) !important;
    background: linear-gradient(180deg, var(--comparativo-efx-tint) 0%, var(--efx-surface-1) 100%);
}
.section-comparativo__th-bancos {
    width: 36%;
}
.section-comparativo__table tbody th,
.section-comparativo__table tbody td {
    padding: 1rem 1rem;
    font-size: 0.98rem;
    line-height: 1.45;
    border-bottom: 1px solid var(--efx-border);
}
.section-comparativo__table tbody tr:last-child th,
.section-comparativo__table tbody tr:last-child td {
    border-bottom: none;
}
.section-comparativo__row-label {
    font-weight: 500;
    color: var(--white) !important;
    text-align: left;
}
.section-comparativo__cell-efx {
    text-align: left;
    background: linear-gradient(90deg, transparent 0%, var(--comparativo-efx-tint) 12%, var(--comparativo-efx-tint) 88%, transparent 100%);
}
.section-comparativo__cell-banco {
    text-align: left;
}
.section-comparativo__cell-inner {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
    max-width: 16rem;
}
@media (min-width: 992px) {
    .section-comparativo__cell-inner {
        flex-direction: row;
        align-items: center;
        gap: 0.65rem;
        max-width: none;
    }
    .section-comparativo__cell-inner--end {
        flex-direction: row;
        align-items: center;
    }
}
.section-comparativo__cell-text {
    font-weight: 500;
    color: var(--dark-gray);
}
.section-comparativo__ok {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 50%;
    background: rgba(120, 240, 164, 0.14);
    color: var(--efx-color-success);
    font-size: 1rem;
    line-height: 1;
    flex-shrink: 0;
}
.section-comparativo__no {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 50%;
    background: rgba(220, 49, 49, 0.1);
    color: var(--red, #dc3131);
    font-size: 0.85rem;
    line-height: 1;
    flex-shrink: 0;
}
.section-comparativo__footnote {
    background-color: var(--efx-surface-2);
    color: var(--efx-text-secondary);
}

/* Como funciona (alternativa): mesma superfície laranja + grid que .section-comparativo--orange */
.section-como-funciona2 {
    position: relative;
}
/* Passos 1–4: entrada em sequência ao entrar na viewport (efx-como-funciona2-flow.js) */
@media (prefers-reduced-motion: no-preference) {
    .section-como-funciona2__flow > .col-lg-6 {
        opacity: 0;
        transform: translateY(2.5rem);
        transition:
            opacity 0.72s cubic-bezier(0.22, 1, 0.36, 1),
            transform 0.72s cubic-bezier(0.22, 1, 0.36, 1);
    }
    .section-como-funciona2__flow.section-como-funciona2__flow--visible > .col-lg-6 {
        opacity: 1;
        transform: none;
    }
    .section-como-funciona2__flow.section-como-funciona2__flow--visible > .col-lg-6:nth-child(1) {
        transition-delay: 0.1s;
    }
    .section-como-funciona2__flow.section-como-funciona2__flow--visible > .col-lg-6:nth-child(2) {
        transition-delay: 0.55s;
    }
    .section-como-funciona2__flow.section-como-funciona2__flow--visible > .col-lg-6:nth-child(3) {
        transition-delay: 1s;
    }
    .section-como-funciona2__flow.section-como-funciona2__flow--visible > .col-lg-6:nth-child(4) {
        transition-delay: 1.45s;
    }
}
@media (prefers-reduced-motion: reduce) {
    .section-como-funciona2__flow > .col-lg-6 {
        opacity: 1;
        transform: none;
    }
}
.section-como-funciona2__badge {
    background-color: var(--efx-surface-1) !important;
    color: var(--base-color) !important;
    border: 1px solid var(--efx-border-strong);
    box-shadow: 0 2px 12px rgba(10, 12, 16, 0.25);
}
.section-como-funciona2__intro {
    max-width: 40rem;
    margin-left: auto;
    margin-right: auto;
}
.section-como-funciona2__step {
    height: 100%;
    padding: 1.75rem 1.5rem 1.5rem;
    border-radius: 16px;
    border: 1px solid var(--efx-border-strong);
    background: var(--efx-surface-1);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    box-shadow: 0 10px 36px rgba(10, 12, 16, 0.35);
}
@media (prefers-reduced-motion: no-preference) {
    .section-como-funciona2__step {
        transition:
            border-color 0.28s ease,
            background-color 0.28s ease,
            box-shadow 0.28s ease,
            transform 0.28s ease;
    }
    .section-como-funciona2__step:hover {
        border-color: rgba(var(--base-color-rgb), 0.45);
        background: var(--efx-surface-2);
        box-shadow: 0 16px 48px rgba(10, 12, 16, 0.45);
        transform: translateY(-3px);
    }
}
.section-como-funciona2__step-num {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    color: var(--base-color);
    background: rgba(var(--base-color-rgb), 0.12);
    border: 1px solid rgba(var(--base-color-rgb), 0.35);
    margin-bottom: 1rem;
}
.section-como-funciona2__step-label {
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--base-color);
    margin-bottom: 0.4rem;
}
.section-como-funciona2__step-title {
    font-size: clamp(1.28rem, 2.1vw, 1.55rem);
    font-weight: 500;
    line-height: 1.28;
    color: var(--base-color);
    margin-bottom: 0.85rem;
    letter-spacing: -0.02em;
}
@media (max-width: 991.98px) {
    .section-como-funciona2__step-title {
        font-size: clamp(1.65rem, 5.5vw, 2.125rem);
        line-height: 1.22;
    }
}
.section-como-funciona2__step-text {
    font-size: 0.97rem;
    line-height: 1.65;
    color: var(--efx-text-secondary);
    margin-bottom: 0;
}
@media (prefers-reduced-motion: reduce) {
    .section-como-funciona2__step {
        transition: none;
    }
    .section-como-funciona2__step:hover {
        transform: none;
    }
}

/* Page loader: canvas fintech + grelha + halos */
html.efx-page-loader-active,
html.efx-page-loader-active body {
    overflow: hidden !important;
    height: 100%;
}
html.efx-page-loader-active body > *:not(#efx-page-loader) {
    opacity: 0;
    pointer-events: none;
}
.efx-page-loader {
    position: fixed;
    inset: 0;
    z-index: 2147483000;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--efx-surface-0);
    overflow: hidden;
}
.efx-page-loader::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background:
        linear-gradient(rgba(var(--base-color-rgb), 0.018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(var(--base-color-rgb), 0.018) 1px, transparent 1px),
        radial-gradient(ellipse 90% 60% at 50% -5%, var(--efx-glow-brand), transparent 52%),
        radial-gradient(ellipse 90% 60% at 50% 105%, var(--efx-glow-brand), transparent 52%);
    background-size: 88px 88px, 88px 88px, 100% 100%, 100% 100%;
    background-position: 0 0, 0 0, 0 0, 0 0;
}
.efx-page-loader__inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.efx-page-loader__stack {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}
.efx-page-loader__logo {
    display: block;
    width: clamp(11rem, 48vw, 17rem);
    height: auto;
    max-width: 94%;
    object-fit: contain;
    opacity: 0.96;
    transform: scale(1);
    transform-origin: center center;
    will-change: transform, opacity;
}
/* Saída: fundo/grid no tempo curto; logo mais lento e independente */
.efx-page-loader--exit {
    pointer-events: none;
    animation: efxPageLoaderShellOut 1.2s cubic-bezier(0.45, 0.08, 0.2, 1) forwards;
}
.efx-page-loader--exit::before {
    animation: efxPageLoaderGridOut 0.85s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
@keyframes efxPageLoaderGridOut {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}
.efx-page-loader--exit .efx-page-loader__logo {
    animation: efxPageLoaderLogoExit 1.4s cubic-bezier(0.22, 0.84, 0.26, 1) forwards;
}
/* Só início/fim: interpolação contínua (sem keyframes intermediários) */
@keyframes efxPageLoaderLogoExit {
    0% {
        transform: scale(1) translate3d(0, 0, 0);
        opacity: 0.96;
        filter: drop-shadow(0 0 0 rgba(var(--base-color-rgb), 0));
    }
    100% {
        transform: scale(1.82) translate3d(0, -32px, 0);
        opacity: 0;
        filter: drop-shadow(0 24px 64px rgba(var(--base-color-rgb), 0.12));
    }
}
@keyframes efxPageLoaderShellOut {
    0% {
        background-color: var(--efx-surface-0);
    }
    100% {
        background-color: rgba(7, 9, 9, 0);
    }
}
html.efx-page-loaded .page-layout {
    animation: efxPageLoaderReveal 0.82s cubic-bezier(0.28, 0.92, 0.32, 1) forwards;
}
@keyframes efxPageLoaderReveal {
    from {
        opacity: 0;
        transform: translate3d(0, 18px, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}
@media (prefers-reduced-motion: reduce) {
    html.efx-page-loaded .page-layout {
        animation: none;
        opacity: 1;
        transform: none;
    }
    .efx-page-loader--exit .efx-page-loader__logo {
        animation: none;
        opacity: 0;
    }
    .efx-page-loader--exit::before {
        animation: none;
        opacity: 0;
    }
    .efx-page-loader--exit {
        animation: efxPageLoaderShellOut 0.22s ease forwards;
    }
}

/* Cotações cripto (CoinGecko) */
.section-crypto-quotes:not(.section-crypto-quotes--hero-overlay) {
    background-color: var(--efx-surface-0);
}
.section-crypto-quotes__status--ok .section-crypto-quotes__status-text {
    color: var(--efx-color-success);
}
.section-crypto-quotes__status--error .section-crypto-quotes__status-text {
    color: #f87171;
}
.section-crypto-quotes__carousel {
    position: relative;
    width: 100%;
    padding-block: 0.5rem;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(
        90deg,
        transparent 0%,
        #000 8%,
        #000 92%,
        transparent 100%
    );
    mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
}
.section-crypto-quotes__track {
    display: flex;
    width: max-content;
    will-change: transform;
    animation: efx-crypto-quotes-marquee 48s linear infinite;
}
.section-crypto-quotes__carousel:hover .section-crypto-quotes__track {
    animation-play-state: paused;
}
.section-crypto-quotes__group {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding-right: 1rem;
    flex-shrink: 0;
}
.section-crypto-quotes__pill {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    flex-shrink: 0;
    padding: 0.65rem 1.35rem 0.65rem 0.75rem;
    border-radius: 999px;
    border: 1px solid var(--efx-border);
    background: var(--efx-surface-1);
    white-space: nowrap;
    transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}
.section-crypto-quotes__pill-icon {
    width: 2.25rem;
    height: 2.25rem;
    object-fit: contain;
    flex-shrink: 0;
}
.section-crypto-quotes__pill-symbol {
    font-family: var(--alt-font);
    font-size: 1.1rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    color: var(--efx-text-primary);
}
.section-crypto-quotes__pill-sep {
    color: var(--efx-text-secondary);
    opacity: 0.55;
    user-select: none;
}
.section-crypto-quotes__pill-price {
    font-family: var(--alt-font);
    font-size: 1.1rem;
    font-weight: 500;
    letter-spacing: -0.02em;
    color: var(--efx-text-secondary);
}
.section-crypto-quotes--loading .section-crypto-quotes__pill-price {
    opacity: 0.45;
}
.section-crypto-quotes__pill--loaded .section-crypto-quotes__pill-price {
    color: var(--efx-text-primary);
}
@keyframes efx-crypto-quotes-marquee {
    from {
        transform: translate3d(0, 0, 0);
    }
    to {
        transform: translate3d(-50%, 0, 0);
    }
}
@media (prefers-reduced-motion: reduce) {
    .section-crypto-quotes__carousel {
        overflow-x: auto;
        -webkit-mask-image: none;
        mask-image: none;
        padding-inline: 1rem;
        scrollbar-width: thin;
    }
    .section-crypto-quotes__track {
        animation: none;
        flex-wrap: wrap;
        justify-content: center;
        width: 100%;
        max-width: 52rem;
        margin-inline: auto;
        gap: 0.75rem;
    }
    .section-crypto-quotes__group {
        display: contents;
    }
    .section-crypto-quotes__group[aria-hidden='true'] {
        display: none;
    }
}
.section-crypto-quotes__footnote {
    font-size: 0.82rem;
}
.section-crypto-quotes__link {
    color: var(--base-color);
    text-decoration: underline;
    text-underline-offset: 2px;
}
.section-crypto-quotes__link:hover {
    color: var(--base-color-hover);
}
.section-crypto-quotes__updated {
    display: inline;
}
.section-crypto-quotes__retry[disabled] {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Social links: dark canvas */
.elements-social.social-icon-style-11 ul.dark {
    background-color: var(--efx-surface-0);
    border-top-color: var(--efx-border) !important;
}
.elements-social.social-icon-style-11 ul.dark li a {
    color: var(--efx-text-primary);
    border-color: var(--efx-border);
}
.elements-social.social-icon-style-11 ul.dark li a:hover {
    color: var(--efx-text-on-light) !important;
    background-color: var(--base-color);
}
.elements-social.social-icon-style-11 ul.dark li a span.fw-500 {
    color: inherit;
}
.elements-social.social-icon-style-11 ul.dark li a:hover span.fw-500,
.elements-social.social-icon-style-11 ul.dark li a:hover i {
    color: var(--efx-text-on-light) !important;
}

/* Faixas editoriais (foto horizontal + frase + CTA) */
.efx-editorial-break {
    position: relative;
    width: 100%;
    min-height: clamp(14.52rem, 31.68vw, 23.76rem);
    margin: 0;
    padding: clamp(2.31rem, 5.28vw, 3.96rem) 0;
    overflow: hidden;
    isolation: isolate;
}
.efx-editorial-break__media {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
}
.efx-editorial-break__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
}
.efx-editorial-break__scrim {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(7, 9, 9, 0.45) 0%, rgba(7, 9, 9, 0.62) 50%, rgba(7, 9, 9, 0.78) 100%),
        radial-gradient(ellipse 85% 70% at 50% 50%, rgba(7, 9, 9, 0.35), rgba(7, 9, 9, 0.72));
    pointer-events: none;
}
.efx-editorial-break__container {
    position: relative;
    z-index: 1;
    height: 100%;
    min-height: inherit;
    display: flex;
    align-items: center;
    justify-content: center;
}
.efx-editorial-break__content {
    width: 100%;
    max-width: min(68rem, 96vw);
    padding: 0.5rem 0;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.efx-editorial-break__headline {
    font-family: var(--alt-font);
    font-weight: 300;
    font-size: clamp(1.75rem, 4.4vw, 3.15rem);
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: var(--efx-text-primary);
    margin: 0 0 clamp(1.25rem, 3vw, 1.75rem);
    text-wrap: balance;
}
.efx-editorial-break__headline--plain {
    opacity: 1;
}
.efx-editorial-break__char {
    display: inline-block;
    white-space: pre;
    opacity: 0;
    will-change: transform, filter, opacity;
}
.efx-editorial-break--inview .efx-editorial-break__char {
    animation: efxEditorialBlurInLeft 0.6s forwards;
}
@keyframes efxEditorialBlurInLeft {
    0% {
        transform: translateX(-50px);
        filter: blur(10px);
        opacity: 0;
    }
    100% {
        transform: translateX(0);
        filter: blur(0);
        opacity: 1;
    }
}
.efx-editorial-break__cta {
    opacity: 0;
    transform: translate3d(0, 1rem, 0);
    align-self: center;
    transition:
        opacity 0.55s ease var(--efx-editorial-cta-delay, 0.5s),
        transform 0.55s ease var(--efx-editorial-cta-delay, 0.5s);
}
.efx-editorial-break--inview .efx-editorial-break__cta {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}
@media (max-width: 767.98px) {
    .efx-editorial-break {
        min-height: clamp(13.2rem, 40.92vw, 18.48rem);
        padding: clamp(1.82rem, 6.6vw, 2.64rem) 0;
    }
    .efx-editorial-break__scrim {
        background:
            linear-gradient(180deg, rgba(7, 9, 9, 0.55) 0%, rgba(7, 9, 9, 0.82) 55%, rgba(7, 9, 9, 0.9) 100%);
    }
}
@media (prefers-reduced-motion: reduce) {
    .efx-editorial-break__char {
        opacity: 1;
        animation: none;
        transform: none;
        filter: none;
    }
    .efx-editorial-break__cta {
        opacity: 1;
        transform: none;
        transition: none;
    }
}
