.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:2vh;--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{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;text-align:start;font-family:"owners", Sans-serif;font-size:1.2vw;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-widget-lottie{--caption-color:var( --e-global-color-text );}.elementor-widget-lottie .e-lottie__caption{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-21 .elementor-element.elementor-element-f678feb{width:var( --container-widget-width, 8vw );max-width:8vw;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--container-widget-width:8vw;--container-widget-flex-grow:0;}.elementor-21 .elementor-element.elementor-element-f678feb.elementor-element{--align-self:flex-start;}.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;border-style:none;--border-style:none;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0;--padding-bottom:0;--padding-left:2vh;--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:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#000000;--border-color:#000000;--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-image:url("https://fcordeiro.co/wp-content/uploads/2026/09/Reel_Image_Low-1.webp");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-21 .elementor-element.elementor-element-285c3b1 .elementor-heading-title{font-family:"owners", Sans-serif;font-size:1.5rem;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;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-start;--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:0;--padding-bottom:0;--padding-left:2vh;--padding-right:0;}.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){.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:auto;max-width:auto;font-size:0.8em;}.elementor-21 .elementor-element.elementor-element-285c3b1 .elementor-heading-title{font-size:1.2rem;}.elementor-21 .elementor-element.elementor-element-70601c7{--grid-columns:2;}}@media(max-width:767px){.elementor-21 .elementor-element.elementor-element-6f5fd91{--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:flex-start;--padding-top:2vh;--padding-bottom:0;--padding-left:2vh;--padding-right:2vh;}.elementor-21 .elementor-element.elementor-element-8832184{--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:flex-start;}.elementor-21 .elementor-element.elementor-element-7cef98c{padding:2vh 0 0 0;}.elementor-21 .elementor-element.elementor-element-7cef98c.elementor-element{--align-self:flex-start;}.elementor-21 .elementor-element.elementor-element-f678feb{width:auto;max-width:auto;--lottie-container-width:7em;}.elementor-21 .elementor-element.elementor-element-f678feb.elementor-element{--align-self:flex-start;}.elementor-21 .elementor-element.elementor-element-285c3b1 .elementor-heading-title{font-size:1.1rem;}.elementor-21 .elementor-element.elementor-element-1343b86{--padding-top:0;--padding-bottom:05vh;--padding-left:2vh;--padding-right:2vh;}.elementor-21 .elementor-element.elementor-element-70601c7{--grid-columns:1;}}@media(max-width:1200px) and (min-width:768px){.elementor-21 .elementor-element.elementor-element-a13af33{--width:100%;}.elementor-21 .elementor-element.elementor-element-00523c7{--width:1600px;}}/* 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 *//* Altura do botão */
.elementor-21 .elementor-element.elementor-element-a13af33 {
    height: 11vh;
}


/* =========================================================
   REEL — PRETO E BRANCO
   O filtro fica no container de dentro ("Title").
   O hover é detetado no container de fora (#work-button)
   porque o Wrapper Link do Essential Addons põe um link
   invisível por cima e é esse link que recebe o rato.
========================================================= */

/* Começa a P&B */
.elementor-element-00523c7 {
    filter: grayscale(100%);
}


/* Desktop (com rato): ganha cor no hover */
@media (hover: hover) and (min-width: 768px) {

    .elementor-element-00523c7 {
        transition: filter 0.4s ease;
    }

    #work-button:hover .elementor-element-00523c7 {
        filter: grayscale(0%);
    }
}


/* Mobile: sempre a P&B, sem animação nem cor ao tocar */
@media (max-width: 767px) {

    .elementor-element-00523c7 {
        filter: grayscale(100%) !important;
        transition: none !important;
    }
}/* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-70601c7 *//* =========================================================
   CARDS — PRETO E BRANCO
========================================================= */

/* Todos os cards começam a P&B */
.elementor-21 .elementor-element.elementor-element-70601c7 .e-loop-item img {
    filter: grayscale(100%);
}


/* Desktop (com rato): a imagem ganha cor no hover */
@media (hover: hover) and (min-width: 768px) {

    .elementor-21 .elementor-element.elementor-element-70601c7 .e-loop-item img {
        transition: filter 0.4s ease;
    }

    .elementor-21 .elementor-element.elementor-element-70601c7 .e-loop-item:hover img {
        filter: grayscale(0%);
    }
}


/* Mobile: sempre a P&B, sem animação nem cor ao tocar */
@media (max-width: 767px) {

    .elementor-21 .elementor-element.elementor-element-70601c7 .e-loop-item img,
    .elementor-21 .elementor-element.elementor-element-70601c7 .e-loop-item:hover img {
        filter: grayscale(100%) !important;
        transition: none !important;
    }
}/* End custom CSS */
/* Start custom CSS *//* --- 1. CONFIGURAÇÃO GERAL --- */
html, body {
    scroll-snap-type: none; 
    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;
}

/* --- ESTILO DO LOTTIE WORK --- */
#meu-lottie {
    position: fixed; 
    pointer-events: none;
    z-index: 90;
    top: 14vh; 
    transition: top 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

#meu-lottie.lottie-compact {
    top: 9vh; 
}

/* [ALTERAÇÃO MOBILE] Lottie acompanha o scroll e fica logo abaixo do título.
   Em mobile o título tem 14vw, por isso o Lottie usa a mesma unidade.
   Se mudares o tamanho do título, o 15.1vw passa a ~1.08 × tamanho do título. */
@media (max-width: 767px) {
    #meu-lottie, 
    #meu-lottie.lottie-compact {
        position: absolute !important;
        top: calc(1.6vh + 15.1vw) !important;
        transition: none !important;
    }
}

/* --- 2. HEADER (DESKTOP FIXO) --- */
#work-header {
    position: fixed !important;
    top: 9.25vh !important;
    left: 0;
    z-index: 80; 
    width: 100%;
    height: 15vh; 
    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);
    transform: translate3d(0,0,0);
    will-change: height;
}

#work-header.is-shrunk {
    height: 13vh; 
}

/* [ALTERAÇÃO MOBILE] HEADER NORMAL (SCROLLÁVEL) */
@media (max-width: 767px) {
    #work-header,
    #work-header.is-shrunk {
        /* O SEGREDO: Relative faz ele ocupar espaço e scrollar com a página */
        position: relative !important; 
        top: 0 !important;
        height: auto !important; 
        transition: none !important;
        transform: none !important;
    }
}

/* --- 3. TEXTO WORK --- */
#work-title .elementor-heading-title {
    font-size: clamp(40px, 8vw, 120px) !important; 
    line-height: 1.1 !important; 
    margin: 0;
    transition: font-size 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    text-rendering: geometricPrecision;
    -webkit-font-smoothing: antialiased;
    transform: perspective(1000px) translateZ(0);
    will-change: font-size, transform;
}

#work-header.is-shrunk #work-title .elementor-heading-title {
    font-size: clamp(24px, 6vw, 80px) !important; 
    margin-bottom: 2vh;
}

/*
#work-header.is-shrunk #work-title .elementor-heading-title {
    font-size: clamp(24px, 4.5vw, 60px) !important; 
}*/

/* CONGELAR TÍTULO EM MOBILE */
@media (max-width: 767px) {
    #work-title .elementor-heading-title,
    #work-header.is-shrunk #work-title .elementor-heading-title {
        font-size: 14vw !important; 
        margin-bottom: 0 !important; 
        transition: none !important;
    }
}

/* --- 4. DESCRIÇÃO (DESKTOP) --- */
.work-desc {
    display: block !important;
    width: auto !important; 
    align-self: flex-end !important; 
    margin-left: auto !important; 
    margin-right: 0 !important;
    text-align: right; 
    max-width: 28% !important; 
    margin-top: 15px; 
    opacity: 1;
    transition: max-width 0.8s cubic-bezier(0.25, 1, 0.5, 1);
    will-change: max-width;
}

#work-header.is-shrunk .work-desc {
    max-width: 44% !important; 
}

/* DESCRIÇÃO MOBILE */
@media (max-width: 767px) {
    .work-desc,
    #work-header.is-shrunk .work-desc {
        text-align: left !important; 
        align-self: flex-start !important; 
        width: 100% !important;
        max-width: 100% !important; 
        margin-left: 0 !important; 
        margin-right: 0 !important;
    
        box-sizing: border-box !important;
        
        transition: none !important;
    }
    
    .work-desc {
        font-size: 16px !important;
    }

    /* Espaço mínimo entre o título e a descrição, para o Lottie
       não tocar no texto em ecrãs baixos */
    #work-desc {
        padding-top: max(2vh, 20px) !important;
    }
}

/* --- 6. BOTÃO (REEL) --- */
#work-button {
    position: relative;
    z-index: 20; 
    background-color: #ffffff;
    margin-top: max(18vh, 100px) !important; 
    margin-bottom: 2vh !important; 
    min-height: 14vh; 
}

/* [ALTERAÇÃO MOBILE] REMOVER MARGENS DO BOTÃO */
@media (max-width: 767px) {
    #work-button {
        /* Como o header é relative, ele empurra o botão naturalmente.
           Limpamos a margem gigante que tínhamos antes. */
        margin-top: 20px !important; 
    }
}

/* --- 7. SEC02 (POST GRID) --- */
#work-content {
    scroll-snap-align: start;
    scroll-margin-top: 24.25vh; 
    position: relative;
    z-index: 10;
    background-color: #ffffff;
    width: 100%; 
    margin-top: 0; 
    min-height: 100vh; 
}/* End custom CSS */