/* MANROPE FONT OVERRIDE - Substitui todas as fontes originais */

/* ===== FONT-FACE DECLARATIONS ===== */
@font-face {
    font-family: 'LazareGrotesk';
    src: local('Manrope');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'LazareGrotesk';
    src: local('Manrope');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Magnetik';
    src: local('Manrope');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Space Mono';
    src: local('Manrope');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* ===== GLOBAL FONT REPLACEMENT ===== */
* {
    font-family: 'Manrope', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif !important;
}

/* ===== SPECIFIC ELEMENT OVERRIDES ===== */

/* Headers e Títulos */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Manrope', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif !important;
    font-weight: 700 !important; /* Bold para títulos */
}

/* Títulos principais (Hero) */
.js-hero:title {
    font-family: 'Manrope', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif !important;
    font-weight: 800 !important; /* ExtraBold para hero */
    line-height: 0.924 !important;
}

/* ===== TÍTULO PRINCIPAL RESPONSIVO ===== */
/* Sistema de fontes responsivas para o título hero - FORÇADO COM ESPECIFICIDADE MÁXIMA */
.js-hero:title,
.js-hero:title *,
.js-hero:title div,
h1.js-hero\:title,
h1 .js-hero\:title {
    font-size: 80px !important; /* Desktop - tamanho aumentado */
    max-width: 800px !important; /* Aumentado para evitar quebras desnecessárias */
    font-size: 80px !important; /* DUPLICADO PARA FORÇAR */
    white-space: normal !important; /* Permitir quebras naturais */
    word-wrap: break-word !important; /* Quebrar palavras longas se necessário */
}

/* Tablet - redução sutil */
@media (max-width: 1024px) {
    .js-hero:title,
    .js-hero:title *,
    .js-hero:title div,
    h1.js-hero\:title,
    h1 .js-hero\:title {
        font-size: 60px !important;
        font-size: 60px !important; /* DUPLICADO PARA FORÇAR */
    }
}

/* Mobile - redução moderada */
@media (max-width: 768px) {
    .js-hero:title,
    .js-hero:title *,
    .js-hero:title div,
    h1.js-hero\:title,
    h1 .js-hero\:title {
        font-size: 35px !important;
        font-size: 35px !important; /* DUPLICADO PARA FORÇAR */
    }
}

/* Mobile pequeno - redução maior */
@media (max-width: 480px) {
    .js-hero:title,
    .js-hero:title *,
    .js-hero:title div,
    h1.js-hero\:title,
    h1 .js-hero\:title {
        font-size: 30px !important;
        font-size: 30px !important; /* DUPLICADO PARA FORÇAR */
    }
}

/* ===== NOME DO AUTOR RESPONSIVO ===== */
/* Sistema de fontes responsivas para o nome do autor */
.js-hero:author {
    font-size: 20px !important; /* Desktop - tamanho base */
    line-height: 1.2 !important;
    font-weight: 400 !important;
}

/* Tablet - redução sutil */
@media (max-width: 1024px) {
    .js-hero:author {
        font-size: 18px !important;
    }
}

/* Mobile - redução moderada */
@media (max-width: 768px) {
    .js-hero:author {
        font-size: 16px !important;
    }
}

/* Mobile pequeno - redução maior */
@media (max-width: 480px) {
    .js-hero:author {
        font-size: 14px !important;
    }
}

/* Títulos WebGL */
.js-webgl-title-text {
    font-family: 'Manrope', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif !important;
    font-weight: 700 !important; /* Bold para títulos WebGL */
}

/* Navegação */
.header__nav a,
.js-desktop-nav-link,
.js-mobile-nav-link {
    font-family: 'Manrope', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif !important;
    font-weight: 400 !important; /* Regular para navegação */
}

/* Textos de corpo */
p, .t-lazare, .t-magnetik {
    font-family: 'Manrope', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif !important;
    font-weight: 400 !important; /* Regular para textos */
}

/* Textos secundários */
.t-light-gray, .t-mid-gray {
    font-family: 'Manrope', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif !important;
    font-weight: 300 !important; /* Light para textos secundários */
}

/* Botões */
.button, .button__text {
    font-family: 'Manrope', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif !important;
    font-weight: 500 !important; /* Medium para botões */
}

/* About blocks */
.about-blocks__block h3 {
    font-family: 'Manrope', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif !important;
    font-weight: 700 !important; /* Bold para títulos de seção */
}

/* Team members */
.team__member__name {
    font-family: 'Manrope', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif !important;
    font-weight: 600 !important; /* SemiBold para nomes */
}

.team__member__role {
    font-family: 'Manrope', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif !important;
    font-weight: 500 !important; /* Medium para cargos */
}

.team__member__bio {
    font-family: 'Manrope', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif !important;
    font-weight: 400 !important; /* Regular para biografias */
}

/* Blog content */
.blog-content h2, .blog-content h3, .blog-content h4, .blog-content h5, .blog-content h6 {
    font-family: 'Manrope', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif !important;
    font-weight: 700 !important; /* Bold para títulos de blog */
}

.blog-content blockquote p {
    font-family: 'Manrope', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif !important;
    font-weight: 600 !important; /* SemiBold para citações */
}

/* Mobile menu */
.mobile-menu nav a {
    font-family: 'Manrope', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif !important;
    font-weight: 700 !important; /* Bold para menu mobile */
}



/* Blog article type */
.blog-article__type {
    font-family: 'Manrope', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif !important;
    font-weight: 500 !important; /* Medium para tipos de artigo */
}

/* ===== UTILITY CLASSES OVERRIDE ===== */
.t-lazare {
    font-family: 'Manrope', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif !important;
}

.t-magnetik {
    font-family: 'Manrope', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif !important;
}

/* ===== RESPONSIVE ADJUSTMENTS ===== */
@media (max-width: 768px) {
    /* Em mobile, usar pesos mais leves para melhor legibilidade */
    h1, h2, h3, h4, h5, h6 {
        font-weight: 600 !important; /* SemiBold em mobile */
    }
    
    .js-hero:title {
        font-weight: 700 !important; /* Bold em mobile */
    }
}

/* ===== FALLBACK FONT STACK ===== */
/* Garantir que Manrope seja sempre a primeira opção */
body, html {
    font-family: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !important;
}

/* ===== LINHA SIMPLES DO FOOTER ===== */
/* Substitui o split-border com curvas por uma linha reta */
.simple-line {
    position: absolute;
    top: 0.03125rem;
    left: 1rem;
    width: calc(100% - 2rem);
    height: 1px;
    background-color: var(--border-edge, #E4E2D8);
    z-index: 1;
}

/* ===== LINHAS SIMPLES DO FOOTER FINAL ===== */
/* Substitui as linhas com curvas por linhas retas */
.simple-line-footer-top {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: var(--border-edge, #E4E2D8);
    z-index: 1;
}

.simple-line-footer-bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: var(--border-edge, #E4E2D8);
    z-index: 1;
}

/* ===== TEXTO SECUNDÁRIO RESPONSIVO ===== */
/* Sistema de fontes responsivas para manter estrutura visual */
.hero-tagline-line {
    font-size: 28px !important; /* Desktop - tamanho ajustado */
    line-height: 1.2 !important;
    font-weight: 400 !important;
}

/* Tablet - redução sutil */
@media (max-width: 1024px) {
    .hero-tagline-line {
        font-size: 25px !important;
    }
}

/* Mobile - redução moderada */
@media (max-width: 768px) {
    .hero-tagline-line {
        font-size: 20px !important;
    }
}

/* Mobile pequeno - redução maior */
@media (max-width: 480px) {
    .hero-tagline-line {
        font-size: 15px !important;
    }
}

/* ===== PROTECTION FOR FADED ELEMENTS ===== */

/* Elementos que completaram a animação de fade */
.fade-completed {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}

/* Elementos bloqueados permanentemente */
.fade-locked {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}

/* Proteção específica para autor e tagline */
.js-hero:author.fade-completed,
.js-hero:author.fade-locked {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}

.hero-tagline-line.fade-completed,
.hero-tagline-line.fade-locked {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}

/* Seção do autor protegida */
.js-hero:author-section.fade-completed,
.js-hero:author-section.fade-locked {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}

/* ===== ESTADOS INICIAIS DOS ELEMENTOS ===== */

/* Elementos inicialmente ocultos */
.js-hero:author-section:not([data-fade-completed="true"]):not([data-fade-locked="true"]) {
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(30px) !important;
}

.js-hero:author:not([data-fade-completed="true"]):not([data-fade-locked="true"]) {
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(20px) !important;
}

.hero-tagline-line:not([data-fade-completed="true"]):not([data-fade-locked="true"]) {
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(20px) !important;
}

/* Garantir que elementos sem atributos estejam ocultos */
.js-hero:author-section:not([data-fade-completed]):not([data-fade-locked]) {
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(30px) !important;
}

.js-hero:author:not([data-fade-completed]):not([data-fade-locked]) {
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(20px) !important;
}

.hero-tagline-line:not([data-fade-completed]):not([data-fade-locked]) {
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(20px) !important;
}

/* ===== FOOTER MOBILE ADJUSTMENT ===== */
/* Ajuste aplicado via arquivo footer-mobile-fix.css */