.elementor-21 .elementor-element.elementor-element-6f5fd91{--display:flex;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0;--margin-bottom:0;--margin-left:0;--margin-right:0;--padding-top:4vh;--padding-bottom:2vh;--padding-left:2vh;--padding-right:2vh;--z-index:2;}.elementor-21 .elementor-element.elementor-element-6f5fd91:not(.elementor-motion-effects-element-type-background), .elementor-21 .elementor-element.elementor-element-6f5fd91 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-21 .elementor-element.elementor-element-8832184{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.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-21 .elementor-element.elementor-element-a9402c9{width:auto;max-width:auto;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0 0 0 0;}.elementor-21 .elementor-element.elementor-element-a9402c9 .elementor-heading-title{font-family:"owners", Sans-serif;font-size:5.61em;font-weight:400;font-style:italic;line-height:0.99em;letter-spacing:0.07em;word-spacing:0.1em;color:#000000;}.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-21 .elementor-element.elementor-element-7cef98c{width:var( --container-widget-width, 36% );max-width:36%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--container-widget-width:36%;--container-widget-flex-grow:0;text-align:left;font-family:"owners", Sans-serif;font-size:1em;font-weight:300;line-height:1.3em;letter-spacing:0.05em;color:#000000;}.elementor-21 .elementor-element.elementor-element-7cef98c.elementor-element{--align-self:center;}.elementor-21 .elementor-element.elementor-element-a13af33{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0;--padding-bottom:2vh;--padding-left:0;--padding-right:0;}.elementor-21 .elementor-element.elementor-element-00523c7{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:0% 1%;--row-gap:0%;--column-gap:1%;border-style:none;--border-style:none;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:3%;--padding-bottom:3%;--padding-left:3%;--padding-right:3%;}.elementor-21 .elementor-element.elementor-element-00523c7:not(.elementor-motion-effects-element-type-background), .elementor-21 .elementor-element.elementor-element-00523c7 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#585858;}.elementor-21 .elementor-element.elementor-element-285c3b1 .elementor-heading-title{font-family:"owners", Sans-serif;font-size:1.4em;font-weight:400;text-transform:uppercase;letter-spacing:0.06em;color:#FFFFFF;}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-21 .elementor-element.elementor-element-fed8f9a .elementor-icon-wrapper{text-align:center;}.elementor-21 .elementor-element.elementor-element-fed8f9a.elementor-view-stacked .elementor-icon{background-color:#FFFFFF;}.elementor-21 .elementor-element.elementor-element-fed8f9a.elementor-view-framed .elementor-icon, .elementor-21 .elementor-element.elementor-element-fed8f9a.elementor-view-default .elementor-icon{color:#FFFFFF;border-color:#FFFFFF;}.elementor-21 .elementor-element.elementor-element-fed8f9a.elementor-view-framed .elementor-icon, .elementor-21 .elementor-element.elementor-element-fed8f9a.elementor-view-default .elementor-icon svg{fill:#FFFFFF;}.elementor-21 .elementor-element.elementor-element-fed8f9a .elementor-icon{font-size:1.3em;}.elementor-21 .elementor-element.elementor-element-fed8f9a .elementor-icon svg{height:1.3em;}.elementor-21 .elementor-element.elementor-element-fed8f9a .elementor-icon i, .elementor-21 .elementor-element.elementor-element-fed8f9a .elementor-icon svg{transform:rotate(90deg);}.elementor-21 .elementor-element.elementor-element-1343b86{--display:flex;--min-height:100vh;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:flex-start;--gap:0 2vh;--row-gap:0;--column-gap:2vh;--margin-top:0;--margin-bottom:6.85vh;--margin-left:0;--margin-right:0;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-21 .elementor-element.elementor-element-1343b86:not(.elementor-motion-effects-element-type-background), .elementor-21 .elementor-element.elementor-element-1343b86 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-21 .elementor-element.elementor-element-70601c7{--grid-columns:3;--grid-row-gap:1em;--grid-column-gap:1em;}.elementor-21 .elementor-element.elementor-element-70601c7 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}@media(max-width:1200px) and (min-width:768px){.elementor-21 .elementor-element.elementor-element-00523c7{--width:1600px;}}@media(max-width:1200px){.elementor-21 .elementor-element.elementor-element-a13af33{--padding-top:0;--padding-bottom:2vh;--padding-left:2vh;--padding-right:2vh;}.elementor-21 .elementor-element.elementor-element-00523c7{--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-21 .elementor-element.elementor-element-1343b86{--padding-top:0;--padding-bottom:0;--padding-left:2vh;--padding-right:2vh;}}@media(max-width:1024px){.elementor-21 .elementor-element.elementor-element-7cef98c{width:var( --container-widget-width, 43% );max-width:43%;--container-widget-width:43%;--container-widget-flex-grow:0;font-size:0.8em;}.elementor-21 .elementor-element.elementor-element-70601c7{--grid-columns:2;}}@media(max-width:767px){.elementor-21 .elementor-element.elementor-element-7cef98c{--container-widget-width:55%;--container-widget-flex-grow:0;width:var( --container-widget-width, 55% );max-width:55%;}.elementor-21 .elementor-element.elementor-element-70601c7{--grid-columns:1;}}/* Start custom CSS for heading, class: .elementor-element-a9402c9 *//* --- 1. CONFIGURAÇÃO BASE --- */
#meu-titulo-animado {
    height: auto; width: 100%;
    padding: 0 !important; margin: 0 !important;
    max-width: 100vw; overflow: hidden; 
    display: flex; flex-direction: column; margin-top: auto; 
    box-sizing: border-box; 
    will-change: height, transform; transform: translateZ(0); backface-visibility: hidden;
}

#meu-titulo-animado .elementor-widget-container {
    margin: 0 !important; padding: 0 !important; line-height: 0 !important; width: 100%;
}

/* --- 2. TÍTULO GERAL (LINHA 1) --- */
#meu-titulo-animado .elementor-heading-title {
    display: block; line-height: 0.9; padding-top: 0; margin: 0;
    white-space: nowrap; max-width: 100%; 
    
    /* ESTADO ZERO: Invisível e SEM ANIMAÇÃO */
    opacity: 0; 
    transition: none; /* O segredo para não haver flash */
    
    /* Fallback */
    font-size: var(--fs-long, 7.8125vw);
}

/* --- 3. ESTADO CARREGADO (ATIVADO PELO JS) --- */
#meu-titulo-animado.loaded .elementor-heading-title {
    opacity: 1; /* Aparece */
    
    /* SÓ AGORA LIGAMOS AS ANIMAÇÕES */
    transition: 
        padding-top 1.8s cubic-bezier(0.86, 0, 0.07, 1) 0s,
        font-size 1.8s cubic-bezier(0.86, 0, 0.07, 1) 0s,
        opacity 1.5s ease-out; 
}

/* --- 4. TEXTO EXTRA --- */
#meu-titulo-animado .texto-extra {
    display: block; margin: 0;
    opacity: 0; 
    transition: none; /* Sem animação inicial */
    
    transform: translateY(0); transform-origin: top left;
    white-space: normal; 
    font-size: 1em; line-height: 0.9;
    max-height: 100vh; overflow: hidden; 
}

#meu-titulo-animado.loaded .texto-extra {
    opacity: 1;
    /* Liga animações */
    transition: 
        opacity 0.6s ease-out 0.8s, 
        transform 1.8s cubic-bezier(0.86, 0, 0.07, 1) 0s,
        max-height 1.8s cubic-bezier(0.86, 0, 0.07, 1) 0.8s;
}

/* --- 5. ESTADO CURTO (SCROLL DOWN) --- */
#meu-titulo-animado.estado-curto .elementor-heading-title {
    font-size: var(--fs-short, 10.416vw) !important; 
    padding-top: 37vh;
    transition-delay: 0.6s; 
}

#meu-titulo-animado.estado-curto .texto-extra {
    opacity: 0 !important; 
    max-height: 0; margin: 0;
    transform: translateY(20px); 
    
    transition: 
        opacity 0.4s ease-out 0s,
        transform 0.4s ease 0s,
        max-height 0.4s cubic-bezier(0.25, 1, 0.5, 1) 0s;
}

@media (max-width: 767px) {
    #meu-titulo-animado .elementor-heading-title { white-space: normal; }
}
.resize-active * { transition: none !important; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a13af33 */.elementor-21 .elementor-element.elementor-element-a13af33 {
    height: 16vh;
}/* End custom CSS */
/* Start custom CSS *//* --- 1. CONFIGURAÇÃO GERAL --- */
html, body {
    scroll-snap-type: none; /* JS controla o snap inicialmente */
    scroll-padding-top: 24.25vh !important;
    overflow-y: scroll;
    overflow-x: clip !important;
    width: 100% !important;
    margin: 0 !important;
    scroll-behavior: smooth !important;
}

body.snap-enabled {
    scroll-snap-type: y mandatory !important;
}

html body .elementor-section,
html body .elementor-column,
html body .elementor-container {
    overflow: visible !important;
}

/* --- 2. HEADER FIXO --- */
#work-header {
    position: fixed !important;
    top: 9.25vh !important;
    left: 0;
    z-index: 80; 
    width: 100%;
    height: 20vh; 
    display: flex;
    flex-direction: column;
    align-items: center; 
    justify-content: center;
    background-color: #ffffff; 
    
    transition: height 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    
    /* Estabilização do Container */
    transform: translate3d(0,0,0);
    will-change: height;
    box-shadow: 0 0 0 rgba(0,0,0,0);
}

#work-header.is-shrunk {
    height: 15vh; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

/* --- 3. TEXTO WORK (ANTI-JITTER EXTREMO) --- */
#work-title .elementor-heading-title {
    font-size: 9vw; 
    line-height: 1.1 !important; 
    margin: 0;
    
    transition: font-size 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    
    /* --- NOVAS REGRAS DE ESTABILIZAÇÃO --- */
    /* 1. Renderização geométrica (evita que a fonte mude de peso) */
    text-rendering: geometricPrecision;
    /* 2. Suavização */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    /* 3. Aceleração 3D para isolar o layer */
    transform: perspective(1000px) translateZ(0);
    /* 4. Avisar o browser */
    will-change: font-size, transform;
}

#work-header.is-shrunk #work-title .elementor-heading-title {
    font-size: 4.5vw; 
}

/* --- 4. DESCRIÇÃO (RESPONSIVA & VISÍVEL) --- */
.work-desc, 
.work-desc p, 
.work-desc span {
    /* Estado Normal (Grande) */
    /* Mínimo 14px, Ideal 1.3vw, Máximo 22px */
    font-size: clamp(14px, 1.3vw, 22px) !important;
    
    line-height: 1.4;
    opacity: 1;
    max-width: 600px;
    text-align: center;
    
    /* Espaço confortável entre título e texto */
    margin-top: 15px; 
    margin-bottom: 0;
    height: auto;
    
    /* Transição suave de todos os parâmetros */
    transition: all 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    transform: translateZ(0); /* Anti-Jitter */
}

/* Estado Encolhido (Pequeno mas Visível) */
#work-header.is-shrunk .work-desc,
#work-header.is-shrunk .work-desc p {
    /* Mantém visível */
    opacity: 1;
    
    /* Reduz o tamanho (Mínimo 11px, Ideal 0.9vw) */
    font-size: clamp(11px, 0.9vw, 14px) !important;
    
    /* Aproxima do título para caber na barra de 15vh */
    margin-top: 2px; 
    line-height: 1.2;
    
    height: auto;
    transform: translateY(0); 
}

/* --- 5. BOTÃO --- */
#work-button {
    position: relative;
    z-index: 20; 
    background-color: #ffffff;
    margin-top: 20vh !important; 
    min-height: 150px; 

}

/* --- 6. SEC02 --- */
#work-content {
    scroll-snap-align: start;
    scroll-margin-top: 24.25vh; 
    position: relative;
    z-index: 10;
    background-color: #ffffff;
    width: 100%; 
    margin-top: 0; 
    padding-top: 5vh; 
    min-height: 100vh; 
}/* End custom CSS */