.elementor-905 .elementor-element.elementor-element-fc4a8dd{--display:flex;--min-height:0px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:1px 0px;--row-gap:1px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-905 .elementor-element.elementor-element-f400184{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-905 .elementor-element.elementor-element-5cf16f8{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:160px;--margin-bottom:160px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-905 .elementor-element.elementor-element-35a8b04{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-905 .elementor-element.elementor-element-5c514dc .elementor-heading-title{font-family:"Bodoni Moda", Sans-serif;font-size:32px;font-weight:400;letter-spacing:1.5px;color:#F2E6D0;}.elementor-905 .elementor-element.elementor-element-367d57d{margin:020px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-905 .elementor-element.elementor-element-367d57d .elementor-heading-title{font-family:"Manrope", Sans-serif;font-size:16px;font-weight:200;letter-spacing:1.5px;color:#758A8F;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-905 .elementor-element.elementor-element-6a9a94d{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:80px 160px 0px 0px;column-gap:0px;text-align:justify;font-family:"Manrope", Sans-serif;font-size:18px;font-weight:200;line-height:31px;letter-spacing:1px;color:#F2E6D0;}.elementor-905 .elementor-element.elementor-element-6a9a94d p{margin-block-end:20px;}.elementor-905 .elementor-element.elementor-element-af397ac{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-905 .elementor-element.elementor-element-8d74f2f{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;text-align:start;}body.elementor-page-905:not(.elementor-motion-effects-element-type-background), body.elementor-page-905 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0C0C0D;}@media(min-width:768px){.elementor-905 .elementor-element.elementor-element-5cf16f8{--content-width:1240px;}.elementor-905 .elementor-element.elementor-element-35a8b04{--width:100%;}.elementor-905 .elementor-element.elementor-element-af397ac{--width:39%;}}/* Start custom CSS for html, class: .elementor-element-980d0c9 *//* =========================================
   PAINEL DE CONTROLE - EDITE AQUI
========================================= */
.noctus-hero-container {
    /* 1. Cores e Fundo */
    --cor-base: #0c0c0d; /* Seu preto base */
    --cor-movimento: #0f0e0e; /* Uma versão MUITO escura do seu Vinho #3f1425 para o gradiente */
    --cor-logo: #f2E6D0; /* Off-white da logo */

    /* 2. Controle da Lanterna (Desktop) */
    --tamanho-luz: 350px; /* Largura da lanterna. Aumente se quiser ver mais da logo */
    --opacidade-escuridao: 0.96; /* 1 = Breu Total, 0.8 = Permite ver a logo levemente no fundo */
    --opacidade-centro-luz: 0; /* 0 = Totalmente transparente no centro, revelando a cor real da logo */
    
    /* 3. Controle da Lanterna (Mobile) */
    --tamanho-luz-mobile: 250px; /* Lanterna menor no celular para manter o mistério */
}

/* =========================================
   ESTRUTURA PRINCIPAL
========================================= */
.noctus-hero-container {
    position: relative;
    width: 100%;
    min-height: 100vh;
    height: 100dvh;
    background-color: var(--cor-base);
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    margin: 0;
    padding: 0;
    cursor: crosshair;
}

/* GRADIENTE DE FUNDO ANIMADO ("Respiração") */
.noctus-animated-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(120deg, var(--cor-base), var(--cor-movimento), var(--cor-base));
    background-size: 200% 200%;
    animation: respiracaoAbissal 15s ease infinite;
}

@keyframes respiracaoAbissal {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* LOGO SVG */
.noctus-logo-wrapper {
    width: clamp(280px, 40vw, 540px);
    z-index: 1;
    opacity: 0.85; 
}

.noctus-logo-wrapper svg {
    width: 100%;
    height: auto;
    display: block;
}

.noctus-svg-fill {
    fill: var(--cor-logo); /* Puxa a cor exata das variáveis */
}

/* CAMADA DE ESCURIDÃO E LUZ (Desktop) */
.noctus-darkness-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: radial-gradient(
        circle var(--tamanho-luz) at var(--x, 50%) var(--y, 50%),
        rgba(12, 12, 13, var(--opacidade-centro-luz)) 0%,
        rgba(12, 12, 13, var(--opacidade-escuridao)) 35%,
        var(--cor-base) 80%
    );
    transition: background 0.1s;
}

/* ADAPTAÇÃO MOBILE (Animação de Lanterna Automática) */
@media (hover: none) and (pointer: coarse) {
    .noctus-hero-container {
        cursor: default;
    }
    
    .noctus-darkness-overlay {
        background: radial-gradient(
            circle var(--tamanho-luz-mobile) at var(--x, 50%) var(--y, 50%),
            rgba(12, 12, 13, var(--opacidade-centro-luz)) 0%,
            rgba(12, 12, 13, var(--opacidade-escuridao)) 40%,
            var(--cor-base) 80%
        );
        animation: lanternaBusca 10s infinite ease-in-out;
    }

    .noctus-logo-wrapper {
        width: clamp(200px, 70vw, 400px);
    }
}

@keyframes lanternaBusca {
    0%, 100% { --x: 10%; --y: 20%; }
    25% { --x: 90%; --y: 30%; }
    50% { --x: 80%; --y: 80%; }
    75% { --x: 20%; --y: 70%; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ca19c85 *//* =========================================
   1. CORREÇÃO PARA O EDITOR DO ELEMENTOR
   (Garante que nada suma enquanto você edita)
========================================= */
body.elementor-editor-active .reveal-on-scroll {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
}

/* =========================================
   2. ANIMAÇÃO DE SURGIMENTO (FADE IN SUAVE)
========================================= */
.reveal-on-scroll {
    opacity: 0;
    transform: translateY(30px) scale(0.99);
    transition: opacity 2.0s cubic-bezier(0.165, 0.84, 0.44, 1), transform 1.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    will-change: opacity, transform; 
}

.reveal-on-scroll.is-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.delay-1 { transition-delay: 0.1s; } 
.delay-2 { transition-delay: 0.6s; } 
.delay-3 { transition-delay: 1.1s; } 
.delay-4 { transition-delay: 1.6s; } 

@media (max-width: 767px) {
    .reveal-on-scroll {
        transform: translateY(15px) scale(1);
        transition: opacity 1.5s ease-out, transform 1.5s ease-out; 
    }
}

/* =========================================
   3. PAINEL DE CONTROLE TOTAL (EDITE AQUI)
========================================= */
.noctus-btn-container {
    /* Cores */
    --btn-cor-texto: #f2E6D0;         
    --btn-cor-hover-texto: #ffffff;   
    --btn-cor-linha: #f2E6D0;         

    /* Tipografia */
    --btn-font-family: 'Manrope', sans-serif; 
    --btn-font-size: 13px;            
    --btn-font-weight: 500;           
    --btn-letter-spacing: 2px;        
    --btn-text-transform: uppercase;  

    /* Espaçamento */
    --btn-padding-y: 16px;            
    --btn-padding-x: 25px;            
    --btn-min-width: 180px;           
    --btn-gap-entre-botoes: 20px;    
    
    /* Linha e Animação */
    --btn-espessura-linha: 2px;       
    --btn-velocidade-animacao: 0.3s;  
}

/* =========================================
   4. ESTRUTURA DOS BOTÕES (FLEXBOX)
========================================= */
.noctus-btn-container {
    display: flex;
    flex-direction: row; 
    flex-wrap: wrap;     
    justify-content: flex-start; 
    gap: var(--btn-gap-entre-botoes);
    margin-top: 40px;    
    width: 100%;
}

.noctus-btn {
    position: relative;
    display: inline-block;
    background-color: transparent !important; 
    border: none;
    cursor: pointer;
    text-decoration: none !important; 
    min-width: var(--btn-min-width);
    text-align: center;
    box-sizing: border-box;
    transition: color var(--btn-velocidade-animacao) ease;
}

.noctus-btn span {
    display: block;
    position: relative;
    z-index: 2; 
    font-family: var(--btn-font-family);
    font-size: var(--btn-font-size);
    font-weight: var(--btn-font-weight);
    letter-spacing: var(--btn-letter-spacing);
    text-transform: var(--btn-text-transform);
    color: var(--btn-cor-texto);
    padding: var(--btn-padding-y) var(--btn-padding-x);
}

.noctus-btn:hover {
    color: var(--btn-cor-hover-texto);
}

/* =========================================
   5. ANIMAÇÃO DE CONTORNO (HOVER-BORDER)
========================================= */
/* Setup base para todas as linhas */
.noctus-btn::before,
.noctus-btn::after,
.noctus-btn span::before,
.noctus-btn span::after {
    position: absolute;
    content: "";
    background: transparent;
    z-index: 1;
    border-color: var(--btn-cor-linha);
    border-style: solid;
    border-width: 0; 
    transition: all var(--btn-velocidade-animacao) ease-out;
    box-sizing: border-box;
}

/* Linhas Verticais da Esquerda (Iniciais) */
.noctus-btn::before,
.noctus-btn::after {
    left: 0;
    width: var(--btn-espessura-linha);
    height: 30%; 
    border-left-width: var(--btn-espessura-linha);
    transition: height var(--btn-velocidade-animacao) 0.35s ease-out, opacity 0.1s 0.3s;
    opacity: 1;
}

.noctus-btn::before { top: 50%; transform: translateY(-50%); } 
.noctus-btn::after { bottom: 50%; transform: translateY(50%); } 

/* Hover na Esquerda */
.noctus-btn:hover::before { height: 50%; transition: height var(--btn-velocidade-animacao) ease-in; }
.noctus-btn:hover::after { height: 50%; transition: height 0.1s ease-in; }

/* Linhas Horizontais e Direita (Snake Effect) */
.noctus-btn span::before,
.noctus-btn span::after { width: 0; height: 0; opacity: 0; }

/* Linha de Baixo */
.noctus-btn span::after {
    bottom: 0; left: 0;
    border-bottom-width: var(--btn-espessura-linha);
    transition: width 0.25s ease-in, opacity 0s 0.35s;
}

/* Linha de Cima e Direita */
.noctus-btn span::before {
    top: 0; left: 0;
    border-top-width: var(--btn-espessura-linha);
    border-right-width: var(--btn-espessura-linha);
    transition: height 0.15s ease-in, width 0.2s 0.15s linear, opacity 0s 0.35s;
}

/* Hover ativado */
.noctus-btn span:hover::after {
    width: 100%; opacity: 1;
    transition: width 0.25s 0.2s ease-out, opacity 0s 0.2s;
}

.noctus-btn span:hover::before {
    width: 100%; height: 100%; opacity: 1;
    transition: width 0.2s 0.1s linear, height 0.15s 0.3s ease-out, opacity 0s 0.1s;
}

/* Compatibilidade Mobile */
@media (max-width: 480px) {
    .noctus-btn-container { flex-direction: column; align-items: flex-start; gap: 15px; }
    .noctus-btn { width: 100%; }
}/* End custom CSS */