.elementor-25 .elementor-element.elementor-element-530bccb{--display:flex;--position:fixed;--min-height:80px;--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;--border-radius:0em 0em 0em 0em;--margin-top:-2px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:1.4em;--padding-bottom:1em;--padding-left:1em;--padding-right:1em;top:0px;--z-index:100;}.elementor-25 .elementor-element.elementor-element-530bccb:not(.elementor-motion-effects-element-type-background), .elementor-25 .elementor-element.elementor-element-530bccb > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}body:not(.rtl) .elementor-25 .elementor-element.elementor-element-530bccb{left:0px;}body.rtl .elementor-25 .elementor-element.elementor-element-530bccb{right:0px;}.elementor-widget-theme-site-logo .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-25 .elementor-element.elementor-element-da99abb{padding:0em 0em 0em 0em;text-align:center;}.elementor-25 .elementor-element.elementor-element-da99abb.elementor-element{--align-self:center;}.elementor-25 .elementor-element.elementor-element-da99abb img{width:100%;max-width:160px;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-25 .elementor-element.elementor-element-585c86a.elementor-element{--align-self:center;--flex-grow:1;--flex-shrink:0;}.elementor-25 .elementor-element.elementor-element-585c86a .elementor-nav-menu .elementor-item{font-family:"Gothic A1", Sans-serif;font-weight:600;}.elementor-25 .elementor-element.elementor-element-585c86a .elementor-nav-menu--main .elementor-item:hover,
					.elementor-25 .elementor-element.elementor-element-585c86a .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-25 .elementor-element.elementor-element-585c86a .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-25 .elementor-element.elementor-element-585c86a .elementor-nav-menu--main .elementor-item:focus{color:#A3A3A3;fill:#A3A3A3;}.elementor-25 .elementor-element.elementor-element-585c86a .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-25 .elementor-element.elementor-element-585c86a .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:#A3A3A300;}.elementor-25 .elementor-element.elementor-element-585c86a .e--pointer-framed .elementor-item:before,
					.elementor-25 .elementor-element.elementor-element-585c86a .e--pointer-framed .elementor-item:after{border-color:#A3A3A300;}.elementor-25 .elementor-element.elementor-element-585c86a .e--pointer-framed .elementor-item:before{border-width:2px;}.elementor-25 .elementor-element.elementor-element-585c86a .e--pointer-framed.e--animation-draw .elementor-item:before{border-width:0 0 2px 2px;}.elementor-25 .elementor-element.elementor-element-585c86a .e--pointer-framed.e--animation-draw .elementor-item:after{border-width:2px 2px 0 0;}.elementor-25 .elementor-element.elementor-element-585c86a .e--pointer-framed.e--animation-corners .elementor-item:before{border-width:2px 0 0 2px;}.elementor-25 .elementor-element.elementor-element-585c86a .e--pointer-framed.e--animation-corners .elementor-item:after{border-width:0 2px 2px 0;}.elementor-25 .elementor-element.elementor-element-585c86a .e--pointer-underline .elementor-item:after,
					 .elementor-25 .elementor-element.elementor-element-585c86a .e--pointer-overline .elementor-item:before,
					 .elementor-25 .elementor-element.elementor-element-585c86a .e--pointer-double-line .elementor-item:before,
					 .elementor-25 .elementor-element.elementor-element-585c86a .e--pointer-double-line .elementor-item:after{height:2px;}.elementor-25 .elementor-element.elementor-element-585c86a .elementor-nav-menu--main .elementor-item{padding-left:12px;padding-right:12px;}.elementor-25 .elementor-element.elementor-element-e106364{--grid-template-columns:repeat(0, auto);text-align:center;--icon-size:20px;--grid-column-gap:0px;--grid-row-gap:0px;}.elementor-25 .elementor-element.elementor-element-e106364.elementor-element{--align-self:center;--order:99999 /* order end hack */;}.elementor-25 .elementor-element.elementor-element-e106364 .elementor-social-icon{background-color:#FFFFFF00;}.elementor-25 .elementor-element.elementor-element-e106364 .elementor-social-icon i{color:var( --e-global-color-primary );}.elementor-25 .elementor-element.elementor-element-e106364 .elementor-social-icon svg{fill:var( --e-global-color-primary );}.elementor-25 .elementor-element.elementor-element-e106364 .elementor-social-icon:hover{background-color:#A3A3A300;}.elementor-25 .elementor-element.elementor-element-e106364 .elementor-social-icon:hover i{color:#A3A3A3;}.elementor-25 .elementor-element.elementor-element-e106364 .elementor-social-icon:hover svg{fill:#A3A3A3;}.elementor-25 .elementor-element.elementor-element-0bb8b28{--display:flex;--position:fixed;--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;--align-items:flex-end;bottom:0.5em;--z-index:100;}.elementor-25 .elementor-element.elementor-element-0bb8b28.e-con{--order:99999 /* order end hack */;}body:not(.rtl) .elementor-25 .elementor-element.elementor-element-0bb8b28{right:0.5em;}body.rtl .elementor-25 .elementor-element.elementor-element-0bb8b28{left:0.5em;}.elementor-25 .elementor-element.elementor-element-a1e1060{margin:0em 0em calc(var(--kit-widget-spacing, 0px) + -0.6em) 0em;padding:0px 0px 0px 0px;}.elementor-25 .elementor-element.elementor-element-a1e1060.elementor-element{--align-self:flex-end;--order:99999 /* order end hack */;}.elementor-25 .elementor-element.elementor-element-ba90ea6.elementor-element{--align-self:flex-end;--order:99999 /* order end hack */;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-25 .elementor-element.elementor-element-530bccb{--content-width:1440px;}}/* Start custom CSS for social-icons, class: .elementor-element-e106364 */.elementor-25 .elementor-element.elementor-element-e106364{
        transition: all 0.3s ease;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ba90ea6 *//* ========================================
   VARIÁVEIS GLOBAIS
======================================== */

:root{
  --toggle-size:38px;
  --icon-size:22px;

  --bg-light:#fff;
  --bg-dark:#000;

  --color-light:#000;
  --color-dark:#fff;

  --ease:.25s ease;
}


/* ========================================
   EXPANSÃO DO LAYOUT
======================================== */

html.layout-wide .e-con-boxed,
html.layout-wide .elementor-container{
  max-width:100% !important;
  width:100% !important;
}

html.layout-wide .e-con-inner{
  max-width:none;
}


/* ========================================
   BASE DOS BOTÕES (serve pros dois)
======================================== */

.toggle-layout,
.toggle-invert{

  position:relative;
  border:none;
  cursor:pointer;

  display:flex;
  align-items:center;
  justify-content:center;

  width:var(--toggle-size);
  height:var(--toggle-size);

  background:var(--bg-light);
  color:var(--color-light);

  border-radius:50%;

  transition:
    background var(--ease),
    color var(--ease),
    transform .2s ease;
}


/* DARK MODE */

html.invert-active .toggle-layout,
html.invert-active .toggle-invert{
  background:var(--bg-dark);
  color:var(--color-dark);
}


/* impede clique no svg */

.toggle-layout *,
.toggle-invert *{
  pointer-events:none;
}


/* ========================================
   SVG PADRÃO
======================================== */

.toggle-layout svg,
.toggle-invert svg{
  position:absolute;
  width:var(--icon-size);
  height:var(--icon-size);

  overflow:visible;
  will-change:transform, opacity;

  transition:
    opacity var(--ease),
    transform var(--ease);
}


/* ========================================
   MICRO INTERAÇÕES
======================================== */

.toggle-layout:hover,
.toggle-invert:hover{
  transform:translateY(-2px);
}

.toggle-layout:active,
.toggle-invert:active{
  transform:scale(.92);
}


/* ========================================
   TOGGLE LAYOUT (expand / collapse)
======================================== */

/* collapse começa escondido */

.icon-collapse{
  opacity:0;
  transform:scale(.6);
}

/* quando wide */

html.layout-wide .icon-expand{
  opacity:0;
  transform:scale(.6);
}

html.layout-wide .icon-collapse{
  opacity:1;
  transform:scale(1);
}


/* ========================================
   TOGGLE DARK MODE (sol / lua)
======================================== */

.icon-moon{
  opacity:0;
  transform:scale(.6) rotate(-20deg);
}

html.invert-active .icon-sun{
  opacity:0;
  transform:scale(.6) rotate(20deg);
}

html.invert-active .icon-moon{
  opacity:1;
  transform:scale(1) rotate(0);
}


/* hover só no invert — fica charmoso */

.toggle-invert:hover svg{
  transform:rotate(15deg);
}



/* ========================================
   PROJECT CARDS — ALTURA ADAPTATIVA
======================================== */

/* estado padrão (BOXED) */
.project-card{
  height:420px;
  overflow:hidden;

  transition:
    height .55s cubic-bezier(.77,0,.18,1),
    transform .55s cubic-bezier(.77,0,.18,1);
}


/* quando EXPANDE o layout */
html.layout-wide .project-card{

  /* altura proporcional à tela */
  height:30vw !important;


  /* evita ficar pequeno demais */
  min-height:260px;
}


/* ========================================
   IMAGENS DENTRO DO CARD
======================================== */

.project-card img,
.project-card video{
  width:100%;
  height:100%;
  object-fit:cover;

  transition:transform .8s cubic-bezier(.16,1,.3,1);
}


/* micro interação premium */
.project-card:hover img{
  transform:scale(1.04);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0bb8b28 *//* =========================
   BASE
========================= */

.invert-target {
  position: relative;
  background-color: #fff;
  transition: background-color 0.5s ease, color 0.5s ease;
}

.invert-target {
  transition: color 0.5s ease;
}

#header{
    position: fixed;
}


/* fundo suave por trás do conteúdo */
.invert-target::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #fff;
  z-index: -1;
  transition: background-color 0.5s ease;
}





/* BASE SVG */
.invert-target svg,
.invert-target svg * {
  fill:#000;
  stroke:#000;
  transition:fill .5s ease, stroke .5s ease;
}

/* HOVER (serve pros dois modos) */
.invert-target .elementor-social-icon:hover svg,
.invert-target .elementor-social-icon:hover svg * {
  fill:#A3A3A3;
  stroke:#A3A3A3;
}

/* Apenas sobrescreve o branco do dark */
html.invert-active 
.invert-target 
.elementor-social-icon:hover svg,
html.invert-active 
.invert-target 
.elementor-social-icon:hover svg * {
  fill:#A3A3A3 !important;
  stroke:#A3A3A3 !important;
}

html.invert-active .invert-target nav a:hover {
    color: #A3A3A3 !important; 
}

/* =========================
   DARK MODE
========================= */

/* fundo geral */
html.invert-active body {
  background-color: #000;
}

/* invert-target */
html.invert-active .invert-target::before {
  background: #000;
}

html.invert-active .invert-target,
html.invert-active .invert-target * {
  color: #fff !important;
}

html.invert-active .invert-target {
  background-color: #000 !important;
}

/* SVGs dentro do invert-target */
html.invert-active .invert-target svg,
html.invert-active .invert-target svg * {
  fill: #fff !important;
  stroke: #fff !important;
}

/* =========================
   SVGs GLOBAIS (fora do invert-target)
========================= */

html.invert-active svg,
html.invert-active svg * {
  fill: #fff;
  stroke: #fff;
}



/* =========================
   LOGO (filter, isolada)
========================= */

.logo {
  transition: filter 0.5s ease;
}

/* impede SVG da logo de ser forçado */
.logo svg,
.logo svg * {
  fill: currentColor !important;
  stroke: currentColor !important;
}

html.invert-active .logo {
  filter: invert(100%);
}/* End custom CSS */