.elementor-7 .elementor-element.elementor-element-1054697{--display:flex;--justify-content:space-between;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0;--margin-bottom:0;--margin-left:0;--margin-right:0;--padding-top:0;--padding-bottom:2vh;--padding-left:2vh;--padding-right:2vh;}.elementor-7 .elementor-element.elementor-element-1054697:not(.elementor-motion-effects-element-type-background), .elementor-7 .elementor-element.elementor-element-1054697 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.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-7 .elementor-element.elementor-element-9e11bec{width:var( --container-widget-width, 9% );max-width:9%;--container-widget-width:9%;--container-widget-flex-grow:0;}.elementor-7 .elementor-element.elementor-element-9e11bec.elementor-element{--align-self:flex-end;}.elementor-7 .elementor-element.elementor-element-b203494{--display:flex;--justify-content:flex-start;--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:1%;--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-7 .elementor-element.elementor-element-4ffa62c{width:auto;max-width:auto;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:1vh 0 0 0;}.elementor-7 .elementor-element.elementor-element-4ffa62c .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-7 .elementor-element.elementor-element-2366fee{--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;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;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:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-2366fee:not(.elementor-motion-effects-element-type-background), .elementor-7 .elementor-element.elementor-element-2366fee > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#444444;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-7 .elementor-element.elementor-element-e275e35{--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-7 .elementor-element.elementor-element-4906c9f .elementor-heading-title{font-family:"owners", Sans-serif;font-size:1.4vw;font-weight:400;text-transform:uppercase;letter-spacing:0.6px;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-7 .elementor-element.elementor-element-205ecd1 .elementor-icon-wrapper{text-align:center;}.elementor-7 .elementor-element.elementor-element-205ecd1.elementor-view-stacked .elementor-icon{background-color:#FFFFFF;}.elementor-7 .elementor-element.elementor-element-205ecd1.elementor-view-framed .elementor-icon, .elementor-7 .elementor-element.elementor-element-205ecd1.elementor-view-default .elementor-icon{color:#FFFFFF;border-color:#FFFFFF;}.elementor-7 .elementor-element.elementor-element-205ecd1.elementor-view-framed .elementor-icon, .elementor-7 .elementor-element.elementor-element-205ecd1.elementor-view-default .elementor-icon svg{fill:#FFFFFF;}.elementor-7 .elementor-element.elementor-element-205ecd1 .elementor-icon{font-size:1.5vw;}.elementor-7 .elementor-element.elementor-element-205ecd1 .elementor-icon svg{height:1.5vw;}.elementor-7 .elementor-element.elementor-element-205ecd1 .elementor-icon i, .elementor-7 .elementor-element.elementor-element-205ecd1 .elementor-icon svg{transform:rotate(90deg);}.elementor-7 .elementor-element.elementor-element-f64de8e{--display:flex;--justify-content:space-between;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0;--margin-bottom:0;--margin-left:0;--margin-right:0;--padding-top:0;--padding-bottom:2vh;--padding-left:2vh;--padding-right:2vh;}.elementor-7 .elementor-element.elementor-element-f64de8e:not(.elementor-motion-effects-element-type-background), .elementor-7 .elementor-element.elementor-element-f64de8e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-7 .elementor-element.elementor-element-1afac59{width:var( --container-widget-width, 9% );max-width:9%;--container-widget-width:9%;--container-widget-flex-grow:0;}.elementor-7 .elementor-element.elementor-element-1afac59.elementor-element{--align-self:flex-end;}.elementor-7 .elementor-element.elementor-element-ca6a7aa{--display:flex;--justify-content:flex-start;--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:1%;--padding-left:0%;--padding-right:0%;}.elementor-7 .elementor-element.elementor-element-8b61238{width:auto;max-width:auto;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:1vh 0 0 0;}.elementor-7 .elementor-element.elementor-element-8b61238 .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-7 .elementor-element.elementor-element-8f1b12d{width:auto;max-width:auto;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:1vh 0 0 0;}.elementor-7 .elementor-element.elementor-element-8f1b12d .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-7 .elementor-element.elementor-element-175ab2a{--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;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:solid;--border-style:solid;border-color:#000000;--border-color:#000000;--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-7 .elementor-element.elementor-element-175ab2a:not(.elementor-motion-effects-element-type-background), .elementor-7 .elementor-element.elementor-element-175ab2a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#444444;}.elementor-7 .elementor-element.elementor-element-16b2c11{--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-7 .elementor-element.elementor-element-36336c6 .elementor-heading-title{font-family:"owners", Sans-serif;font-size:1.4vw;font-weight:400;text-transform:uppercase;letter-spacing:0.6px;color:#FFFFFF;}.elementor-7 .elementor-element.elementor-element-02f75c4 .elementor-icon-wrapper{text-align:center;}.elementor-7 .elementor-element.elementor-element-02f75c4.elementor-view-stacked .elementor-icon{background-color:#FFFFFF;}.elementor-7 .elementor-element.elementor-element-02f75c4.elementor-view-framed .elementor-icon, .elementor-7 .elementor-element.elementor-element-02f75c4.elementor-view-default .elementor-icon{color:#FFFFFF;border-color:#FFFFFF;}.elementor-7 .elementor-element.elementor-element-02f75c4.elementor-view-framed .elementor-icon, .elementor-7 .elementor-element.elementor-element-02f75c4.elementor-view-default .elementor-icon svg{fill:#FFFFFF;}.elementor-7 .elementor-element.elementor-element-02f75c4 .elementor-icon{font-size:1.5vw;}.elementor-7 .elementor-element.elementor-element-02f75c4 .elementor-icon svg{height:1.5vw;}.elementor-7 .elementor-element.elementor-element-02f75c4 .elementor-icon i, .elementor-7 .elementor-element.elementor-element-02f75c4 .elementor-icon svg{transform:rotate(90deg);}.elementor-7 .elementor-element.elementor-element-260bddc{--display:flex;--min-height:0px;--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 0;--row-gap:0;--column-gap:0;--margin-top:0;--margin-bottom:6.85vh;--margin-left:0;--margin-right:0;--padding-top:0;--padding-bottom:0;--padding-left:2vh;--padding-right:2vh;}.elementor-7 .elementor-element.elementor-element-260bddc:not(.elementor-motion-effects-element-type-background), .elementor-7 .elementor-element.elementor-element-260bddc > .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-7 .elementor-element.elementor-element-c3fb98d{--grid-columns:3;width:var( --container-widget-width, 75% );max-width:75%;--container-widget-width:75%;--container-widget-flex-grow:0;--grid-column-gap:2vh;}.elementor-7 .elementor-element.elementor-element-e740942{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;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:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-e740942:not(.elementor-motion-effects-element-type-background), .elementor-7 .elementor-element.elementor-element-e740942 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-7 .elementor-element.elementor-element-2d1a9c6{--display:flex;--min-height:75%;--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-7 .elementor-element.elementor-element-2d1a9c6:not(.elementor-motion-effects-element-type-background), .elementor-7 .elementor-element.elementor-element-2d1a9c6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#CFCFCF;}.elementor-7 .elementor-element.elementor-element-49cb583{--display:flex;--min-height:25%;--justify-content:center;--gap:8% 0%;--row-gap:8%;--column-gap:0%;border-style:solid;--border-style:solid;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;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-7 .elementor-element.elementor-element-df2f65f .elementor-heading-title{font-family:"owners", Sans-serif;font-size:1.4vw;font-weight:400;text-transform:uppercase;letter-spacing:1px;color:#000000;}.elementor-7 .elementor-element.elementor-element-e60c5a9 .elementor-heading-title{font-family:"owners", Sans-serif;font-size:1vw;font-weight:300;font-style:italic;letter-spacing:0.3px;color:#000000;}.elementor-7 .elementor-element.elementor-element-2ab7383{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;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:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-2ab7383:not(.elementor-motion-effects-element-type-background), .elementor-7 .elementor-element.elementor-element-2ab7383 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-7 .elementor-element.elementor-element-291c990{--display:flex;--min-height:75%;--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-7 .elementor-element.elementor-element-291c990:not(.elementor-motion-effects-element-type-background), .elementor-7 .elementor-element.elementor-element-291c990 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#CFCFCF;}.elementor-7 .elementor-element.elementor-element-7a3126f{--display:flex;--min-height:25%;--justify-content:center;--gap:8% 0%;--row-gap:8%;--column-gap:0%;border-style:solid;--border-style:solid;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;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-7 .elementor-element.elementor-element-fbcf3f5 .elementor-heading-title{font-family:"owners", Sans-serif;font-size:1.4vw;font-weight:400;text-transform:uppercase;letter-spacing:1px;color:#000000;}.elementor-7 .elementor-element.elementor-element-3999097 .elementor-heading-title{font-family:"owners", Sans-serif;font-size:1vw;font-weight:300;font-style:italic;letter-spacing:0.3px;color:#000000;}.elementor-7 .elementor-element.elementor-element-482f6b6{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;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:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-482f6b6:not(.elementor-motion-effects-element-type-background), .elementor-7 .elementor-element.elementor-element-482f6b6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-7 .elementor-element.elementor-element-19cdb72{--display:flex;--min-height:75%;--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-7 .elementor-element.elementor-element-19cdb72:not(.elementor-motion-effects-element-type-background), .elementor-7 .elementor-element.elementor-element-19cdb72 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#CFCFCF;}.elementor-7 .elementor-element.elementor-element-dc4de91{--display:flex;--min-height:25%;--justify-content:center;--gap:8% 0%;--row-gap:8%;--column-gap:0%;border-style:solid;--border-style:solid;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;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-7 .elementor-element.elementor-element-378f79e .elementor-heading-title{font-family:"owners", Sans-serif;font-size:1.4vw;font-weight:400;text-transform:uppercase;letter-spacing:1px;color:#000000;}.elementor-7 .elementor-element.elementor-element-c0bed65 .elementor-heading-title{font-family:"owners", Sans-serif;font-size:1vw;font-weight:300;font-style:italic;letter-spacing:0.3px;color:#000000;}.elementor-7 .elementor-element.elementor-element-bdbdad2{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;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:0;--margin-bottom:0;--margin-left:2vh;--margin-right:0;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;}.elementor-7 .elementor-element.elementor-element-bdbdad2:not(.elementor-motion-effects-element-type-background), .elementor-7 .elementor-element.elementor-element-bdbdad2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://fcordeiro.co/wp-content/uploads/2026/09/More-Projects.webp");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-7 .elementor-element.elementor-element-abde245{--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:8% 4%;--row-gap:8%;--column-gap:4%;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-7 .elementor-element.elementor-element-23d2bf6 .elementor-heading-title{font-family:"owners", Sans-serif;font-size:1.4vw;font-weight:400;text-transform:uppercase;letter-spacing:1px;color:#FFFFFF;}.elementor-7 .elementor-element.elementor-element-8e807c6 .elementor-icon-wrapper{text-align:center;}.elementor-7 .elementor-element.elementor-element-8e807c6.elementor-view-stacked .elementor-icon{background-color:#FFFFFF;}.elementor-7 .elementor-element.elementor-element-8e807c6.elementor-view-framed .elementor-icon, .elementor-7 .elementor-element.elementor-element-8e807c6.elementor-view-default .elementor-icon{color:#FFFFFF;border-color:#FFFFFF;}.elementor-7 .elementor-element.elementor-element-8e807c6.elementor-view-framed .elementor-icon, .elementor-7 .elementor-element.elementor-element-8e807c6.elementor-view-default .elementor-icon svg{fill:#FFFFFF;}.elementor-7 .elementor-element.elementor-element-8e807c6 .elementor-icon{font-size:1.5vw;}.elementor-7 .elementor-element.elementor-element-8e807c6 .elementor-icon svg{height:1.5vw;}.elementor-7 .elementor-element.elementor-element-8e807c6 .elementor-icon i, .elementor-7 .elementor-element.elementor-element-8e807c6 .elementor-icon svg{transform:rotate(90deg);}@media(min-width:768px){.elementor-7 .elementor-element.elementor-element-bdbdad2{--width:25%;}}@media(max-width:1200px){.elementor-7 .elementor-element.elementor-element-260bddc{--padding-top:0;--padding-bottom:0;--padding-left:2vh;--padding-right:2vh;}}@media(max-width:1024px){.elementor-7 .elementor-element.elementor-element-c3fb98d{--grid-columns:2;}}@media(max-width:767px){.elementor-7 .elementor-element.elementor-element-ca6a7aa{--padding-top:0%;--padding-bottom:5%;--padding-left:0%;--padding-right:0%;}.elementor-7 .elementor-element.elementor-element-8b61238{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-7 .elementor-element.elementor-element-8b61238 .elementor-heading-title{font-size:4.5em;}.elementor-7 .elementor-element.elementor-element-8f1b12d .elementor-heading-title{font-size:1.49em;}.elementor-7 .elementor-element.elementor-element-175ab2a:not(.elementor-motion-effects-element-type-background), .elementor-7 .elementor-element.elementor-element-175ab2a > .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-7 .elementor-element.elementor-element-175ab2a{border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;--padding-top:5%;--padding-bottom:5%;--padding-left:0%;--padding-right:0%;}.elementor-7 .elementor-element.elementor-element-36336c6 .elementor-heading-title{font-size:1em;}.elementor-7 .elementor-element.elementor-element-02f75c4 .elementor-icon{font-size:1em;}.elementor-7 .elementor-element.elementor-element-02f75c4 .elementor-icon svg{height:1em;}.elementor-7 .elementor-element.elementor-element-260bddc{--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:2vh 2vh;--row-gap:2vh;--column-gap:2vh;--padding-top:0;--padding-bottom:5vh;--padding-left:2vh;--padding-right:2vh;}.elementor-7 .elementor-element.elementor-element-c3fb98d{--grid-columns:1;--grid-row-gap:2vh;width:100%;max-width:100%;}.elementor-7 .elementor-element.elementor-element-df2f65f .elementor-heading-title{font-size:1.3em;}.elementor-7 .elementor-element.elementor-element-e60c5a9 .elementor-heading-title{font-size:1em;}.elementor-7 .elementor-element.elementor-element-fbcf3f5 .elementor-heading-title{font-size:1.3em;}.elementor-7 .elementor-element.elementor-element-3999097 .elementor-heading-title{font-size:1em;}.elementor-7 .elementor-element.elementor-element-378f79e .elementor-heading-title{font-size:1.3em;}.elementor-7 .elementor-element.elementor-element-c0bed65 .elementor-heading-title{font-size:1em;}.elementor-7 .elementor-element.elementor-element-bdbdad2{--margin-top:0;--margin-bottom:0;--margin-left:0;--margin-right:0;}.elementor-7 .elementor-element.elementor-element-23d2bf6 .elementor-heading-title{font-size:1.7em;}.elementor-7 .elementor-element.elementor-element-8e807c6 .elementor-icon{font-size:1.3em;}.elementor-7 .elementor-element.elementor-element-8e807c6 .elementor-icon svg{height:1.3em;}}/* Start custom CSS for heading, class: .elementor-element-4ffa62c *//* --- 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 */

    /* O fade corre na placa gráfica: não engasga se o JS estiver ocupado */
    will-change: opacity;

    /* Fallback */
    font-size: var(--fs-long, 7.8125vw);

    /* Segurança: se o JS falhar, aparece sozinho ao fim de 6s */
    animation: titulo-failsafe 0s linear 6s forwards;
}

@keyframes titulo-failsafe {
    to { opacity: 1; }
}

/* --- 3. ESTADO CARREGADO (ATIVADO PELO JS) --- */
/*
O tamanho já está calculado, mas ainda invisível.
A entrada é feita por fases, só com opacidade, já no tamanho
e na posição finais (sem crescer). As fases ligam com a classe
anim-ready no <html>, que o script põe quando a fonte está
carregada e a página está calma. Os tempos estão no <style> do
widget HTML: --fade-dur, --fade-ease, --fade-1, --fade-2, --fade-3.
*/
#meu-titulo-animado.loaded .elementor-heading-title,
#meu-titulo-animado.loaded .texto-extra {
    opacity: 0;
    transition: none;
}

/* FASE 1 — CREATIVE DIRECTOR */
html.anim-ready #meu-titulo-animado.loaded .elementor-heading-title {
    opacity: 1;
    transition:
        opacity var(--fade-dur, 1.4s) var(--fade-ease, ease-out) var(--fade-1, 0s),
        padding-top var(--snap-duration, 1s) var(--snap-curve, cubic-bezier(0.65, 0, 0.35, 1)) 0s,
        font-size var(--snap-duration, 1s) var(--snap-curve, cubic-bezier(0.65, 0, 0.35, 1)) 0s;
}

/* FASE 2 — a segunda linha */
html.anim-ready #meu-titulo-animado.loaded .texto-extra {
    opacity: 1;
    transition:
        opacity var(--fade-dur, 1.4s) var(--fade-ease, ease-out) var(--fade-2, 0.7s),
        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;
}

/*
IMPORTANTE: esta regra tem de ter o mesmo peso da de cima (html.anim-ready).
Sem isto, ao fazer o primeiro scroll o texto-extra encolhe em 1.8s com 0.8s
de atraso, o título empurra o reel para baixo e só muito depois é que volta.
*/
html.anim-ready #meu-titulo-animado.estado-curto.loaded .texto-extra {
    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;
}

/* --- 4. TEXTO EXTRA --- */
#meu-titulo-animado .texto-extra {
    display: block; margin: 0;
    opacity: 0;
    transition: none; /* Sem animação inicial */
    will-change: opacity;

    transform: translateY(0); transform-origin: top left;
    white-space: normal;
    font-size: 1em; line-height: 0.9;
    max-height: 100vh; overflow: hidden;
}

/* --- 5. ESTADO CURTO (SCROLL DOWN) --- */
/* Sem atraso: o título começa a descer no mesmo instante do snap */
#meu-titulo-animado.estado-curto .elementor-heading-title {
    font-size: var(--fs-short, 10.416vw) !important;
    padding-top: 37vh;
    transition-delay: 0s;
}

#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-2366fee */.elementor-7 .elementor-element.elementor-element-2366fee {
    height: 26.1vh;
}

.elementor-7 .elementor-element.elementor-element-2366fee {
    filter: grayscale(100%);
    transition: filter 0.4s ease;
}

.elementor-7 .elementor-element.elementor-element-2366fee:hover {
    filter: grayscale(0%);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1054697 */.elementor-7 .elementor-element.elementor-element-1054697 {
    height: 84.3vh;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-8b61238 *//* =========================================================
   TÍTULO MOBILE — CSS DO WIDGET
   (tamanhos calculados pelo script)
========================================================= */


/* --- 1. CONFIGURAÇÃO BASE --- */

#meu-titulo-animado-mobile {
    height: auto;
    width: 100%;
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100vw;
    overflow: visible !important;
    box-sizing: border-box;
}

#meu-titulo-animado-mobile .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    width: 100%;
    overflow: visible !important;
}

/* Os containers onde o título está também não podem cortar */
@media (max-width: 767px) {
    .e-con:has(#meu-titulo-animado-mobile),
    .e-con-inner:has(#meu-titulo-animado-mobile),
    .elementor-column:has(#meu-titulo-animado-mobile),
    .elementor-widget-wrap:has(#meu-titulo-animado-mobile),
    .elementor-section:has(#meu-titulo-animado-mobile) {
        overflow: visible !important;
    }
}


/* --- 2. TÍTULO (CREATIVE DIRECTOR) --- */

#meu-titulo-animado-mobile .elementor-heading-title {
    display: block;
    line-height: 0.9;
    padding-top: 0;
    margin: 0;
    white-space: normal;
    max-width: 100%;

    /* Invisível até o JS calcular o tamanho */
    opacity: 0;

    /* O fade corre na placa gráfica: não engasga se o JS estiver ocupado */
    will-change: opacity;

    /* Fallback se o JS não correr */
    font-size: var(--fs-long, 18vw);

    /* Segurança: aparece sozinho ao fim de 6s se o JS falhar */
    animation: titulo-mobile-failsafe 0s linear 6s forwards;
}

/*
ITÁLICO: o Safari corta tudo o que sai da caixa do texto
(por causa do will-change). A caixa ganha folga dos dois lados
e a margem negativa põe o texto de volta no mesmo sítio.
O script desconta este padding ao medir a largura.
"html body" à frente para ganhar ao CSS do widget HTML.
Aumenta --italic-pad se ainda cortar.
*/
html body #meu-titulo-animado-mobile .elementor-heading-title {
    --italic-pad: 20px;
    box-sizing: border-box !important;
    width: calc(100% + 2 * var(--italic-pad)) !important;
    max-width: none !important;
    margin-left: calc(-1 * var(--italic-pad)) !important;
    margin-right: calc(-1 * var(--italic-pad)) !important;
    padding-left: var(--italic-pad) !important;
    padding-right: var(--italic-pad) !important;
}

@keyframes titulo-mobile-failsafe {
    to {
        opacity: 1;
    }
}

/* Antes de carregar: sem animações (evita flash) */
#meu-titulo-animado-mobile:not(.loaded) .elementor-heading-title {
    transition: none !important;
}


/* --- 3. ESTADO CARREGADO (ATIVADO PELO JS) --- */
/*
O tamanho já está calculado, mas ainda invisível. A entrada é só
com opacidade, já no tamanho final (sem crescer), e liga com a
classe anim-ready no <html>. Os tempos estão no <style> do widget
HTML: --fade-dur, --fade-ease e --fade-1.
*/

#meu-titulo-animado-mobile.loaded .elementor-heading-title {
    opacity: 0;
    transition: none !important;
}

/* FASE 1 — CREATIVE DIRECTOR */
html.anim-ready #meu-titulo-animado-mobile.loaded .elementor-heading-title {
    opacity: 1;
    transition:
        opacity var(--fade-dur, 1.4s) var(--fade-ease, ease-out) var(--fade-1, 0s),
        font-size 1.6s cubic-bezier(0.86, 0, 0.07, 1),
        line-height 1.6s cubic-bezier(0.86, 0, 0.07, 1) !important;
}


/* --- 4. ESTADO CURTO (SCROLL DOWN) --- */

#meu-titulo-animado-mobile.estado-curto .elementor-heading-title {
    font-size: var(--fs-short, 18vw) !important;
}


/* --- 5. EDITOR DO ELEMENTOR: mostra sempre --- */

.elementor-editor-active #meu-titulo-animado-mobile .elementor-heading-title {
    opacity: 1 !important;
}


/* --- 6. RESIZE --- */

.resize-active * {
    transition: none !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ca6a7aa */.elementor-7 .elementor-element.elementor-element-ca6a7aa {
    overflow: visible;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-175ab2a */.elementor-7 .elementor-element.elementor-element-175ab2a {
    filter: grayscale(100%);
    transition: filter 0.4s ease;
}/* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-c3fb98d *//* =========================================================
   CARDS — PRETO E BRANCO
========================================================= */

/* Todos os cards começam a P&B */
.elementor-7 .elementor-element.elementor-element-c3fb98d .e-loop-item img {
    filter: grayscale(100%);
}


/* Desktop (com rato): a imagem ganha cor no hover */
@media (hover: hover) and (min-width: 768px) {

    .elementor-7 .elementor-element.elementor-element-c3fb98d .e-loop-item img {
        transition: filter 0.4s ease;
    }

    .elementor-7 .elementor-element.elementor-element-c3fb98d .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-7 .elementor-element.elementor-element-c3fb98d .e-loop-item img,
    .elementor-7 .elementor-element.elementor-element-c3fb98d .e-loop-item:hover img {
        filter: grayscale(100%) !important;
        transition: none !important;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e740942 */.elementor-7 .elementor-element.elementor-element-e740942 {
    height: 34vh;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2ab7383 */.elementor-7 .elementor-element.elementor-element-2ab7383 {
    height: 34vh;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-482f6b6 */.elementor-7 .elementor-element.elementor-element-482f6b6 {
    height: 34vh;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-bdbdad2 */.elementor-7 .elementor-element.elementor-element-bdbdad2 {
    height: 34vh;
}

.elementor-7 .elementor-element.elementor-element-bdbdad2 {
    filter: grayscale(100%);
    transition: filter 0.4s ease;
}

.elementor-7 .elementor-element.elementor-element-bdbdad2:hover {
    filter: grayscale(0%);
}/* End custom CSS */
/* Start custom CSS *//* =========================================================
   BASE
   O scroll fica só no html.
   O body não pode ter overflow-y nem overscroll-behavior,
   senão a roda do rato fica bloqueada em janelas pequenas.
========================================================= */

html {
    min-height: 100%;
    height: auto;
    scroll-snap-type: none;
    scroll-behavior: auto;
    overflow-x: hidden;
    overflow-y: scroll !important;
    overscroll-behavior: none;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}

body {
    min-height: 100%;
    height: auto;
    scroll-snap-type: none;
    scroll-behavior: auto;
    overflow-y: visible !important;
    overflow-x: clip !important;
    overscroll-behavior: auto !important;
}

/* Chrome / Safari / Edge */
html::-webkit-scrollbar,
body::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    background: transparent !important;
}

/* Remove snap */
#sec01,
#sec02 {
    scroll-snap-align: none;
}


/* =========================================================
   HEADING DESKTOP
========================================================= */

#meu-titulo-animado {
    width: 100% !important;
    max-width: none !important;
}

#meu-titulo-animado .elementor-widget-container {
    width: 100% !important;
    max-width: none !important;
}


/* =========================================================
   HEADING + SUBTÍTULO MOBILE
========================================================= */

@media (max-width: 767px) {

    #meu-titulo-animado-mobile,
    #meu-subtitulo-mobile {
        width: 100% !important;
        max-width: none !important;
        align-self: stretch !important;
    }

    #meu-titulo-animado-mobile .elementor-widget-container,
    #meu-subtitulo-mobile .elementor-widget-container {
        width: 100% !important;
        max-width: none !important;
    }

    #meu-titulo-animado-mobile .elementor-heading-title {
        display: block !important;
        overflow: visible !important;
    }
}/* End custom CSS */