/* PALAVRA MENU EM MOBILE */
/* ALTURA DOS HEAD DAS PÁGINAS PARA MOBILE */
/* ALTURA DA BARRA DE MENU EM MOBILE */
/* GRADIENTE RADIAL */
/* gradiente FOOTER */
/* GRADIENTE HEAD */
/* DESAPARECER GRADUALMENTE ELEMENTOS ATRAVÉS DA CLASS */
/* BOTÃO 2 */
/* DROPDOWN CATEGORIAS */
/* TABELA */
/* FAZER DESAPARECER LINHA SCROLL DOWN */
/* PALAVRAS ALEATÓRIAS */
/* DOIS PONTINHOS */
/* NEUROMORPHIS UI */
/* ROTAÇÃO PALAVRAS 2D NO FOOTER */
/* LINHA ANIMADA MENU */
/* CURSOR-GLOW FOOTER*/
/* PERCENTAGEM PÁGINA*/
/* CURSOR*/
/* FORMULÁRIO*/
/* BARRA SCROLL ANIMADA*/
/* BOTÃO ANIMADO*/
/* VIDEO GLOBE PARTICULAS*/
/* ESCONDER SCROLLBAR MAS MANTER SCROLL */
/* LINHA ANIMAÇÃO FOOTER*/
/* LOGO SVG COM ROTAÇÃO*/
/* FILL TEXT SCROLL*/
/* PARTICULAS HEAD*/

.z-top{
    position: relative;
    z-index: 2;
}

.z-top-winer{
    position: relative;
    z-index: 10;
}

.list-style-9 li:last-child {
	border: none !important;
}

/* Container da linha */
.line-container {
  position: absolute;
  top: 0;
  left: 50%;
  width: 2300px;
  height: 3306px;
  transform: translateX(calc(-50% - 53px));
  pointer-events: none;
  z-index: 1;
}

.line-container svg {
  width: 100%;
  height: 100%;
  display: block;
}

.line-path {
  stroke: #d5bb43;
  stroke-width: 10px;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}


@media (min-width: 1180px) and (max-width: 1600px) {
    .line-container { display: none; }
  /* estilos para telas de 1200px até 1600px */
}




@media (max-width: 767px) {
.down-section{
	display: none !important;
	}
}

/* PALAVRA MENU EM MOBILE */
.toggle-menu-text{
		position: absolute;
        top: 50%;
        right: 60px;
        transform: translateY(-50%);
        
        font-size: 12px;
        letter-spacing: 2px;
        font-weight: 600;
        line-height: 1;
		color: #3b0552;
}

/* ALTURA DOS HEAD DAS PÁGINAS PARA MOBILE */
@media (max-width: 767px) {

body .mobile-height .full-screen,
body .swiper-full-screen .full-screen,
body .mobile-height .opacity-very-light,
body .swiper-full-screen .opacity-very-light,
body .mobile-height .opacity-light,
body .swiper-full-screen .opacity-light,
body .mobile-height .opacity-extra-medium,
body .swiper-full-screen .opacity-extra-medium,
body .mobile-height .opacity-medium,
body .swiper-full-screen .opacity-medium,
body .mobile-height .opacity-full,
body .swiper-full-screen .opacity-full,
body .mobile-height .opacity-full-dark,
body .swiper-full-screen .opacity-full-dark,
body .mobile-height .vc_row-o-full-height,
body .mobile-height.vc_row-o-full-height {

    height: 660px !important;
    min-height: 660px !important;
}
}
/* ALTURA DA BARRA DE MENU EM MOBILE */
@media (max-width: 991px) {

    .sidebar-nav .sidenav-header {
        min-height: 55px;
        display: flex;
        align-items: center;
    }
	
}
/* GRADIENTE RADIAL */
.radial {
  background: radial-gradient(
    circle at top,
    #650d8d 0%,
    #480865 28%,
    #2d023d 78%
  );
}

/* gradiente head */
.gradient-head .bg-overlay {
	background: radial-gradient(100% 100% at 33% 53%, #490867 0%, transparent),
	radial-gradient(100% 100% at 99% 0%, #d0bc57 2%, transparent),#2b093b;
}

/* gradiente footer */
.gradient-footer{
	background: linear-gradient(to bottom, #490867, #2d023d);
}

/* DESAPARECER GRADUALMENTE ELEMENTOS ATRAVÉS DA CLASS */
.disappear {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.2s linear, transform 0.2s linear;
}


/* Botão 2 */
.btn-gloss {
	position: relative;
	top: 0;
	left: 0;
	width: 250px;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
    margin: 0 auto;
}
@media (max-width: 767px) {
    .btn-gloss.top {
        display: none !important;
    }
}
.btn-gloss a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	background: rgba(255, 255, 255, 0.05);
	box-shadow: 0 15px 15px rgba(0, 0, 0, 0.3);
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 30px;
	padding: 10px;
	letter-spacing: 1px;
	text-decoration: none;
	overflow: hidden;
	color: #fff;
	font-weight: 400;
	z-index: 1;
	transition: 0.5s;
	backdrop-filter: blur(15px);
}
.btn-gloss:hover a {
	letter-spacing: 3px;
	color: #fff;
	background-color: #2e023f;
}
.btn-gloss a:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 50%;
	height: 100%;
	background: linear-gradient(to left, rgba(255, 255, 255, 0.15), transparent);
	transform: skewX(45deg) translate(0);
	transition: 0.5s;
	filter: blur(0px);
}
.btn-gloss:hover a:before {
	transform: skewX(45deg) translate(200px);
}
.btn-gloss:before {
	content: "";
	position: absolute;
	left: 50%;
	transform: translatex(-50%);
	bottom: -5px;
	width: 30px;
	height: 10px;
	background: #f00;
	border-radius: 10px;
	transition: 0.5s;
	transition-delay: 0.5;
}
.btn-gloss:hover:before /*lightup button*/ {
	bottom: 0;
	height: 50%;
	width: 80%;
	border-radius: 30px;
}

.btn-gloss:after {
	content: "";
	position: absolute;
	left: 50%;
	transform: translatex(-50%);
	top: -5px;
	width: 30px;
	height: 10px;
	background: #f00;
	border-radius: 10px;
	transition: 0.5s;
	transition-delay: 0.5;
}
.btn-gloss:hover:after /*lightup button*/ {
	top: 0;
	height: 50%;
	width: 80%;
	border-radius: 30px;
}
.btn-gloss:nth-child(1):before, /*chnage 1*/
.btn-gloss:nth-child(1):after {
	background: #d5bb43;
	box-shadow: 0 0 5px #d5bb43, 0 0 15px #d5bb43, 0 0 30px #d5bb43,
		0 0 60px #ff1f71;
}


/* ------------------------ */

/* DROPDOWN CATEGORIAS */
/* =========================
   WRAPPER
========================= */
.pofo-portfolio-dropdown-wrap {
    position: relative;
    margin: 0 auto 30px;
    width: 50%;
    text-align: left;
    z-index: 50;
}

/* =========================
   BOTÃO FECHADO
========================= */
.pofo-portfolio-dropdown-trigger {
    position: relative;
    width: 100%;
    height: 58px;
    padding: 0 56px 0 20px;
    border: 1px solid #d8dce3;
    border-radius: 16px;
    background: #490867;
    color: #fff;
    font-size: 15px;
    font-weight: 500;
    line-height: 58px;
    cursor: pointer;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    transition: all 0.3s ease;
    overflow: hidden;
}

.pofo-portfolio-dropdown-trigger:hover {
    background-color: #490867;
    border-color: #490867;
    color: #fff;
}

/* brilho subtil */
.pofo-portfolio-dropdown-trigger:before {
    content: "";
    position: absolute;
    inset: 0;
    left: -100%;
    background: linear-gradient(
        120deg,
        transparent,
        rgba(255,255,255,0.15),
        transparent
    );
    transition: all 1.2s ease;
    pointer-events: none;
}

.pofo-portfolio-dropdown-trigger:hover:before {
    left: 100%;
}

.pofo-portfolio-dropdown-trigger:focus {
    outline: none;
    background-color: #490867;
    border-color: #8aa0ff;
    box-shadow:
        0 0 0 4px rgba(138, 160, 255, 0.18),
        0 8px 24px rgba(0, 0, 0, 0.14);
}

/* label */
.pofo-portfolio-dropdown-label {
    position: relative;
    z-index: 2;
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* seta */
.pofo-portfolio-dropdown-trigger:after {
    content: "";
    position: absolute;
    right: 20px;
    top: 50%;
    width: 10px;
    height: 10px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: translateY(-65%) rotate(45deg);
    transition: transform 0.25s ease;
    z-index: 2;
}

.pofo-portfolio-dropdown-wrap.is-open .pofo-portfolio-dropdown-trigger:after {
    transform: translateY(-35%) rotate(-135deg);
}

/* =========================
   PAINEL DAS OPÇÕES
========================= */
.pofo-portfolio-dropdown-menu {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    width: 100%;
    margin: 0;
    padding: 10px 10px;
    list-style: none;
    background: #ffffff;
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 16px;
    box-shadow: 0 18px 40px rgba(0,0,0,0.22);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
    max-height: none;
    overflow: visible;
}

.pofo-portfolio-dropdown-wrap.is-open .pofo-portfolio-dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* =========================
   OPÇÕES
========================= */
.pofo-portfolio-dropdown-item {
    position: relative;
    display: block;
    width: 100%;
    padding: 8px 20px;
    background: #ffffff;
    color: #222;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
	border-radius: 10px;
    cursor: pointer;
    transition: all 0.25s ease;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    overflow: hidden;
}

.pofo-portfolio-dropdown-item:last-child {
    border-bottom: none;
}

.pofo-portfolio-dropdown-item::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        120deg,
        transparent,
        rgba(255,255,255,0.45),
        transparent
    );
    transition: left 0.9s ease;
    pointer-events: none;
}

.pofo-portfolio-dropdown-item:hover {
    background: #490867;
    color: #ffffff;
}

.pofo-portfolio-dropdown-item:hover::before {
    left: 100%;
}

.pofo-portfolio-dropdown-item.is-active {
    background: #5d0c84;
	border-radius: 10px;
    color: #fff;
    font-weight: 500;
}

/* scrollbar opcional */
.pofo-portfolio-dropdown-menu::-webkit-scrollbar {
    width: 8px;
}

.pofo-portfolio-dropdown-menu::-webkit-scrollbar-track {
    background: #242936;
    border-radius: 10px;
}

.pofo-portfolio-dropdown-menu::-webkit-scrollbar-thumb {
    background: #5d0c84;
    border-radius: 10px;
}

/* =========================
   RESPONSIVO
========================= */
@media (max-width: 767px) {
    .pofo-portfolio-dropdown-wrap {
        width: 100%;
    }
}
@media (max-width: 767px) {
    .pofo-portfolio-dropdown-menu {
        max-height: 300px;
        overflow-y: auto;
    }
}

/* =========================
   ESCONDER FILTRO ORIGINAL
========================= */
.pofo-portfolio-dropdown-enabled .portfolio-filter,
.pofo-portfolio-dropdown-enabled .portfolio-filter-nav,
.pofo-portfolio-dropdown-enabled .nav-tabs,
.pofo-portfolio-dropdown-enabled .grid-filter {
    display: none !important;
}



/* tabela */
.apg-fees-wrap {
  max-width: 100%;
  margin: 0 auto;
}

.apg-fees-card {
  background: #f5f5f5;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid #e6e6e6;
}

.apg-fees-header {
  background: #e5b23f;
  padding: 24px 30px;
}

.apg-fees-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}

.apg-fees-column {
  padding: 24px 24px;
}

.apg-fees-column:first-child {
  border-right: 1px solid #dddddd;
}

.apg-fees-title {
  font-size: 18px;
  line-height: 1.2;
  margin-bottom: 24px;
  color: #7a1fa2;
  font-weight: 600;
}

.apg-fees-list {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.apg-fees-item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e4e4e4;
}

.apg-fees-item:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.apg-fees-label {
  font-size: 14px;
  line-height: 1.2;
  color: #222;
  font-weight: 500;
}

.apg-fees-price {
  font-size: 14px;
  line-height: 1.2;
  color: #111;
  font-weight: 600;
  white-space: nowrap;
}

.apg-fees-notes {
  padding: 24px 35px;
  border-top: 1px solid #dddddd;
  background: #fafafa;
}

.apg-fees-notes p {
  margin: 0 0 10px;
  font-size: 14px;
  line-height: 1;
  color: #222;
  font-style: italic;
}

.apg-highlight {
  color: #7a1fa2;
  font-weight: 700;
  font-style: normal;
}

@media (max-width: 991px) {
  .apg-fees-grid {
    grid-template-columns: 1fr;
  }

  .apg-fees-column:first-child {
    border-right: 0;
    border-bottom: 1px solid #dddddd;
  }

  .apg-fees-header h2 {
    font-size: 28px;
  }

  .apg-fees-title {
    font-size: 20px;
	text-align: left;
  }

  .apg-fees-item {
    flex-direction: column;
    gap: 6px;
  }

  .apg-fees-price {
    white-space: normal;
    font-size: 18px;
    color: #7a1fa2;
  }
 
}



/* fazer desaparecer linha scroll down */
.down-section {
  transition: opacity 0.1s linear;
}

.down-section.hide {
  opacity: 0;
  transform: translateY(20px);
  pointer-events: none;
}

/* palavras aleatórias */
.cascaid-hero {
  position: relative;
  overflow: hidden;
}

.cascaid-hero .cascaid-words-scene {
  position: absolute;
  inset: 0;
  z-index: -1;
}

.cascaid-hero .vc_column-inner {
  position: relative;
  z-index: 2;
}
 .cascaid-words-scene {
  position: relative;
  width: 100%;
  min-height: 100vh;
  overflow: hidden;
  font-family: "Courier New", monospace;
}

  .cascaid-word {
    position: absolute;
    color: rgba(120,36,152,1);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    line-height: 1;
    white-space: nowrap;
    user-select: none;
    pointer-events: none;
    font-size: 17px;
    font-weight: 400;
    
  }

  .cascaid-word.dim {
    color: rgba(255,255,255,0.5);
  }

  .cascaid-word.typing::after {
     content: "";
  position: absolute;
  right: -4px;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 0.9em;
  background: rgba(255,255,255,0.95);
  animation: cascaidBlink 1.2s steps(1) infinite;
  }

  @keyframes cascaidBlink {
    0%, 50% { opacity: 1; }
    51%, 100% { opacity: 0; }
  }

  @media (max-width: 1200px) {
    .cascaid-words-scene {
      height: 640px;
    }
    .cascaid-word {
      font-size: 15px;
    }
  }

  @media (max-width: 767px) {
    .cascaid-words-scene {
      height: 560px;
    }
    .cascaid-word {
      font-size: 12px;
      letter-spacing: 0.06em;
    }
  }

  @media (max-width: 480px) {
    .cascaid-words-scene {
      height: 520px;
    }
    .cascaid-word {
      font-size: 11px;
      letter-spacing: 0.05em;
    }
  }




/* dois pontinhos */
.quote__icons {
	display: flex;
	gap: 1rem;
	justify-content: center;
	left: .5rem;
	position: absolute;
	top: 0;
	width: 100%;
} 
.quote__icons svg {
	height: 11px;
	width: 11px;
}


.text-middle-line::before {
  border-bottom: 1px solid;
  position: absolute;
  content: "";
  width: 100%;
  top: 53%;
  opacity: 0.35;
  left: 0;
}

/* neuromorphis UI */
/* ==================================================
   BORDER RADIUS
================================================== */

.rounded-3xl { border-radius: 45rem; }
.rounded-2xl { border-radius: 3rem; }
.rounded-xl { border-radius: 0.75rem; }
.rounded-full { border-radius: 9999px; }

/* ==================================================
   NEUMORPHISM SYSTEM
================================================== */

.neu-bg {
	background: linear-gradient(145deg, #e6e9ef, #f7f7f7);
}

.neu-bg-inset {
	background: linear-gradient(145deg, #f7f7f7, #e6e9ef);
}

.neu-raised {
	background: linear-gradient(145deg, #e6e9ef, #f7f7f7);
	box-shadow:
		8px 8px 16px #b8bcc2,
		-8px -8px 16px #ffffff;
}

.neu-raised-sm {
	box-shadow:
		4px 4px 8px #b8bcc2,
		-4px -4px 8px #ffffff !important;
}

.neu-inset {
	background: linear-gradient(145deg, #f7f7f7, #e6e9ef);
	box-shadow:
		inset 4px 4px 8px #b8bcc2,
		inset -4px -4px 8px #ffffff;
}

/* Mobile */

@media (max-width: 768px) {

	.neu-raised {
		box-shadow:
			4px 4px 8px #b8bcc2,
			-4px -4px 18px #ffffff;
	}

}

/* ==================================================
   BUTTONS
================================================== */

.neu-btn {
	transition: 150ms;
}

.neu-btn:hover:not(:disabled) {
	transform: translateY(-2px);
}

.neu-btn:active:not(:disabled) {
	transform: translateY(1px);

	box-shadow:
		inset 2px 2px 4px #b8bcc2,
		inset -2px -2px 4px #ffffff;
}

.neu-btn:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

/* ==================================================
   FOCUS STATES
================================================== */

.neu-focus:focus {
	outline: none;
}

.neu-focus:focus-visible {
	outline: 3px solid #7c3aed;
	outline-offset: 2px;
}

/* ==================================================
   STATUS BADGE
================================================== */

.status-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;

	padding: 8px 16px;
	margin-top: 24px;
	margin-bottom: 24px;

	border-radius: 999px;
}

.status-badge p {
	display: contents;
	margin: 0;
}

.status-badge br {
	display: none;
}

.status-dot {
	width: 8px;
	height: 8px;

	display: inline-block;

	border-radius: 50%;
	background-color: #4ade80;

	animation: pulse 1.5s infinite;
}

.status-text {
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.05em;
	text-transform: uppercase;

	color: #690199;
}

@keyframes pulse {

	0% {
		opacity: 1;
	}

	50% {
		opacity: 0.4;
	}

	100% {
		opacity: 1;
	}

}

/* ==================================================
   SHADOW BOX
================================================== */

.caixa-shadow {
	box-shadow: 0 -12px 25px rgba(0, 0, 0, 0.25);
}

@media (max-width: 500px) {

	.caixa-shadow {
		box-shadow: none;
	}

}

/* ==================================================
   GLASS EFFECT
================================================== */

.glass {
	background: rgba(255, 255, 255, 0.15);

	border: 1px solid rgba(255, 255, 255, 0.6);

	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

/* ==================================================
   FOOTER WORD ROTATION
================================================== */

.stage {
	width: auto;
	height: 100px;
}

.cubespinner {

	animation:
		spincube 8s infinite ease-in-out;

	transform-style: preserve-3d;
	transform-origin: 40px 20px 0;
}

.cubespinner div {

	position: absolute;

	width: 100%;
	height: 40px;

	text-align: center;

	font-size: 30px;
	font-weight: 700;

	color: #109393;
}

.cubespinner .face1 {
	color: #f1c40f;

	transform:
		translateZ(20px);

	backface-visibility: hidden;
}

.cubespinner .face2 {
	color: #ffffff;

	transform:
		rotateX(90deg)
		translateZ(20px);

	backface-visibility: hidden;
}

.cubespinner .face3 {
	color: #f1c40f;

	transform:
		rotateX(180deg)
		translateZ(20px);

	backface-visibility: hidden;
}

.cubespinner .face4 {
	color: #ffffff;

	transform:
		rotateX(270deg)
		translateZ(20px);

	backface-visibility: hidden;
}


/*Cubical Flipping or rotation*/
@-webkit-keyframes spincube {
    from,to  { -webkit-transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);}
    15%      { -webkit-transform: rotateX(90deg);}
    25%      { -webkit-transform: rotateX(90deg);}
    40%      { -webkit-transform: rotateX(180deg);}
    50%      { -webkit-transform: rotateX(180deg);}
    65%      { -webkit-transform: rotateX(270deg);}
	75%      { -webkit-transform: rotateX(270deg);}
	95%      { -webkit-transform: rotateX(360deg);}
	100%      { -webkit-transform: rotateX(360deg);}
  }@keyframes spincube {
    from,to {
	  -webkit-transform: rotateX(0deg);
      -moz-transform: rotateX(0deg);
      -ms-transform: rotateX(0deg);
      transform: rotateX(0deg);
    }
    15% {
	  -webkit-transform: rotateX(90deg);
      -moz-transform: rotateX(90deg);
      -ms-transform: rotateX(90deg);
      transform: rotateX(90deg);
    }
	25% {
	  -webkit-transform: rotateX(90deg);
      -moz-transform: rotateX(90deg);
      -ms-transform: rotateX(90deg);
      transform: rotateX(90deg);
    }
	40% {
	  -webkit-transform: rotateX(180deg);
      -moz-transform: rotateX(180deg);
      -ms-transform: rotateX(180deg);
      transform: rotateX(180deg);
    }
	50% {
	  -webkit-transform: rotateX(180deg);
      -moz-transform: rotateX(180deg);
      -ms-transform: rotateX(180deg);
      transform: rotateX(180deg);
    }
    65% {
	  -webkit-transform: rotateX(270deg);
      -moz-transform: rotateX(270deg);
      -ms-transform: rotateX(270deg);
      transform: rotateX(270deg);
    }
	75% {
	  -webkit-transform: rotateX(270deg);
      -moz-transform: rotateX(270deg);
      -ms-transform: rotateX(270deg);
      transform: rotateX(270deg);
    }
	90% {
	  -webkit-transform: rotateX(360deg);
      -moz-transform: rotateX(360deg);
      -ms-transform: rotateX(360deg);
      transform: rotateX(360deg);
    }
    100% {
	  -webkit-transform: rotateX(360deg);
      -moz-transform: rotateX(360deg);
      -ms-transform: rotateX(360deg);
      transform: rotateX(360deg);
    }
}



/* Linha animada menu */
.nav.navbar-left-sidebar li a,
nav.navbar-bootsnav.navbar-left-sidebar ul.nav > li > a {
  position: relative;
  display: block;
  font-size: 11px;
  text-transform: uppercase;
  color: #939393;
  background: transparent !important;
  margin: 0;
  padding: 15px 0;
  border-bottom: 1px solid #e5e5e5; /* linha base cinzenta */
}

.nav.navbar-left-sidebar li a::after,
nav.navbar-bootsnav.navbar-left-sidebar ul.nav > li > a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px; /* alinha por cima da border */
  width: 100%;
  height: 1px;
  background: #c9b15f;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.35s ease;
}

.nav.navbar-left-sidebar li a:hover::after,
nav.navbar-bootsnav.navbar-left-sidebar ul.nav > li > a:hover::after,
nav.navbar-bootsnav.navbar-left-sidebar ul.nav > li.current-menu-item > a::after,
nav.navbar-bootsnav.navbar-left-sidebar ul.nav > li.current_page_item > a::after {
  transform: scaleX(1);
}
nav.navbar.bootsnav.sidebar-nav .navbar-left-sidebar > li.current-menu-item > a {
	border-bottom: 1px solid;
    border-image: linear-gradient(90deg, #ffffff, #d5bb43) 1;
}
/* Bola no final da linha do menu activo */
nav.navbar.bootsnav.sidebar-nav .navbar-left-sidebar > li.current-menu-item > a:before {
  content: "";
  position: absolute;
  right: 0;
  bottom: -3px; /* alinha com a linha */
  width: 6px;
  height: 6px;
  background: #690199;
  border-radius: 50%;
}


/*cursor-glow footer*/
.cursor-glow-section{
  position: relative;
  overflow: hidden;
}

.cursor-glow-layer{
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.cursor-glow-big,
.cursor-glow-small,
.cursor-glow-tail{
  position: absolute;
  left: 0;
  top: 0;
  border-radius: 999px;
  transform: translate(-50%, -50%);
  transform-origin: center;
  will-change: transform, opacity;
  pointer-events: none;
  transition: opacity .22s ease;
}

.cursor-glow-big{
  width: 340px;
  height: 340px;
  background: radial-gradient(
    circle,
    rgba(255,210,60,0.18),
    rgba(255,210,60,0.10) 38%,
    rgba(255,210,60,0.04) 58%,
    transparent 74%
  );
  filter: blur(30px);
}

.cursor-glow-small{
  width: 130px;
  height: 130px;
  background: radial-gradient(
    circle,
    rgba(255,245,200,0.52),
    rgba(255,210,60,0.26) 42%,
    rgba(255,210,60,0.10) 62%,
    transparent 78%
  );
  filter: blur(10px);
}

.cursor-glow-tail{
  width: 260px;
  height: 50px;
  background: radial-gradient(
    ellipse at 85% 50%,
    rgba(255,255,220,0.22) 0%,
    rgba(255,230,140,0.18) 12%,
    rgba(255,210,60,0.14) 28%,
    rgba(255,210,60,0.08) 48%,
    rgba(255,210,60,0.03) 68%,
    transparent 100%
  );
  filter: blur(18px);
  pointer-events: none;
  border-radius: 999px;
  transform-origin: center;
  will-change: transform, opacity;
  transition: opacity .22s ease;
}


/*percentagem página*/
/* ==================================================
   SCROLL TOP PROGRESS
================================================== */

#scrollTopProgress {
	position: fixed;
	right: 14px;
	bottom: 14px;

	width: 72px;
	height: 72px;

	z-index: 9999;

	border-radius: 50%;
	cursor: pointer;

	opacity: 0;
	visibility: hidden;
	pointer-events: none;

	transform: translateX(80px);

	transition:
		opacity 0.35s ease,
		transform 0.45s ease,
		visibility 0.35s ease,
		box-shadow 0.3s ease;
}

#scrollTopProgress.is-visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;

	transform: translateX(0);
}

#scrollTopProgress:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);
}

/* ==================================================
   SVG RING
================================================== */

.progress-ring {
	display: block;

	width: 100%;
	height: 100%;

	transform: rotate(-90deg);
}

.ring-fill {
	fill: #000000;
}

.ring-bg {
	fill: none;

	stroke: rgba(255, 255, 255, 0.15);
	stroke-width: 3;
}

.ring-progress {
	fill: none;

	stroke: #53f2d4;
	stroke-width: 7;
	stroke-linecap: round;

	stroke-dasharray: 175.93;
	stroke-dashoffset: 175.93;

	transition: stroke-dashoffset 0.12s linear;
}

/* ==================================================
   INNER CONTENT
================================================== */

.scroll-inner {
	position: absolute;
	inset: 0;

	display: grid;
	place-items: center;

	border-radius: 50%;

	color: #ffffff;

	font-family: inherit;
	font-weight: 700;
	line-height: 1;
}

.scroll-percent,
.scroll-arrow {
	position: absolute;

	transition:
		opacity 0.25s ease,
		transform 0.25s ease;
}

.scroll-percent {
	font-size: 13px;
}

.scroll-arrow {
	font-size: 22px;

	opacity: 0;
	transform: translateY(6px);
}

/* ==================================================
   HOVER STATES
================================================== */

#scrollTopProgress:hover .scroll-percent {
	opacity: 0;
	transform: translateY(-6px);
}

#scrollTopProgress:hover .scroll-arrow {
	opacity: 1;
	transform: translateY(0);
}

/* ==================================================
   MOBILE
================================================== */

@media (max-width: 767px) {

	#scrollTopProgress {
		width: 62px;
		height: 62px;

		right: 16px;
		bottom: 16px;
	}

	.scroll-percent {
		font-size: 12px;
	}

	.scroll-arrow {
		font-size: 20px;
	}

}


/*cursor*/
body{
cursor:none;
}

@media (max-width:768px){
.cursor-outer,
.cursor-inner,
.cursor-dot{
display:none;
}
body{
cursor:auto;
}
}

.cursor-outer{
position:fixed;
width:32px;
height:32px;
border:2px solid #d5bb43;
border-radius:50%;
pointer-events:none;
transform:translate(-50%,-50%);
z-index:10006;
transition:transform .25s ease;
}

.cursor-inner{
position:fixed;
width:18px;
height:18px;
border:2px solid #782f9a;
border-radius:50%;
pointer-events:none;
transform:translate(-50%,-50%);
z-index:10005;
transition:transform .2s ease;
}

.cursor-dot{
position:fixed;
width:4px;
height:4px;
background:#d5bb43;
border-radius:50%;
pointer-events:none;
transform:translate(-50%,-50%);
z-index:10006;
}

.cursor-hover .cursor-outer{
transform:translate(-50%,-50%) scale(1.5);
}

.cursor-hover .cursor-inner{
transform:translate(-50%,-50%) scale(0.5);
}

.cursor-hover .cursor-dot{
transform:translate(-50%,-50%) scale(1.5);
}
/*fim cursor*/


/*formulário*/
/* Checkbox base */
input.neu-inset[type="checkbox"] {
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  min-width: 18px;
  border: 2px solid #cfcfcf;
  border-radius: 4px;
  background: #fff;
  cursor: pointer;
  position: relative;
  vertical-align: middle;
  transition: all 0.2s ease;
  margin-right: 10px;
}

/* Hover */
input.neu-inset[type="checkbox"]:hover {
  border-color: #6a1b9a; /* roxo */
  box-shadow: 0 0 0 3px rgba(106, 27, 154, 0.08);
}

/* Checked */
input.neu-inset[type="checkbox"]:checked {
  background: #6a1b9a;
  border-color: #6a1b9a;
}

/* Visto */
input.neu-inset[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 1px;
  width: 4px;
  height: 9px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

/* Focus acessível */
input.neu-inset[type="checkbox"]:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(106, 27, 154, 0.15);
}

.wpcf7-spinner {
	position: absolute;
}

/*check box em colunas*/
.checkbox-group.pofo-checkbox .wpcf7-form-control.wpcf7-checkbox {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px 30px !important;
  width: 100%;
  text-align: left;
}

.checkbox-group.pofo-checkbox .wpcf7-list-item {
  display: block !important;
  width: auto !important;
  margin: 0 !important;
}

.checkbox-group.pofo-checkbox .wpcf7-list-item label {
  display: flex !important;
  align-items: flex-start;
  gap: 8px;
  line-height: 1.4;
}

.checkbox-group.pofo-checkbox .wpcf7-list-item input[type="checkbox"] {
  margin-top: 3px;
  flex: 0 0 auto;
}
@media (max-width: 768px) {
  .checkbox-group.pofo-checkbox .wpcf7-form-control.wpcf7-checkbox {
    grid-template-columns: 1fr !important;
  }
}
/*fim formulário*/



/*barra scroll animada*/
.scroll-indicator {
    position: fixed;
    top: 50%;
    left: 290px;
    transform: translateY(-50%);
    height: 90vh;
    width: 2px;
    z-index: 10006;
}

.scroll-track {
    position: absolute;
    width: 2px;
    height: 100%;
     background-color: transparent;
    left: 50%;
    transform: translateX(-50%);
    opacity: 0.4;
}
.scroll-fill {
    position: absolute;
    top: 0;
    width: 2px;
    height: 0%;
     background-color: transparent;
    left: 50%;
    transform: translateX(-50%);
    transition: height 0.1s linear;
}
.scroll-dot {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 12px;
    height: 12px;
    background: #690199;
    border-radius: 50%;
    transform: translate(-50%, -50%);
}
.scroll-dot.glow-active {
    animation: glow 1.2s ease-in-out infinite;
}
@media (max-width: 768px) {
    .scroll-indicator,
    .scroll-track,
    .scroll-fill,
    .scroll-dot {
        display: none !important;
    }
}



/*botão animado*/
.btn-anime {
	background-color: transparent;
	border-radius:25px;
	cursor:pointer;
	font-family: 'Montserrat', sans-serif;
	font-size: 12px;
	letter-spacing: .5px;
	text-transform: uppercase;
	font-style:normal;
	font-weight:600;
	line-height:normal;
	min-width:170px;
	padding:10px 50px 12px 16px;
	position:relative;
	
}
.btn-anime:hover {
	background-color:#082e29;
	color:#dafda3;
	transition:color .65s cubic-bezier(.785,.135,.15,.86),background-color 0s cubic-bezier(.785,.135,.15,.86) .65s
}
.btn-anime:hover:before {
	height:14px;
	opacity:1;
	transform:scale(1) translate(50%,-50%);
	width:14px
}
.btn-anime span {
	position:relative;
	z-index:10
}
.btn-anime:before {
	background-color:#dafda3;
	border-radius:50%;
	content:"";
	display:block;
	height:0;
	opacity:0;
	position:absolute;
	right:23px;
	top:50%;
	transform:translate(50%,-50%) scale(1);
	transition:all .65s cubic-bezier(.785,.135,.15,.86);
	width:0;
	z-index:25
}
.btn-anime.v-1 {
	border: 2px solid #fff;
	color:#ffffff;
}
.btn-anime.v-1 .circle {
	background-color:#d5bb43;
}
.btn-anime.v-1:before {
	background-color:#fff
}

.btn-anime.v-1:hover {
	background-color:#ff7500;
	color:#690199;
}
.btn-anime .circle {
	background:#082e29;
	border-radius:25px;
	clip-path:inset(14px 16px 16px calc(100% - 30px) round 20px);
	height:100%;
	position:absolute;
	right:0;top:0;
	transition:clip-path .65s cubic-bezier(.785,.135,.15,.86),transform .65s cubic-bezier(.785,.135,.15,.86);
	width:100%
}
.btn-anime:hover .circle {
	clip-path:inset(0 round 25px)
}



/*video globe particulas*/
.globe-particles .html-video {
	background-color: #000;
	height: 100%;
	width: 100%;
	object-fit: cover;
}


/* esconder scrollbar mas manter scroll */
html, body {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}


/*linha animação footer*/
.scan-line {
  position: relative; /* necessário para o elemento mover dentro da linha */
  width: 100%;
  height: 1px;
  background: #660b90;
  overflow: hidden;
}

.scan-dot {
  position: absolute;
  top: 50%;
  left: 0;
  width: 80px;
  height: 1px;
  transform: translateY(-50%);
  border-radius: 999px;

  background: linear-gradient(90deg, #b400ff 0%, #d5bb43 100%);

  animation: travel 4.0s ease-in-out infinite alternate;
}

@keyframes travel {
  0% {
    left: 0;
  }
  100% {
    left: calc(100% - 56px);
  }
}


/*logo SVG com rotação*/
.logo-holder {
    perspective: 1000px;
}

.logo-holder a {
    display: inline-block;
}

.logo-holder svg {
    max-height: 110px;
    width: auto;
    height: auto;
    display: block;

    opacity: 0;
    transform: scale(0.4);
    transform-origin: center center;
    transform-box: fill-box;
    backface-visibility: hidden;
    will-change: transform, opacity;

    animation: logoEntrance 2.2s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
/* depois da entrada, fica no estado final fixo */
.logo-holder svg.logo-ready {
    opacity: 1;
    transform: scale(1);
    animation: none;
}

/* rotações disparadas por JS */
.logo-holder svg.spin-forward {
    animation: logoSpinForward 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}

.logo-holder svg.spin-backward {
    animation: logoSpinBackward 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes logoEntrance {
    0% {
        opacity: 0;
        transform: scale(0.2);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes logoSpinForward {
    0% {
        opacity: 1;
        transform: scale(1) rotateY(0deg);
    }
    100% {
        opacity: 1;
        transform: scale(1) rotateY(360deg);
    }
}

@keyframes logoSpinBackward {
    0% {
        opacity: 1;
        transform: scale(1) rotateY(0deg);
    }
    100% {
        opacity: 1;
        transform: scale(1) rotateY(-360deg);
    }
}


/*fill text scroll*/
.scroll-fill-title {
  --progress: 0%;
  background: linear-gradient(
    90deg,
    #ffffff var(--progress),
    rgba(255,255,255,0.15) var(--progress)
  );

  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
	display:inline;
}


/*particulas head*/
.particles-row {
  position: relative;
  overflow: hidden;
}

.particles-row > .vc_row,
.particles-row > .wpb_column,
.particles-row .vc_column-inner,
.particles-row .wpb_wrapper,
.particles-row .vc_row-inner {
  position: relative;
  z-index: 2;
}

.particles-row .particles-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 1;
  pointer-events: none;
}




