

.home-instagram {
  margin: 0 0 70px 0!important;
}

.home-instagram__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 24px;
  margin-bottom: 20px;
}

.home-instagram__intro {
  max-width: 720px;
}

.home-instagram__eyebrow {
  display: inline-block;
  margin-bottom: 10px;
  color: #561c67;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}

.home-instagram__intro h3 {
  margin: 0;
  color: #1a1a1a;
  font-size: 30px;
  line-height: 1.08;
  font-weight: 300;
  letter-spacing: -0.03em;
}

.home-instagram__profile {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 54px;
  padding: 0 22px;
  border: 1px solid rgba(86, 28, 103, 0.22);
  color: #561c67 !important;
  background: rgba(255, 255, 255, 0.58);
  text-decoration: none !important;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 12px;
  font-weight: 700;
  transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.home-instagram__profile span {
  font-size: 20px;
  line-height: 1;
}

.home-instagram__profile:hover {
  background: #561c67;
  border-color: #561c67;
  color: #fefefe !important;
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(86, 28, 103, 0.18);
}

.home-instagram__grid {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 1px;
}

.home-instagram__card {
  position: relative;
  display: block;
  text-decoration: none !important;
  background: #ffffff;
  border: 0;
  overflow: hidden;
  transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.32s ease;
}

.home-instagram__card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 32px rgba(0, 0, 0, 0.08);
}

.home-instagram__image {
  position: relative;
  display: block;
  aspect-ratio: 0.9 / 1;
  overflow: hidden;
  background: #f3f0ed;
}

.home-instagram__image::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 34%;
  background: linear-gradient(to top, rgba(15, 15, 15, 0.72), rgba(15, 15, 15, 0));
  pointer-events: none;
  transition: opacity 0.28s ease;
}

.home-instagram__image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), filter 0.3s ease;
}

.home-instagram__card:hover .home-instagram__image img {
  transform: scale(1.05);
  filter: saturate(1.05) contrast(1.02);
}

.home-instagram__caption {
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 12px;
  z-index: 2;
  /*display: -webkit-box;*/
  display: none;
  margin: 0;
  color: #999;
  font-size: 12px;
  line-height: 1.18;
  font-weight: 500;
  letter-spacing: -0.01em;
  overflow: hidden;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.22);
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

@media (max-width: 1400px) {
  .home-instagram__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 1px;
  }
}

@media (max-width: 1100px) {
  .home-instagram__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
  }
}

@media (max-width: 767px) {
  .home-instagram__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
  }
}





#topo-home,
#cases-home {
  scroll-margin-top: 90px;
}



 .bg {
    background:url(../images/bg.png) repeat;
    position:relative;
    width:100%;
    margin:0 auto;
    padding:0;
    padding-bottom:30px;
    border-top:1px solid #fff;
    border-bottom:1px solid #fff
}

body:not(.home-page) .bg {
    padding-top: 78px;
}

/*header menu*/

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1200;
  background: #e7e4e1;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.site-header,
.site-header * {
  box-sizing: border-box;
}

.site-header__bar {
  width: 960px;
  max-width: calc(100vw - 40px);
  margin: 0 auto;
  padding: 10px 0 8px;
  display: grid;
  grid-template-columns: 170px 1fr 132px;
  align-items: center;
  column-gap: 20px;
}

.site-header__brand {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 54px;
}

.site-header__brand h1 {
  margin: 0 !important;
  width: auto !important;
  height: auto !important;
  line-height: 0 !important;
  position: static !important;
  float: none !important;
}

.site-header__brand h1 a {
  display: block !important;
  width: 142px;
  height: 44px;
  position: relative !important;
  right: auto !important;
  top: 2px !important;
  margin: 0 !important;
  text-indent: -9999px;
  overflow: hidden;
  white-space: nowrap;
  background: url(../images/marca-nuvon-branding.png) no-repeat left center !important;
  background-size: contain !important;
  border-radius: 0 !important;
  transform-origin: left center;
  transition:
    transform 0.34s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.28s ease,
    filter 0.34s ease;
}

.site-header__brand h1 a:hover,
.site-header__brand h1 a:focus {
  transform: translateY(-1px);
  opacity: 0.88;
  filter: contrast(1.04);
}

.site-header__nav {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 54px;
}

.site-header__nav ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  flex-wrap: nowrap;
}

.site-header__nav li {
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  white-space: nowrap;
}

.site-header__nav a {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 8px 0;
  color: rgba(20, 20, 20, 0.92) !important;
  text-decoration: none !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  float: none !important;
  transition:
    color 0.22s ease,
    opacity 0.22s ease;
}

.site-header__nav a::before {
  display: none;
}

.site-header__nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -4px;
  height: 2px;
  background: #561c67;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.24s cubic-bezier(0.22, 1, 0.36, 1);
}

.site-header__nav a:hover,
.site-header__nav a:focus {
  color: #561c67 !important;
}

.site-header__nav a:hover::after,
.site-header__nav a:focus::after {
  transform: scaleX(1);
}

.site-header__social {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  min-height: 54px;
}

.site-header__social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  color: rgba(20, 20, 20, 0.76) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  text-decoration: none !important;
  transition:
    color 0.22s ease,
    transform 0.22s ease,
    opacity 0.22s ease;
}

.site-header__social a:hover,
.site-header__social a:focus {
  color: #561c67 !important;
  transform: translateY(-1px);
  opacity: 1;
}

.site-header__social i {
  font-size: 18px;
  line-height: 1;
  display: block;
}

.site-header nav {
  position: static !important;
  top: auto !important;
  left: auto !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
}

.site-header nav ul a {
  float: none !important;
}




/*hero kaleido + texto*/

body {
  position: relative;
  background: #fff;
  --kaleido-image: none;
  --kaleido-position-main: center top;
  --kaleido-position-alt: center top;
}

body.kaleido1 {
  --kaleido-image: url(../images/kaleido1.jpg);
  --kaleido-position-main: center top;
  --kaleido-position-alt: -220px -40px;
}

body.kaleido2 {
  --kaleido-image: url(../images/kaleido2.jpg);
  --kaleido-position-main: center top;
  --kaleido-position-alt: -180px -30px;
}

body.kaleido3 {
  --kaleido-image: url(../images/kaleido3.jpg);
  --kaleido-position-main: -700px top;
  --kaleido-position-alt: -520px -40px;
}

body.kaleido4 {
  --kaleido-image: url(../images/kaleido4.jpg);
  --kaleido-position-main: -600px top;
  --kaleido-position-alt: -420px -20px;
}

body.kaleido5 {
  --kaleido-image: url(../images/kaleido5.jpg);
  --kaleido-position-main: center top;
  --kaleido-position-alt: -200px -35px;
}

body::before,
body::after {
  content: "";
  position: fixed;
  inset: -4%;
  pointer-events: none;
  background-image: var(--kaleido-image);
  background-repeat: no-repeat;
  background-size: auto;
  will-change: transform, opacity;
  transform-origin: center center;
}

body::before {
  z-index: -2;
  opacity: 0.96;
  background-position: var(--kaleido-position-main);
  animation: nuvonKaleidoLayerA 7.5s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite alternate;
}

body::after {
  z-index: -1;
  opacity: 0.14;
  background-position: var(--kaleido-position-alt);
  filter: blur(2px) saturate(1.06);
  mix-blend-mode: multiply;
  animation: nuvonKaleidoLayerB 11s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite alternate;
}

@keyframes nuvonKaleidoLayerA {
  0% {
    transform: translate3d(0, 0, 0) scale(1);
  }

  50% {
    transform: translate3d(-28px, -16px, 0) scale(1.05);
  }

  100% {
    transform: translate3d(20px, -34px, 0) scale(1.08);
  }
}

@keyframes nuvonKaleidoLayerB {
  0% {
    transform: translate3d(0, 0, 0) scale(1.08) rotate(0deg);
  }

  50% {
    transform: translate3d(24px, -8px, 0) scale(1.14) rotate(-0.6deg);
  }

  100% {
    transform: translate3d(-20px, 22px, 0) scale(1.18) rotate(0.8deg);
  }
}

.featured {
  position: relative;
  display: block !important;
  min-height: 500px;
  padding-top: 0;
  overflow: hidden;
}

.featured .hero-copy {
  position: absolute;
  top: 157px;
  right: 42px;
  z-index: 4;
  width: 520px;
  max-width: calc(100% - 84px);
  text-align: right;
}

.featured h2#topo {
  position: static;
  margin: 0 0 28px !important;
  float: none !important;
  color: #1b1b1b !important;
  font-size: 18px !important;
  line-height: 1;
  letter-spacing: 0;
  font-weight: 300 !important;
  text-transform: none !important;
  font-style: normal !important;
  text-align: right !important;
  width: auto;
  max-width: none;
}

.featured h2#topo span {
  display: block;
  margin: 0 0 8px;
  font-size: clamp(30px, 3.2vw, 40px);
  line-height: 0.97em;
  letter-spacing: -0.045em;
  font-weight: 300;
}

.featured .hero-support {
  margin: 0 0 34px auto;
  max-width: 435px;
  color: #262626;
  font-size: clamp(15px, 1.5vw, 18px);
  line-height: 1.45;
  font-weight: 400;
  letter-spacing: -0.01em;
  text-align: right;
}

.featured .hero-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  flex-wrap: wrap;
}

.featured .hero-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 22px;
  border: 1.5px solid #561c67;
  background: #561c67;
  color: #fff !important;
  text-decoration: none !important;
  font-size: 11px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  border-radius: 999px;
  transition:
    transform 0.24s ease,
    background-color 0.24s ease,
    color 0.24s ease,
    border-color 0.24s ease,
    opacity 0.24s ease;
}

.featured .hero-cta:hover,
.featured .hero-cta:focus {
  transform: translateY(-2px);
  background: transparent;
  color: #561c67 !important;
  border-color: #561c67;
}

.featured .hero-cta--whatsapp {
  border-color: rgba(28, 28, 28, 0.42);
  color: #1d1d1d !important;
  background: #fff;
}

.featured .hero-cta--whatsapp:hover,
.featured .hero-cta--whatsapp:focus {
  background: #fff;
  color: #561c67 !important;
  border-color: #561c67;
}

@media only screen and (max-width: 980px) {
  .featured {
    min-height: 460px;
    padding-top: 0;
  }

  .featured .hero-copy {
    top: 108px;
    right: 24px;
    left: 24px;
    width: auto;
    max-width: none;
    text-align: right;
  }

  .featured h2#topo span {
    font-size: clamp(26px, 5.2vw, 40px);
  }

  .featured .hero-support {
    max-width: 520px;
    margin: 0 0 30px auto;
    font-size: 16px;
    text-align: right;
  }

  .featured .hero-actions {
    justify-content: flex-end;
    gap: 12px;
  }
}

@media only screen and (max-width: 767px) {
  .featured {
    min-height: 500px;
    padding-top: 0;
  }

  .featured .hero-copy {
    top: 86px;
    right: 16px;
    left: 16px;
    text-align: right;
  }

  .featured h2#topo {
    margin-bottom: 16px !important;
  }

  .featured h2#topo span {
    margin-bottom: 7px;
    font-size: clamp(24px, 8vw, 34px);
    line-height: 1em;
  }

  .featured .hero-support {
    margin: 0 0 22px auto;
    font-size: 15px;
    line-height: 1.42;
    text-align: right;
  }

  .featured .hero-actions {
    flex-direction: column;
    align-items: flex-end;
    gap: 10px;
  }

  .featured .hero-cta {
    width: 100%;
    justify-content: center;
    min-height: 46px;
    padding: 0 18px;
    font-size: 10px;
    letter-spacing: 0.14em;
  }

  .featured .hero-cta span,
  .featured .hero-cta i {
    font-size: 16px;
  }
}

@media only screen and (max-width: 767px) {
  body.kaleido1 {
    --kaleido-position-main: -850px top;
    --kaleido-position-alt: -760px -20px;
  }

  body.kaleido2 {
    --kaleido-position-main: -850px top;
    --kaleido-position-alt: -760px -20px;
  }

  body.kaleido3 {
    --kaleido-position-main: -850px top;
    --kaleido-position-alt: -760px -20px;
  }

  body.kaleido4 {
    --kaleido-position-main: -850px top;
    --kaleido-position-alt: -760px -20px;
  }

  body.kaleido5 {
    --kaleido-position-main: -850px top;
    --kaleido-position-alt: -760px -20px;
  }

  body::before {
    animation-duration: 6.5s;
  }

  body::after {
    animation-duration: 9s;
  }

}




/*Cases*/

body.home-page .portfolio-title {
  width: 100vw;
  margin: 42px 0 26px;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  text-align: center;
  color: #7f6a59;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.28em;
  text-transform: uppercase;
}

body.home-page .portfolio {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1px;
  align-items: flex-start;
  width: 99.5vw;
  margin: 0 0 35px;
  margin-left: calc(50% - 50.05vw);
  margin-right: calc(50% - 50vw);
}

body.home-page .portfolio .four.columns {
  width: calc((100% - 4px) / 5) !important;
  margin: 0 !important;
  float: none !important;
  opacity: 0.01;
  transform: translateY(22px);
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
}

body.home-page .portfolio .four.columns.is-visible {
  opacity: 1;
  transform: translateY(0);
}

body.home-page .portfolio .box {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 0 !important;
  background: transparent;
}

body.home-page .portfolio .bgimg {
  position: relative;
  width: 100%;
  display: block;
  margin: 0;
  overflow: hidden;
  border-radius: 0 !important;
  background: transparent;
  box-shadow: none;
}

body.home-page .portfolio .bgimg:after {
  display: none;
}

body.home-page .portfolio .bgimg img,
body.home-page .portfolio img.projeto {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  aspect-ratio: 1.46 / 1;
  object-fit: cover;
  transform: scale(1.035);
  transition:
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.35s ease,
    filter 0.35s ease;
}

body.home-page .portfolio .four.columns.is-visible .bgimg img,
body.home-page .portfolio .four.columns.is-visible img.projeto {
  transform: scale(1);
}

body.home-page .portfolio .four.columns.is-visible .box:hover .bgimg img,
body.home-page .portfolio .four.columns.is-visible .box:hover img.projeto,
body.home-page .portfolio .four.columns.is-visible .box:focus-within .bgimg img,
body.home-page .portfolio .four.columns.is-visible .box:focus-within img.projeto {
  transform: scale(1.04);
  opacity: 0.9;
  filter: brightness(0.5) saturate(1.06);
}

body.home-page .portfolio h5 {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  margin: 0 !important;
  min-height: 0;
  padding: 34px 14px 12px;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  border-radius: 0 !important;
  background: linear-gradient(
    to top,
    rgba(18, 14, 12, 0.72) 0%,
    rgba(18, 14, 12, 0.52) 22%,
    rgba(18, 14, 12, 0.24) 52%,
    rgba(18, 14, 12, 0.08) 74%,
    rgba(18, 14, 12, 0) 100%
  );
  color: #c7bfbf !important;
  font-size: 11px !important;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-align: left;
  pointer-events: none;
  overflow: visible;
  opacity: 0;
  transform: translateY(6px);
  transition:
    opacity 0.28s ease,
    transform 0.28s ease;
}

body.home-page .portfolio .box:hover h5,
body.home-page .portfolio .box:focus-within h5 {
  opacity: 1;
  transform: translateY(0);
}

body.home-page .portfolio h5,
body.home-page .portfolio h5 a,
body.home-page .portfolio h5 a:link,
body.home-page .portfolio h5 a:visited,
body.home-page .portfolio h5 span {
  color: #c7bfbf !important;
  font-weight: 700;
  text-decoration: none !important;
}

@media (max-width: 1380px) {
  body.home-page .portfolio .four.columns {
    width: calc((100% - 3px) / 4) !important;
  }
}

@media (max-width: 1100px) {
  body.home-page .portfolio .four.columns {
    width: calc((100% - 2px) / 3) !important;
  }

  body.home-page .portfolio .bgimg img,
  body.home-page .portfolio img.projeto {
    aspect-ratio: 1.38 / 1;
  }
}

@media (max-width: 767px) {
  body.home-page .portfolio-title {
    margin-top: 34px;
    margin-bottom: 22px;
    font-size: 15px;
    letter-spacing: 0.2em;
  }

  body.home-page .portfolio .four.columns {
    width: calc((100% - 1px) / 2) !important;
  }

  body.home-page .portfolio .box,
  body.home-page .portfolio .bgimg,
  body.home-page .portfolio .bgimg img,
  body.home-page .portfolio img.projeto,
  body.home-page .portfolio h5 {
    border-radius: 0 !important;
  }

  body.home-page .portfolio .bgimg img,
  body.home-page .portfolio img.projeto {
    aspect-ratio: 1.24 / 1;
  }

  body.home-page .portfolio h5 {
    padding: 26px 10px 10px;
    font-size: 10px !important;
    letter-spacing: 0.08em;
  }
}



/*____*/




.portfolio-cta-strip {
  position: relative;
  margin: 52px 0 26px;
  padding: 0;
}

.portfolio-cta-strip::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, rgba(86, 28, 103, 0.08), rgba(86, 28, 103, 0.02) 52%, rgba(255, 122, 56, 0.06));
  border: 1px solid rgba(86, 28, 103, 0.12);
  pointer-events: none;
}

.portfolio-cta-strip__content {
  position: relative;
  z-index: 1;
  min-height: 132px;
  padding: 28px 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 26px;
}

.portfolio-cta-strip__text {
  max-width: 520px;
}

.portfolio-cta-strip__eyebrow {
  display: inline-block;
  margin-bottom: 10px;
  color: #561c67;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.portfolio-cta-strip__text h3 {
  margin: 0;
  color: #1a1a1a;
  font-size: 31px;
  line-height: 1.12;
  font-weight: 300;
  letter-spacing: -0.02em;
}

.portfolio-cta-strip__button {
  flex: 0 0 auto;
  min-width: 280px;
  padding: 0 26px;
  height: 64px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  background: #561c67;
  color: #fefefe !important;
  text-decoration: none !important;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 13px;
  font-weight: 700;
  border: 1px solid #561c67;
  box-shadow: 0 18px 34px rgba(86, 28, 103, 0.18);
  transition:
    transform 0.28s ease,
    background 0.28s ease,
    box-shadow 0.28s ease,
    border-color 0.28s ease;
}

.portfolio-cta-strip__button strong {
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
  transition: transform 0.28s ease;
}

.portfolio-cta-strip__button:hover {
  background: #ff7a38;
  border-color: #ff7a38;
  color: #ffffff !important;
  transform: translateY(-3px);
  box-shadow: 0 22px 38px rgba(255, 122, 56, 0.22);
}

.portfolio-cta-strip__button:hover strong {
  transform: translateX(6px);
}

@media (max-width: 767px) {
  .portfolio-cta-strip {
    margin: 26px 0 42px;
  }

  .portfolio-cta-strip__content {
    min-height: 0;
    padding: 24px 18px;
    flex-direction: column;
    align-items: flex-start;
  }

  .portfolio-cta-strip__text h3 {
    font-size: 24px;
  }

  .portfolio-cta-strip__button {
    width: 100%;
    min-width: 0;
  }
}




/*Dados*/

.nuvon-top-banner-title {
  display: block;
  width: auto;
  margin: 0;
  padding: 26px 0 0;
  text-align: left;
  color: #1a1a1a;
  font-size: clamp(20px, 1.85vw, 27px);
  line-height: 1.08;
  font-weight: 300;
  letter-spacing: -0.03em;
  max-width: 215px;
}

.nuvon-top-banner {
  display: grid;
  grid-template-columns: 0.78fr 1fr 1fr 1fr !important;
  gap: 18px;
  align-items: start;
  width: 100%;
  clear: both;
  float: none !important;
  margin: 0 0 35px;
  padding: 10px 0 2px;
}

.nuvon-top-banner__item {
  width: auto !important;
  float: none !important;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
  min-height: 148px;
  padding: 18px 10px 12px;
  color: #1f1f1f;
  opacity: 0;
  transform: translateY(22px);
  animation: nuvonFadeUp 0.82s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  transition:
    transform 0.34s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.28s ease;
}

.nuvon-top-banner__item:nth-child(2) {
  animation-delay: 0.12s;
}

.nuvon-top-banner__item:nth-child(3) {
  animation-delay: 0.24s;
}

.nuvon-top-banner__item:nth-child(4) {
  animation-delay: 0.36s;
}

.nuvon-top-banner__item::before {
  content: "";
  width: 72%;
  height: 1px;
  margin: 0 auto 24px;
  display: block;
  background: linear-gradient(
    90deg,
    rgba(40, 40, 40, 0) 0%,
    rgba(40, 40, 40, 0.22) 18%,
    rgba(40, 40, 40, 0.22) 82%,
    rgba(40, 40, 40, 0) 100%
  );
  transform: scaleX(0.72);
  transform-origin: center;
  opacity: 0;
  animation: nuvonLineIn 0.9s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  animation-delay: 0.18s;
}

.nuvon-top-banner__item:nth-child(2)::before {
  animation-delay: 0.3s;
}

.nuvon-top-banner__item:nth-child(3)::before {
  animation-delay: 0.42s;
}

.nuvon-top-banner__item:nth-child(4)::before {
  animation-delay: 0.54s;
}

.nuvon-top-banner__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  margin-bottom: 16px;
  color: #561c67;
  line-height: 1;
  opacity: 0;
  transform: translateY(0) scale(1) rotate(0deg);
  transform-origin: center;
  animation: nuvonIconIn 0.78s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  transition:
    color 0.28s ease,
    filter 0.28s ease;
}

.nuvon-top-banner__item:nth-child(2) .nuvon-top-banner__icon {
  font-size: 32px;
  animation-delay: 0.22s;
}

.nuvon-top-banner__item:nth-child(3) .nuvon-top-banner__icon {
  font-size: 26px;
  animation-delay: 0.34s;
}

.nuvon-top-banner__item:nth-child(4) .nuvon-top-banner__icon {
  font-size: 28px;
  animation-delay: 0.46s;
}

.nuvon-top-banner__item strong {
  display: block;
  margin: 0 0 10px;
  font-size: 42px;
  line-height: 0.92;
  font-weight: 700;
  letter-spacing: -0.045em;
  color: #202020;
  transition:
    transform 0.36s cubic-bezier(0.22, 1, 0.36, 1),
    color 0.28s ease;
}

.nuvon-top-banner__item small {
  display: block;
  margin: 0;
  max-width: 220px;
  font-size: 11px;
  line-height: 1.45;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #4f4f4f;
  transition:
    color 0.28s ease,
    letter-spacing 0.32s ease,
    transform 0.32s ease;
}

.nuvon-top-banner__item:hover .nuvon-top-banner__icon {
  color: #ff5a36;
  filter: drop-shadow(0 8px 14px rgba(255, 90, 54, 0.16));
}

.nuvon-top-banner__item:hover strong {
  color: #111111;
  transform: translateY(-3px);
}

.nuvon-top-banner__item:hover small {
  color: #2f2f2f;
  letter-spacing: 0.23em;
  transform: translateY(-1px);
}

@keyframes nuvonFadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes nuvonLineIn {
  to {
    opacity: 1;
    transform: scaleX(1);
  }
}

@keyframes nuvonIconIn {
  0% {
    opacity: 0;
    transform: translateY(10px) scale(0.72) rotate(-18deg);
  }

  60% {
    opacity: 1;
    transform: translateY(-3px) scale(1.08) rotate(6deg);
  }

  100% {
    opacity: 1;
    transform: translateY(0) scale(1) rotate(0deg);
  }
}

@keyframes nuvonIconHoverReplay {
  0% {
    transform: translateY(0) scale(1) rotate(0deg);
  }

  35% {
    transform: translateY(2px) scale(0.82) rotate(-14deg);
  }

  68% {
    transform: translateY(-6px) scale(1.12) rotate(8deg);
  }

  100% {
    transform: translateY(-2px) scale(1.04) rotate(0deg);
  }
}



@media (max-width: 900px) {
  .nuvon-top-banner {
    grid-template-columns: 1fr 1fr;
    gap: 22px;
  }

  .nuvon-top-banner-title {
    grid-column: 1 / -1;
    padding-top: 0;
  }

  .nuvon-top-banner__item strong {
    font-size: 36px;
  }

  .nuvon-top-banner__item small {
    font-size: 10px;
    letter-spacing: 0.16em;
  }
}

@media (max-width: 767px) {
  .nuvon-top-banner {
    margin: 0 0 35px;
    padding-top: 6px;
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .nuvon-top-banner-title {
    grid-column: auto;
  }

  .nuvon-top-banner__item {
    min-height: auto;
    padding: 14px 8px 8px;
  }

  .nuvon-top-banner__item::before {
    width: 150px;
    margin-bottom: 18px;
  }

  .nuvon-top-banner__icon {
    width: 42px;
    height: 42px;
    margin-bottom: 14px;
  }

  .nuvon-top-banner__item:nth-child(1) .nuvon-top-banner__icon {
    font-size: 26px;
  }

  .nuvon-top-banner__item:nth-child(2) .nuvon-top-banner__icon {
    font-size: 23px;
  }

  .nuvon-top-banner__item:nth-child(3) .nuvon-top-banner__icon {
    font-size: 22px;
  }

  .nuvon-top-banner__item strong {
    font-size: 32px;
  }

  .nuvon-top-banner__item small {
    max-width: none;
    font-size: 10px;
    letter-spacing: 0.14em;
  }
}


/*_______*/



.nuvon-brand-marquee {
  position: relative;
  overflow: hidden;
  margin: 26px 0 35px;
  padding: 46px 0 42px;
  border-radius: 0;
}

.nuvon-brand-marquee__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  background: #fff;
  border: 1px solid rgba(205, 189, 173, 0.45);
}

.nuvon-brand-marquee h2 {
  position: relative;
  z-index: 1;
  margin: 0 0 30px;
  text-align: center;
  color: #7d746d;
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0.28em;
  text-transform: uppercase;
}

.nuvon-brand-marquee__viewport {
  position: relative;
  z-index: 1;
  overflow: hidden;
  width: 100%;
}

.nuvon-brand-marquee__track {
  display: flex;
  align-items: center;
  width: max-content;
  will-change: transform;
  transform: translate3d(0, 0, 0);
}

.nuvon-brand-marquee__group {
  display: flex;
  align-items: center;
  gap: 54px;
  padding: 0 27px;
  flex: 0 0 auto;
}

.nuvon-brand-marquee__group img {
  width: auto;
  max-width: 160px;
  max-height: 80px;
  object-fit: contain;
  flex: 0 0 auto;
  filter: grayscale(100%);
  opacity: 0.82;
  transition: transform 0.25s ease, opacity 0.25s ease, filter 0.25s ease;
}

.nuvon-brand-marquee__group img:hover {
  transform: translateY(-2px) scale(1.1);
  opacity: 1;
  filter: grayscale(0%);
}

.nuvon-brand-marquee__viewport::before,
.nuvon-brand-marquee__viewport::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 72px;
  z-index: 2;
  pointer-events: none;
}

.nuvon-brand-marquee__viewport::before {
  left: 0;
  background: linear-gradient(90deg, rgba(249, 247, 244, 0.98), rgba(249, 247, 244, 0));
}

.nuvon-brand-marquee__viewport::after {
  right: 0;
  background: linear-gradient(270deg, rgba(249, 247, 244, 0.98), rgba(249, 247, 244, 0));
}

@media (max-width: 767px) {
  .nuvon-brand-marquee {
    margin: 45px 0 35px;
    padding: 34px 0 30px;
    border-radius: 22px;
  }

  .nuvon-brand-marquee h2 {
    margin-bottom: 22px;
    font-size: 14px;
    letter-spacing: 0.18em;
  }

  .nuvon-brand-marquee__group {
    gap: 34px;
    padding: 0 17px;
  }

  .nuvon-brand-marquee__group img {
    max-width: 120px;
    max-height: 50px;
  }

  .nuvon-brand-marquee__viewport::before,
  .nuvon-brand-marquee__viewport::after {
    width: 38px;
  }
}





.botao-zap {position: fixed;right: 20px; bottom: 30px;z-index: 999;}

.botao-zap a span {background:#34af23;display: block; width:80px;height:80px;padding: 0;border-radius: 100px;transition: -webkit-transition: all .5s ease; -moz-transition: all .5s ease; -o-transition: all .5s ease; transition: all .5s ease;cursor: pointer;}
.botao-zap a span:hover {background: #29961a!important; }
.botao-zap a span img {margin: 18px 0 0 20px!important;}


	    .botao-insta {position: fixed;right: 20px; bottom: 120px;z-index: 999;}

.botao-insta a span {background:#C13584;display: block; width:80px;height:80px;padding: 0;border-radius: 100px;transition: -webkit-transition: all .5s ease; -moz-transition: all .5s ease; -o-transition: all .5s ease; transition: all .5s ease;cursor: pointer;}
.botao-insta a span:hover {background: #E1306C!important; }
.botao-insta a span img {margin: 18px 0 0 20px!important;}

.botao-zap-contato {position: relative}
.botao-zap-contato a span {background:#E1306C;display: block; width:80px;height:80px;padding: 20px;border-radius: 100px;transition: -webkit-transition: all .5s ease; -moz-transition: all .5s ease; -o-transition: all .5s ease; transition: all .5s ease;cursor: pointer;}
.botao-zap-contato a span:hover {background: #C13584!important; }


.botao-zap-pagcontato {position: relative}
.botao-zap-pagcontato a span {position: relative;background:#34af23;display: block; width:210px;height:50px;padding: 20px;border-radius: 50px;transition: -webkit-transition: all .5s ease; -moz-transition: all .5s ease; -o-transition: all .5s ease; transition: all .5s ease;cursor: pointer;}
.botao-zap-pagcontato a span p {text-decoration: none!important;position: absolute;font-size: 20px; color: white;top: 33px;left: 70px;}
.botao-zap-pagcontato a span img {vertical-align: bottom!important;}
.botao-zap-pagcontato a span:hover {background: #29961a!important;text-decoration: none!important; }


.form-message {
 font-size: 20px; color: green;
}


.animate {
  transition: -webkit-transition: all .5s ease; -moz-transition: all .5s ease; -o-transition: all .5s ease; -ms-transition: all .5s ease; transition: all .5s ease;
}

	.port-foto-h {
	    margin-left:10px!important;
	    margin-top:7px;
	}
	.port-foto-int1 {
	    margin-left:10px;
	    margin-bottom:14px;
	}
	.port-foto-int2 {
	    margin-bottom:7px;
	}

	.btn-new {width: 100%;background: #9f9f9f;height: 40px;text-align: center;}
	.btn-new a{color: #fff!important;text-decoration: none!important;padding:10px!important;margin-top: 10px!important;display: block; }
	.btn-new a:hover{background: #622f77!important; }

	a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video {
	    margin:0;
	    padding:0;
	    border:0;
	    font:inherit;
	    vertical-align:baseline;
		border-radius: 0;

	}
	article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	    display:block
	}
	body {
	    line-height:1
	}
	blockquote, q {
	    quotes:none
	}
	blockquote:after, blockquote:before, q:after, q:before {
	    content:'';
	    content:none
	}
	table {
	    border-collapse:collapse;
	    border-spacing:0
	}
	.none {
	    display:none
	}
	body {
	    font:13px/21px Asap, HelveticaNeue, "Helvetica Neue", Helvetica, Arial, sans-serif;
	    color:#444;
	    -webkit-font-smoothing:antialiased;
	    -webkit-text-size-adjust:100%
	}


	header {
	    /*height:160px;*/
	    position:relative
	}
	nav {
	    position:absolute;
	    right:0;
	    top:20px;
	    width:324px;
	    height:25px;
	    /*border: 1px solid #f00;*/
	    background:none;
	    font-size:16px;
	    padding:0;
	    overflow:hidden;
	}
	nav ul {
	    margin:0;
	}

		nav ul li {

	}


	nav ul a {
		float: left;margin-left:15px;
	    text-decoration:none
	    color:#333!important;
	}
	nav ul a:hover {
	    color:#333
	}
	.menusec, .menusec-int {
	    width:100%
	}
	.menusec ul li, .menusec_nt ul li {
	    margin-bottom:0
	}
	.menusec ul li a {
		width: 100%;
    	height: 58px;
    	display: block;
    	font-size: 15px;
    	text-decoration: none;
    	color: #fff;
    	text-align: center;
    	padding: 42px 10px 0 10px;
	}

	.menusec-int ul li a {
		width: 100%;
    	height: auto;
    	display: block;
    	font-size: 15px;
    	text-decoration: none;
    	color: #fff;
    	text-align: center;
    	padding: 15px 0;
	}	

	.menusec ul li a.a, .menusec-int ul li a.a {
	    background:#0e71c5;
	}
	.menusec ul li a.b,.menusec-int ul li a.b {
	    background:#561c67;
	}
	.menusec ul li a.c, .menusec-int ul li a.c {
	    background:#d90e02;
	}
	.menusec ul li a.d, .menusec-int ul li a.d {
	    background:#faaf3e;
	}
	.menusec ul li a.a:hover, .menusec-int ul li a.a:hover {
	    background:#0e7bd8;
	}
	.menusec ul li a.b:hover, .menusec-int ul li a.b:hover {
	    background:#622f77;
	}
	.menusec ul li a.c:hover, .menusec-int ul li a.c:hover {
	    background:#e81e05;
	}
	.menusec ul li a.d:hover, .menusec-int ul li a.d:hover {
	    background:#f4a52f;
	}

/*	.menusec ul .idt a {
	    background-position:0 -92px
	}
	.menusec ul .fot a {
	    background-position:-220px -92px
	}
	.menusec ul .imp a {
	    background-position:-440px -92px
	}*/


/*
	.menusec ul li.d {
	    background:url(../images/bgmenusec.jpg) repeat-x -660px 0
	}
	.menusec ul .web a {
	    background-position:-220px -92px
	}
	.menusec ul .cam a {
	    background-position:-660px -92px
	}
*/



	.menusec_int {
	    width:100%;
	    margin-bottom:30px
	}
	.menusec_int ul li {
	    margin-bottom:1px
	}
	.menusec_int ul span a {
	    width:100%;
	    height:40px;
	    display:block;
	    background:url(../images/bgmenusec.jpg) repeat-x
	}
	.menusec_int ul li {
	    text-indent:-5000px;
	    width:100%;
	    height:40px
	}
	.menusec_int ul li.a {
	    background:url(../images/bgmenusec.jpg) repeat-x 0 -46px
	}
	.menusec_int ul li.b {
	    background:url(../images/bgmenusec.jpg) repeat-x -220px -46px
	}
	.menusec_int ul li.c {
	    background:url(../images/bgmenusec.jpg) repeat-x -440px -46px
	}
	.menusec_int ul li.d {
	    background:url(../images/bgmenusec.jpg) repeat-x -660px -46px
	}
	.menusec_int ul .idt a {
	    background-position:0 -138px
	}
	.menusec_int ul .web a {
	    background-position:-220px -138px
	}
	.menusec_int ul .imp a {
	    background-position:-440px -138px
	}
	.menusec_int ul .cam a {
	    background-position:-660px -138px
	}
	.menusec_int ul li.activea {
	    background:url(../images/bgmenusec.jpg) repeat-x 0 -138px
	}
	.menusec_int ul li.activeb {
	    background:url(../images/bgmenusec.jpg) repeat-x -220px -138px
	}
	.menusec_int ul li.activec {
	    background:url(../images/bgmenusec.jpg) repeat-x -440px -138px
	}
	.menusec_int ul li.actived {
	    background:url(../images/bgmenusec.jpg) repeat-x -660px -138px
	}

	.vmais a {
		display: block;
		font-size: 18px;
		color: #fff!important;
		background: #561c67;
		text-align: center;
		padding: 20px;
		margin: 30px 0 60px 0;
	}
	.vmais a:hover {
		color: #ccc;
		background: #622f77;
		text-decoration: none!important;
	}



	.noticias .ult {
	    margin-bottom:0
	}
	.noticias img {
	    width:100%;
	    display:block
	}
	.noticias h3 {
	    color:#333;
	    font-size:17px;
	    height:70px;
	    overflow:hidden
	}
	.noticias h3 a {
	    text-decoration:none!important
	}
	.sixteen .noticias h3 {
	    height:82px
	}
	.noticias h4 {
	    color:#333;
	    font-size:30px;
	    font-weight:700;
	    height:auto;
	    line-height:1.2em
	}
	.noticias h4 a {
	    text-decoration:none!important
	}
	.noticias .data {
	    color:#555;
	    font-size:12px;
	    font-weight:400;
	    display:block;
	    margin-bottom:20px
	}
	.noticias div a, .noticias p a {
	    color:#333;
	    text-decoration:underline
	}
	.noticias div a:hover, .noticias p a:hover {
	    color:#555
	}
	.who img {
	    display:block;
	    width:100%
	}
	.who .bgimg {
	    background:#000;
	    width:100%;
	    margin-bottom:5px;
	    display:block
	}
	.noticias .bgimg {
	    background:#000;
	    width:100%;
	    display:block;
	    margin-bottom:5px
	}
	.noticias .bgimg img {
	    width:100%;
	    margin:0!important;
	    padding:0!important
	}
	.projetoA img {
	    display:block
	}
	.projetoA .bgimg {
	    background:url(../images/mais.png) no-repeat 60px 40px #000;
	    width:100%;
	    display:block;
	    margin-bottom:5px
	}
	.projetoA .bgimg img {
	    width:100%;
	    margin:0!important;
	    padding:0!important
	}





	h4 {
	    color:#8b8b8b;
	    height:20px;
	    width:100%;
	    overflow:hidden;
	    margin-bottom:0!important
	}
	h4 span {
	    font-weight:700
	}
	h5 {
	    color:#8b8b8b;
	    font-size:12px;
	    margin-bottom:10px;
	    height:20px;
	    width:100%;
	    overflow:hidden
	}
	h5 span {
	    font-weight:700
	}
	.about {
	    clear:both;
	    padding-top:00px
	}
	.about p {
	    margin-bottom:0
	}
	.about p a {
	    display:block
	}


  .about.home-sections {
    clear: both;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px;
    padding: 18px 0 10px;
    align-items: stretch;
}

.about.home-sections .home-section {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border: 1px solid rgba(30, 30, 30, 0.08);
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.04);
    overflow: hidden;
}

.about.home-sections .home-section__media {
    position: relative;
    display: block;
    aspect-ratio: 16 / 8;
    background: linear-gradient(135deg, rgba(86, 28, 103, 0.14), rgba(86, 28, 103, 0.04));
    border-bottom: 1px solid rgba(30, 30, 30, 0.08);
    text-decoration: none !important;
    overflow: hidden;
}

.about.home-sections .home-section__media::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 18% 28%, rgba(86, 28, 103, 0.18), transparent 34%),
        radial-gradient(circle at 78% 24%, rgba(255, 122, 56, 0.16), transparent 30%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0));
}

.about.home-sections .home-section__media-label {
    position: absolute;
    left: 18px;
    bottom: 16px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    background: rgba(255, 255, 255, 0.84);
    color: #6b6460;
    font-size: 10px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.about.home-sections .home-section__body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 26px 26px 24px;
}

.about.home-sections .home-section h2 {
    margin: 0 0 16px !important;
    display: flex;
    align-items: center;
    gap: 12px;
    color: #1c1c1c;
    font-size: 30px;
    line-height: 1.04;
    font-weight: 400;
    letter-spacing: -0.035em;
    text-transform: none;
}

.about.home-sections .home-section h2 img {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    display: block;
    margin: 0 !important;
}

.about.home-sections .home-section h2 a {
    color: inherit !important;
    text-decoration: none !important;
}

.about.home-sections .home-section p {
    margin: 0;
    font-size: 16px;
    line-height: 1.72;
    color: #373737;
}

.about.home-sections .home-section p a {
    color: inherit !important;
    text-decoration: none !important;
}

.about.home-sections .home-section .btn-new {
    margin-top: auto;
    padding-top: 22px;
}

.about.home-sections .home-section .btn-new a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 18px !important;
    border: 1.5px solid #561c67;
    background: transparent;
    color: #561c67 !important;
    text-decoration: none !important;
    font-size: 12px !important;
    line-height: 1;
    font-weight: 700 !important;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    transition:
        background 0.22s ease,
        color 0.22s ease,
        transform 0.22s ease,
        border-color 0.22s ease;
}

.about.home-sections .home-section .btn-new a:hover,
.about.home-sections .home-section .btn-new a:focus {
    background: #561c67;
    color: #fff !important;
    border-color: #561c67;
    transform: translateY(-2px);
}

.about.home-sections .home-section__media:hover::before,
.about.home-sections .home-section__media:focus::before {
    transform: scale(1.02);
}

@media only screen and (max-width: 767px) {
    .about.home-sections {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .about.home-sections .home-section__body {
        padding: 22px 20px 20px;
    }

    .about.home-sections .home-section h2 {
        font-size: 25px;
    }

    .about.home-sections .home-section p {
        font-size: 15px;
        line-height: 1.64;
    }
}



	.bar {
	    height:20px;
	    width:100%;
	    margin:0 auto 20px
	}
	.bar .search {display: none!important;
	    float:right;
	    background:#333;
	    padding:3px 3px 0;
	    cursor:pointer
	}
	.bar .search:hover {
	    background:#444
	}
	.spacer {
	    background:url(../images/spacer.jpg) repeat-x;
	    margin:40px 0;
	    width:100%;
	    height:2px
	}
	.busca {
	    width:30%;
	    height:20px;
	    display:none;
	    position:relative;
	    float:right
	}
	.busca form {
	    border:none;
	    float:right;
	    width:264px;
	    position:relative;
	    height:20px;
	    margin:0 10px;
	    z-index:9999999
	}
	.busca form fieldset {
	    border:none
	}
	.busca form input#inbusca {
	    width:210px;
	    float:left;
	    padding:6px;
	    color:#eee;
	    background:#333;
	    border:none;
	    position:absolute;
	    top:0;
	    left:0
	}
	.busca form input#btnbusca {
	    float:left;
	    width:30px;
	    height:28px;
	    padding:3px;
	    color:#333;
	    background:#fff;
	    border:none;
	    cursor:pointer;
	    font-family:Lato;
	    font-weight:100;
	    position:absolute;
	    top:0;
	    right:10px
	}
	.busca form input#btnbusca:hover {
	    background:#f8f8f8
	}
	.busca p {
	    position:absolute;
	    top:9px;
	    right:280px;
	    width:300px;
	    text-align:right
	}
	.busca #fechar_busca {
	    display:none;
	    position:absolute;
	    top:5px;
	    left:5px;
	    background:#555;
	    color:#fff;
	    text-align:center;
	    padding-top:2px;
	    cursor:pointer;
	    width:20px;
	    height:22px
	}
	.busca #fechar_busca2 {
	    position:absolute;
	    top:0;
	    right:-23px;
	    background:url(../images/close.png) no-repeat #333 0 4px;
	    text-align:center;
	    padding-top:3px;
	    cursor:pointer;
	    width:20px;
	    height:22px;
	    z-index:9999999;
	    font-size:1px;
	    color:#333
	}
	.busca #fechar_busca2:hover, .busca #fechar_busca:hover {
	    background:url(../images/close.png) no-repeat #444 0 4px
	}
	.social {
	    width:100%;
	    padding:10px 0 0;
	    /*background:url(../images/white40.png) repeat;*/
	    float:left;
	    margin-bottom:20px;
	    position: relative;
	    z-index: 2!important;
	}
	.social div {
	    width:36px;
	    height:36px;
		float: right;
		margin: 0 0 0 10px;
	    text-indent:-5000px
	}
	.social .fc {
	    background:url(../images/facebook36.png) 0 0 no-repeat
	}
	.social .fc:hover {
	    background:url(../images/facebook36.png) 0 -36px no-repeat
	}
	.social .inst {
	    background:url(../images/instagram36.png) 0 0 no-repeat
	}
	.social .inst:hover {
	    background:url(../images/instagram36.png) 0 -36px no-repeat
	}
	.social .in {
	    background:url(../images/linkedin36.png) 0 0 no-repeat
	}
	.social .in:hover {
	    background:url(../images/linkedin36.png) 0 -36px no-repeat
	}
	.social .gp {
	    background:url(../images/googleplus36.png) 0 0 no-repeat
	}
	.social .gp:hover {
	    background:url(../images/googleplus36.png) 0 -36px no-repeat
	}
	.social .tw {
	    background:url(../images/twitter36.png) 0 0 no-repeat
	}
	.social .tw:hover {
	    background:url(../images/twitter36.png) 0 -36px no-repeat
	}
	.blog {
	    width:100%;
	    padding:10px 0;
	    background:url(../images/white40.png) repeat;
	    position:relative;
	    clear:both
	}
	.blog a img {
	    width:40%;
	    float:right;
	    max-width:107px;
	    margin-left:2%
	}
	.blog h2 {
	    margin:6px 20px
	}
	.blog p {
	    margin:10px 20px
	}
	.blog p a {
	    display:block
	}
	form.contact {
	    width:100%;
	    float:left
	}
	form.contact label {
	    font-weight:400;
	    color:#555;
	    width:49%;
	    float:left
	}
	form.contact input {
	    color:#555;
	    float:left;
	    width:88%;
	    padding:15px 10px;
	    border:1px solid #ccc;
	    margin-bottom:10px;
	    background:#f8f8f8;
	    font-size:12px
	}
	form.contact select {
	    color:#555;
	    float:left;
	    width:95%;
	    padding:14px 10px;
	    height:47px;
	    border:1px solid #ccc;
	    margin-bottom:10px;
	    background:#f8f8f8;
	    font-size:12px
	}
	form.contact label.tipo2 {
	    font-weight:400;
	    color:#555;
	    width:96%;
	    float:left
	}
	form.contact textarea {
	    color:#555;
	    display:block;
	    width:96%;
	    padding:10px;
	    border:1px solid #ccc;
	    margin-bottom:10px;
	    background:#f8f8f8;
	    font:13px/1.5 Lato, Helvetica, Arial, "Lucida Grande", "Lucida Sans", Tahoma, Verdana, sans-serif;
	    clear:both;
	    height:100px
	}
	form.contact .btn {
	    background:#777;
	    padding:0;
	    color:#fff;
	    float:right;
	    cursor:pointer;
	    width:100px;
	    height:35px;
	    font-size:11px;
	    border:none;
	    font-weight:400;
	    clear:both;
	    margin-right:30px
	}
	form.contact .btn:hover {
	    background:#333;
	    color:#fff
	}
	form.contact label.tipo3 {
	    font-weight:400;
	    color:#555;
	    width:300px;
	    float:left;
	    margin-top:32px
	}
	form.contact input[type=checkbox] {
	    width:20px
	}
	.pag {
	    margin-bottom:30px
	}
	.pag ul {
	    list-style:none;
	    text-align:center;
	    padding-top:10px;
	    clear:both;
	    float:right
	}
	.pag ul li {
	    float:left;
	    display:inline
	}
	.pag ul span.active {
	    color:#fff;
	    background:#333;
	    padding:3px 8px;
	    margin:0 5px
	}
	.pag ul a {
	    display:inline;
	    margin:0 5px;
	    color:#333;
	    text-decoration:none;
	    background:#eee;
	    padding:3px 8px
	}
	.pag ul a:hover {
	    color:#000;
	    background:#ccc
	}
	footer {
	    width:100%;
	    margin:40px auto;
	    font-size:13px
	}
	footer .copyright {
	    font-size:12px;
	    color:#999;
	    clear:both
	}
	footer h4 {
	    float:left;
	    height:20px;
	    margin:10px 30px 20px 0;
	    width:100px
	}
	footer h4 img {
	    float:left;
	    margin-right:5px
	}
	footer .det {
	    position:absolute;
	    top:-40px;
	    right:0;
	    max-width:100%
	    z-index: 1; 
	}
	.gototop {
	    position:fixed;
	    bottom:10%;
	    right:0
	}
	.gototop a {
	    color:#fff;
	    background:url(../images/top.png) 5px 5px no-repeat #eee;
	    padding:10px;
	    display:block;
	    text-indent:-5000px;
	    width:40px;
	    height:25px;
	    border-top:1px solid #fff;
	    border-left:1px solid #fff
	}
	.gototop a:hover {
	    background:url(../images/top.png) 5px -31px no-repeat #333;
	    padding:10px;
	    display:block;
	    text-indent:-5000px;
	    width:40px;
	    height:25px;
	    border-top:1px solid #333;
	    border-left:1px solid #333
	}
	.distance {
	    display:none
	}
	.atuacao .bgimg {
	    background:url(../images/mais.png) no-repeat 0 30px #000;
	    width:100%;
	    display:block;
	    margin-bottom:5px
	}
	.atuacao .bgimg img {
	    width:100%;
	    margin:0!important;
	    padding:0!important;
	    display:block
	}
	.atuacao p {
	    font-size:12px;
	    width:100%
	}
	.atuacao_int {
	    margin-bottom:30px;
	    float:left
	}
	.atuacao_int h3 {
	    font-size:26px;
	    margin:15px 0;
	    line-height:0.9em;
	}
	.atuacao_int .box {
	    width:23.5%;
	    float:left;
	    margin-right:1.5%
	}


	.atuacao_int .box:nth-child(5) {
		margin-right:0!important
	}	

	.atuacao_int .bgimg {
	    /*background:url(../images/mais.png) no-repeat -28px 0 #000;*/
	    width:100%;
	    display:block;
	    margin-bottom:5px
	}

	.atuacao_int .bgimg a {
	    width:100%;
	    display:block;
	    text-decoration: none;
	    color: #fff;
	    text-align: center;
	    padding: 30px 0;
	    font-size: 15px;
	}

	.atuacao_int .bgimg a:hover {
	    color: #ccc;
	}


	.atuacao_int .bgimg a.a {
	    background:#0e71c5;
	}
	.atuacao_int .bgimg a.b {
	    background:#561c67;
	}
	.atuacao_int .bgimg a.c {
	    background:#d90e02;
	}
	.atuacao_int .bgimg a.d {
	    background:#faaf3e;
	}
	.atuacao_int .bgimg a.a:hover {
	    background:#0e7bd8;
	}
	.atuacao_int .bgimg a.b:hover {
	    background:#622f77;
	}
	.atuacao_int .bgimg a.c:hover {
	    background:#e81e05;
	}
	.atuacao_int .bgimg a.d:hover {
	    background:#f4a52f;
	}




/*	.atuacao_int .bgimg img {
	    width:100%;
	    margin:0!important;
	    padding:0!important;
	    display:block
	}*/
	.atuacao_int p {
	    font-size:12px;
	    width:100%
	}
	.atuacao_int p a {
	    text-decoration: none!important;
	    display: block;
	}
	.atuacao_int .ult {
	    margin-right:0
	}
	.cliente img, .cliente_ult img {
	    display:block;
	    width:100%;
	    border-radius:100%
	}
	.cliente .bgimg, .cliente_ult .bgimg {
	    /*background:#ddd*/
	    ;
	    width:100%;
	    display:block;
	    margin-bottom:5px;
	    border-radius:100%
	}
	.cliente {
	    width:23.5%;
	    float:left;
	    margin-right:2%;
	    margin-bottom:20px;
	    text-align:center
	}
	.cliente_ult {
	    width:23.5%;
	    float:left;
	    margin-right:0!important;
	    margin-bottom:20px;
	    text-align:center
	}
	.page .cliente {
	    width:15%;
	    float:left;
	    margin-right:2%;
	    margin-bottom:20px;
	    text-align:center
	}
	.page .cliente_ult {
	    width:15%;
	    float:left;
	    margin-right:0!important;
	    margin-bottom:20px;
	    text-align:center
	}
	.cliente_main {
	    margin-bottom:30px;
	    padding:10px;
	    background:#ccc
	}
	.cliente_main img {
	    width:100%
	}
	.projetoA {
	    width:49%;
	    float:left;
	    margin-right:2%;
	    margin-bottom:30px
	}
	.projetoA img, .projetoB {
	    width:100%;
	    margin-bottom: -6px!important;
	}
	.projetoB img {
	    width:100%;
	    margin-bottom: 0;
/*	    -webkit-box-shadow:0 0 2px 1px rgba(0, 0, 0, .1);
	    box-shadow:0 0 2px 1px rgba(0, 0, 0, .1)*/
	}
	.projetoB p {
	    width:70%;
	    font-size:12px;
	    font-style:italic;
	    float:left;
	    margin-bottom:0;
	    display:none!important;
	}
	.projetoB .tags {
	    width:30%;
	    float:right;
	    text-align:right;
	    margin-bottom:25px
	}
	.projetoB .tags span {
	    font-weight:700;
	    text-align:right
	}
	.projeto_main {
	    margin-top:30px;
	    padding:10px;
	    background:#ccc
	}
	.projeto_main h2 {
	    color:#999
	}
	.projeto_main img {
	    width:100%;
	    display: none;
	    margin-bottom:1px!important;
	    padding-bottom:0!important
	}
	.projeto_main .siteon a {
	    background:#333;
	    margin-bottom:10px;
	    color:#fff;
	    font-size:12px;
	    text-align:center;
	    display:block;
	    margin-top:-6px;
	    padding:5px 0;
	    text-transform:uppercase
	}
	.projeto_main .siteon a:hover {
	    background:#000;
	    color:#eee;
	    text-decoration:none
	}
	.projetoC {
	    width:32%;
	    float:left;
	    margin-right:2%;
	    margin-bottom:50px
	}
	.projetoC .bgimg {
	    background:url(../images/mais.png) no-repeat center center #000;
	    width:100%;
	    display:block;
	    margin-bottom:5px
	}
	.projetoC .bgimg img {
	    width:100%;
	    margin:0!important;
	    padding:0!important;
	    display:block
	}
	.cabecalho {
	    width:100%;
	    position:relative
	}
	span.tipo {
	    position:absolute;
	    right:0;
	    top:2px
	}
	span.tipo a {
	    background:#333;
	    padding:5px;
	    color:#eee
	}
	span.tipo a:hover {
	    background:#000;
	    color:#fff
	}
	.ult {
	    margin-right:0
	}
	.active-link {
	    color:#ED5407!important
	}
	.choice {
	    margin-bottom:30px;
	    clear:both
	}
	ul.lista {
	    width:100%;
	    height:auto;
	    background:0 0
	}
	ul.lista li.principal {
	    width:100%;
	    cursor:pointer;
	    font-size:15px;
	    margin-bottom:1px!important;
	    font-weight:700;
	    text-indent:15px
	}
	ul.lista li.principal a {
	    text-decoration:none;
	    background:url(../images/white40.png) repeat;
	    padding:12px 0;
	    display:block
	}
	ul.lista li.principal a:hover {
	    color:#eee!important;
	    background:#333;
	    font-weight:400
	}
	ul.lista li.interna {
	    background:url(../images/white40.png) repeat;
	    cursor:pointer;
	    display:none;
	    width:100%;
	    height:auto;
	    font-size:14px;
	    font-weight:400;
	    text-indent:0!important
	}
	ul.lista li.interna p {
	    margin-bottom:0!important
	}
	ul.lista li.interna p a {
	    padding:10px;
	    color:#333;
	    display:block
	}
	ul.lista li.interna p a:hover {
	    color:#000;
	    background:#ccc;
	    text-decoration:none!important
	}
	ul.lista li.interna p:last-child {
	    border-bottom:none!important
	}
	h1 a {
	    display:block;
	    background:url(../images/logo_nuvon.png) no-repeat;
	    width:152px;
	    height:31px;
	    position:absolute;
	    text-indent:-5000px;
	    right:0;
	    top:47%;
	    border-radius: 0;
	}
	h2, h3, h6 {
	    color:#181818
	}
	h1 a, h2 a, h3 a, h4 a, h6 a {
	    font-weight:inherit
	}
	h1 {
	    font-size:1px;
	    line-height:0;
	    margin-bottom:0
	}
	h2 {
	    font-size:23px;
	    color:#333;
	    margin-bottom:10px;
	    text-transform:uppercase
	}
	h3 {
	    font-size:16px;
	    margin-bottom:5px
	}
	h4 {
	    font-size:12px
	}
	h6 {
	    font-size:14px;
	    line-height:21px
	}
	.subheader {
	    color:#777
	}
	.sobre p {
	    margin:0
	}
	p {
	    margin:0 0 10px
	}
	p img {
	    margin:0
	}
	p.lead {
	    font-size:21px;
	    line-height:27px;
	    color:#777
	}
	em {
	    font-style:italic
	}
	strong {
	    font-weight:700;
	    color:#333
	}
	small {
	    font-size:80%
	}
	blockquote, blockquote p {
	    font-size:17px;
	    line-height:24px;
	    color:#777;
	    font-style:italic
	}
	blockquote {
	    margin:0 0 20px;
	    padding:9px 20px 0 19px;
	    border-left:1px solid #ddd
	}
	blockquote cite {
	    display:block;
	    font-size:12px;
	    color:#555
	}
	blockquote cite:before {
	    content:"2014 020"
	}
	blockquote cite a, blockquote cite a:visited {
	    color:#555
	}
	hr {
	    border:solid #ddd;
	    border-width:1px 0 0;
	    clear:both;
	    margin:10px 0 30px;
	    height:0
	}
	a, a:visited {
	    color:#777;
	    text-decoration:none;
	    outline:0
	}
	a:focus, a:hover {
	    color:#000;
	    text-decoration:underline
	}
	p a, p a:visited {
	    line-height:inherit
	}
	ul {
	    list-style:none outside
	}
	ol {
	    list-style:decimal
	}
	ol, ul.circle, ul.disc, ul.square {
	    margin-left:30px
	}
	ul.square {
	    list-style:square outside
	}
	ul.circle {
	    list-style:circle outside
	}
	ul.disc {
	    list-style:disc outside
	}
	ol ol, ol ul, ul ol, ul ul {
	    margin:4px 0 5px 30px;
	    font-size:90%
	}
	ol ol li, ol ul li, ul ol li, ul ul li {
	    margin-bottom:6px
	}
	li {
	    line-height:18px;
	    margin-bottom:5px
	}
	li p, ul.large li {
	    line-height:21px
	}
	img.scale-with-grid {
	    max-width:100%;
	    height:auto
	}
	.button, button, input[type=button], input[type=reset], input[type=submit] {
	    background:#eee;
	    background:#eee -moz-linear-gradient(top, rgba(255, 255, 255, .2)0, rgba(0, 0, 0, .2)100%);
	    background:#eee -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(255, 255, 255, .2)), color-stop(100%, rgba(0, 0, 0, .2)));
	    background:#eee -webkit-linear-gradient(top, rgba(255, 255, 255, .2)0, rgba(0, 0, 0, .2)100%);
	    background:#eee -o-linear-gradient(top, rgba(255, 255, 255, .2)0, rgba(0, 0, 0, .2)100%);
	    background:#eee -ms-linear-gradient(top, rgba(255, 255, 255, .2)0, rgba(0, 0, 0, .2)100%);
	    background:#eee linear-gradient(top, rgba(255, 255, 255, .2)0, rgba(0, 0, 0, .2)100%);
	    border:1px solid #aaa;
	    border-top:1px solid #ccc;
	    border-left:1px solid #ccc;
	    -moz-border-radius:0;
	    -webkit-border-radius:0;
	    border-radius:0;
	    color:#444;
	    display:inline-block;
	    font-size:11px;
	    font-weight:700;
	    text-decoration:none;
	    text-shadow:0 1px rgba(255, 255, 255, .75);
	    cursor:pointer;
	    margin-bottom:20px;
	    line-height:normal;
	    padding:8px 10px;
	    font-family:HelveticaNeue, "Helvetica Neue", Helvetica, Arial, sans-serif
	}
	.button:hover, button:hover, input[type=button]:hover, input[type=reset]:hover, input[type=submit]:hover {
	    color:#222;
	    background:#ddd;
	    background:#ddd -moz-linear-gradient(top, rgba(255, 255, 255, .3)0, rgba(0, 0, 0, .3)100%);
	    background:#ddd -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(255, 255, 255, .3)), color-stop(100%, rgba(0, 0, 0, .3)));
	    background:#ddd -webkit-linear-gradient(top, rgba(255, 255, 255, .3)0, rgba(0, 0, 0, .3)100%);
	    background:#ddd -o-linear-gradient(top, rgba(255, 255, 255, .3)0, rgba(0, 0, 0, .3)100%);
	    background:#ddd -ms-linear-gradient(top, rgba(255, 255, 255, .3)0, rgba(0, 0, 0, .3)100%);
	    background:#ddd linear-gradient(top, rgba(255, 255, 255, .3)0, rgba(0, 0, 0, .3)100%);
	    border:1px solid #888;
	    border-top:1px solid #aaa;
	    border-left:1px solid #aaa
	}
	.button:active, button:active, input[type=button]:active, input[type=reset]:active, input[type=submit]:active {
	    border:1px solid #666;
	    background:#ccc;
	    background:#ccc -moz-linear-gradient(top, rgba(255, 255, 255, .35)0, rgba(10, 10, 10, .4)100%);
	    background:#ccc -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(255, 255, 255, .35)), color-stop(100%, rgba(10, 10, 10, .4)));
	    background:#ccc -webkit-linear-gradient(top, rgba(255, 255, 255, .35)0, rgba(10, 10, 10, .4)100%);
	    background:#ccc -o-linear-gradient(top, rgba(255, 255, 255, .35)0, rgba(10, 10, 10, .4)100%);
	    background:#ccc -ms-linear-gradient(top, rgba(255, 255, 255, .35)0, rgba(10, 10, 10, .4)100%);
	    background:#ccc linear-gradient(top, rgba(255, 255, 255, .35)0, rgba(10, 10, 10, .4)100%)
	}
	.button.full-width, button.full-width, input[type=button].full-width, input[type=reset].full-width, input[type=submit].full-width {
	    width:100%;
	    padding-left:0!important;
	    padding-right:0!important;
	    text-align:center
	}
	button::-moz-focus-inner, input::-moz-focus-inner {
	    border:0;
	    padding:0
	}
	ul.tabs {
	    display:block;
	    margin:0 0 20px;
	    padding:0;
	    border-bottom:solid 1px #ddd
	}
	ul.tabs li {
	    display:block;
	    width:auto;
	    height:30px;
	    padding:0;
	    float:left;
	    margin-bottom:0
	}
	ul.tabs li a {
	    display:block;
	    text-decoration:none;
	    width:auto;
	    height:29px;
	    padding:0 20px;
	    line-height:30px;
	    border:solid 1px #ddd;
	    border-width:1px 1px 0 0;
	    margin:0;
	    background:#f5f5f5;
	    font-size:13px
	}
	ul.tabs li a.active {
	    background:#fff;
	    height:30px;
	    position:relative;
	    top:-4px;
	    padding-top:4px;
	    border-left-width:1px;
	    margin:0 0 0 -1px;
	    color:#111;
	    -moz-border-radius-topleft:2px;
	    -webkit-border-top-left-radius:2px;
	    border-top-left-radius:2px;
	    -moz-border-radius-topright:2px;
	    -webkit-border-top-right-radius:2px;
	    border-top-right-radius:2px
	}
	ul.tabs li:first-child a.active {
	    margin-left:0
	}
	ul.tabs li:first-child a {
	    border-width:1px 1px 0;
	    -moz-border-radius-topleft:2px;
	    -webkit-border-top-left-radius:2px;
	    border-top-left-radius:2px
	}
	ul.tabs li:last-child a {
	    -moz-border-radius-topright:2px;
	    -webkit-border-top-right-radius:2px;
	    border-top-right-radius:2px
	}
	ul.tabs-content {
	    margin:0;
	    display:block
	}
	ul.tabs-content>li {
	    display:none
	}
	ul.tabs-content>li.active {
	    display:block
	}
	ul.tabs:after, ul.tabs:before {
	    content:'020';
	    display:block;
	    overflow:hidden;
	    visibility:hidden;
	    width:0;
	    height:0
	}
	ul.tabs:after {
	    clear:both
	}
	ul.tabs {
	    zoom:1
	}
	fieldset, form {
	    margin-bottom:20px
	}
	input[type=email], input[type=password], input[type=text], select, textarea {
	    border:1px solid #ccc;
	    padding:6px 4px;
	    outline:0;
	    -moz-border-radius:0;
	    -webkit-border-radius:0;
	    border-radius:0;
	    font:13px HelveticaNeue, "Helvetica Neue", Helvetica, Arial, sans-serif;
	    color:#777;
	    margin:0;
	    width:210px;
	    max-width:100%;
	    display:block;
	    margin-bottom:20px;
	    background:#fff
	}
	select {
	    padding:0
	}
	input[type=email]:focus, input[type=password]:focus, input[type=text]:focus, textarea:focus {
	    border:1px solid #aaa;
	    color:#444;
	    -moz-box-shadow:0 0 3px rgba(0, 0, 0, .2);
	    -webkit-box-shadow:0 0 3px rgba(0, 0, 0, .2);
	    box-shadow:0 0 3px rgba(0, 0, 0, .2)
	}
	textarea {
	    min-height:60px
	}
	label, legend {
	    display:block;
	    font-weight:700;
	    font-size:13px
	}
	select {
	    width:220px
	}
	input[type=checkbox] {
	    display:inline
	}
	label span, legend span {
	    font-weight:400;
	    font-size:13px;
	    color:#444
	}
	.remove-bottom {
	    margin-bottom:0!important
	}
	.half-bottom {
	    margin-bottom:10px!important
	}
	.add-bottom {
	    margin-bottom:20px!important
	}


	#slider, #vertical {
	    width:100%!important;
	    font-family:Asap, HelveticaNeue, "Helvetica Neue", Helvetica, Arial, sans-serif
	}
	.rsContent {
	    color:#FFF;
	    font-size:24px;
	    line-height:32px;
	    float:left
	}
	.slidetipo1 span {
	    width:auto;
/*	    background:url(../images/black40.png) repeat;
*/	    padding:10px 15px;
	    margin:13px;
	    font-size:26px;
	    line-height:1em;
	    position:absolute;
	    top:85%
	}
	.rsContent a {
	    color:#fff
	}
	.rsBullet {
	    cursor:pointer
	}
	.rsImg {
	    width:100%
	}
	.bContainer {
	    position:relative
	}
	.rsABlock {
	    position:relative;
	    display:block;
	    left:auto;
	    top:auto
	}
	.blockHeadline {
	    font-size:42px;
	    font-weight:400;
	    line-height:70px
	}
	.blockSubHeadline {
	    font-size:32px;
	    line-height:40px
	}
	.txtCent {
	    text-align:center;
	    width:100%
	}
	.slide1 {
	    background:#f05c2e
	}
	.slide1 .bContainer {
	    top:36%
	}
	.slide1 .bContainer p {
	    margin-top:2.4em
	}
	.slide1 .bContainer p span {
	    font-family:Georgia;
	    font-size:30px
	}
	.slide2 {
	    background:#ffbc11;
	    color:#000
	}
	.slide2 .bContainer {
	    top:24px
	}
	.slide2 .txtCent {
	    line-height:44px
	}
	.slide2 .blockHeadline {
	    line-height:66px
	}
	.slide3 {
	    background:#45aab8;
	    color:#FFF
	}
	.slide3 .bContainer {
	    top:24px
	}
	.slide3 span {
	    line-height:44px
	}
	.slide4 .bContainer {
	    position:absolute;
	    left:0;
	    width:100%;
	    height:auto;
	    top:24px
	}
	.photoCopy {
	    line-height:24px;
	    font-size:12px;
	    background:#000;
	    color:#fff;
	    background-color:rgba(0, 0, 0, .75);
	    padding:0 10px;
	    position:absolute;
	    left:12px;
	    bottom:12px;
	    top:auto;
	    border-radius:2px;
	    z-index:25
	}
	.photoCopy a {
	    color:#FFF
	}
	.palmImg {
	    left:0;
	    top:auto;
	    bottom:-60px;
	    position:absolute
	}
	@media screen and (min-width:0) and (max-width:960px) {
	    .rsContent {
	        font-size:22px;
	        line-height:28px
	    }
	    .blockHeadline {
	        font-size:32px;
	        line-height:32px
	    }
	    .blockSubHeadline {
	        font-size:26px;
	        line-height:32px
	    }
	}
	@media screen and (min-width:0) and (max-width:500px) {
	    .royalSlider, .rsOverflow {
	        height:330px!important
	    }
	    .rsContent {
	        font-size:18px;
	        line-height:26px
	    }
	    .blockHeadline {
	        font-size:24px;
	        line-height:32px
	    }
	    .blockSubHeadline {
	        font-size:22px;
	        line-height:32px
	    }
	}
	.map {
	    margin-left:0
	}
	.container {
	    position:relative;
	    width:960px;
	    margin:0 auto;
	    padding:0
	}
	.container .column, .container .columns {
	    float:left;
	    display:inline;
	    margin-left:10px;
	    margin-right:10px
	}
	.row {
	    margin-bottom:20px
	}
	.column.alpha, .columns.alpha {
	    margin-left:0
	}
	.column.omega, .columns.omega {
	    margin-right:0
	}
	.container .one.column, .container .one.columns {
	    width:40px
	}
	.container .two.columns {
	    width:100px
	}
	.container .three.columns {
	    width:160px
	}
	.container .four.columns {
	    width:220px
	}
	.container .five.columns {
	    width:280px
	}
	.container .six.columns {
	    width:340px
	}
	.container .seven.columns {
	    width:400px
	}
	.container .eight.columns {
	    width:460px
	}
	.container .nine.columns {
	    width:520px
	}
	.container .ten.columns {
	    width:580px
	}
	.container .eleven.columns {
	    width:640px
	}
	.container .twelve.columns {
	    width:700px
	}
	.container .thirteen.columns {
	    width:760px
	}
	.container .fourteen.columns {
	    width:820px
	}
	.container .fifteen.columns {
	    width:880px
	}
	.container .sixteen.columns {
	    width:940px
	}
	.container .one-third.column {
	    width:300px
	}
	.container .two-thirds.column {
	    width:620px
	}
	.container .offset-by-one {
	    padding-left:60px
	}
	.container .offset-by-two {
	    padding-left:120px
	}
	.container .offset-by-three {
	    padding-left:180px
	}
	.container .offset-by-four {
	    padding-left:240px
	}
	.container .offset-by-five {
	    padding-left:300px
	}
	.container .offset-by-six {
	    padding-left:360px
	}
	.container .offset-by-seven {
	    padding-left:420px
	}
	.container .offset-by-eight {
	    padding-left:480px
	}
	.container .offset-by-nine {
	    padding-left:540px
	}
	.container .offset-by-ten {
	    padding-left:600px
	}
	.container .offset-by-eleven {
	    padding-left:660px
	}
	.container .offset-by-twelve {
	    padding-left:720px
	}
	.container .offset-by-thirteen {
	    padding-left:780px
	}
	.container .offset-by-fourteen {
	    padding-left:840px
	}
	.container .offset-by-fifteen {
	    padding-left:900px
	}
	@media only screen and (min-width:768px) and (max-width:959px) {
	    .container {
	        width:768px
	    }
	    .container .column, .container .columns {
	        margin-left:10px;
	        margin-right:10px
	    }
	    .column.alpha, .columns.alpha {
	        margin-left:0;
	        margin-right:10px
	    }
	    .column.omega, .columns.omega {
	        margin-right:0;
	        margin-left:10px
	    }
	    .alpha.omega {
	        margin-left:0;
	        margin-right:0
	    }
	    .container .one.column, .container .one.columns {
	        width:28px
	    }
	    .container .two.columns {
	        width:76px
	    }
	    .container .three.columns {
	        width:124px
	    }
	    .container .four.columns {
	        width:172px
	    }
	    .container .five.columns {
	        width:220px
	    }
	    .container .six.columns {
	        width:268px
	    }
	    .container .seven.columns {
	        width:316px
	    }
	    .container .eight.columns {
	        width:364px
	    }
	    .container .nine.columns {
	        width:412px
	    }
	    .container .ten.columns {
	        width:460px
	    }
	    .container .eleven.columns {
	        width:508px
	    }
	    .container .twelve.columns {
	        width:556px
	    }
	    .container .thirteen.columns {
	        width:604px
	    }
	    .container .fourteen.columns {
	        width:652px
	    }
	    .container .fifteen.columns {
	        width:700px
	    }
	    .container .sixteen.columns {
	        width:748px
	    }
	    .container .one-third.column {
	        width:236px
	    }
	    .container .two-thirds.column {
	        width:492px
	    }
	    .container .offset-by-one {
	        padding-left:48px
	    }
	    .container .offset-by-two {
	        padding-left:96px
	    }
	    .container .offset-by-three {
	        padding-left:144px
	    }
	    .container .offset-by-four {
	        padding-left:192px
	    }
	    .container .offset-by-five {
	        padding-left:240px
	    }
	    .container .offset-by-six {
	        padding-left:288px
	    }
	    .container .offset-by-seven {
	        padding-left:336px
	    }
	    .container .offset-by-eight {
	        padding-left:384px
	    }
	    .container .offset-by-nine {
	        padding-left:432px
	    }
	    .container .offset-by-ten {
	        padding-left:480px
	    }
	    .container .offset-by-eleven {
	        padding-left:528px
	    }
	    .container .offset-by-twelve {
	        padding-left:576px
	    }
	    .container .offset-by-thirteen {
	        padding-left:624px
	    }
	    .container .offset-by-fourteen {
	        padding-left:672px
	    }
	    .container .offset-by-fifteen {
	        padding-left:720px
	    }
	}
	@media only screen and (max-width:767px) {
	    .port-foto-h, .port-foto-int1, .port-foto-int2 {
	        width:100%!important;
	    }
	    .container {
	        width:300px
	    }
	    .container .column, .container .columns {
	        margin:0
	    }
	    .container .eight.columns, .container .eleven.columns, .container .fifteen.columns, .container .five.columns, .container .four.columns, .container .fourteen.columns, .container .nine.columns, .container .one-third.column, .container .one.column, .container .one.columns, .container .seven.columns, .container .six.columns, .container .sixteen.columns, .container .ten.columns, .container .thirteen.columns, .container .three.columns, .container .twelve.columns, .container .two-thirds.column, .container .two.columns {
	        width:300px
	    }
	    .container .offset-by-eight, .container .offset-by-eleven, .container .offset-by-fifteen, .container .offset-by-five, .container .offset-by-four, .container .offset-by-fourteen, .container .offset-by-nine, .container .offset-by-one, .container .offset-by-seven, .container .offset-by-six, .container .offset-by-ten, .container .offset-by-thirteen, .container .offset-by-three, .container .offset-by-twelve, .container .offset-by-two {
	        padding-left:0
	    }
	}
	@media only screen and (min-width:480px) and (max-width:767px) {
	    .port-foto-h, .port-foto-int1, .port-foto-int2 {
	        width:100%!important;
	    }
	    .container {
	        width:420px
	    }
	    .container .column, .container .columns {
	        margin:0
	    }
	    .container .eight.columns, .container .eleven.columns, .container .fifteen.columns, .container .five.columns, .container .four.columns, .container .fourteen.columns, .container .nine.columns, .container .one-third.column, .container .one.column, .container .one.columns, .container .seven.columns, .container .six.columns, .container .sixteen.columns, .container .ten.columns, .container .thirteen.columns, .container .three.columns, .container .twelve.columns, .container .two-thirds.column, .container .two.columns {
	        width:420px
	    }
	}
	.container:after {
	    content:"020";
	    display:block;
	    height:0;
	    clear:both;
	    visibility:hidden
	}
	.clearfix:after, .clearfix:before, .row:after, .row:before {
	    content:'020';
	    display:block;
	    overflow:hidden;
	    visibility:hidden;
	    width:0;
	    height:0
	}
	.clearfix:after, .row:after {
	    clear:both
	}
	.clearfix, .row {
	    zoom:1
	}
	.clear {
	    clear:both;
	    display:block;
	    overflow:hidden;
	    visibility:hidden;
	    width:0;
	    height:0
	}
	@media only screen and (min-width:768px) and (max-width:959px) {
	    .menusec ul li {
	        margin-bottom:9.8px
	    }
	    .menusec ul span a {
	        width:100%;
	        height:72px;
	        display:block;
	        background:url(../images/bgmenusec.jpg) repeat-x
	    }
	    .menusec ul li {
	        text-indent:-5000px;
	        width:100%;
	        height:72px
	    }
	    .menusec ul li.a {
	        background:url(../images/bgmenusec.jpg) repeat-x -45px -20px
	    }
	    .menusec ul li.b {
	        background:url(../images/bgmenusec.jpg) repeat-x -265px -20px
	    }
	    .menusec ul li.c {
	        background:url(../images/bgmenusec.jpg) repeat-x -485px -20px
	    }
	    .menusec ul li.d {
	        background:url(../images/bgmenusec.jpg) repeat-x -705px -20px
	    }
	    .menusec ul .idt a {
	        background-position:-45px -112px
	    }
	    .menusec ul .web a {
	        background-position:-265px -112px
	    }
	    .menusec ul .imp a {
	        background-position:-485px -112px
	    }
	    .menusec ul .cam a {
	        background-position:-705px -112px
	    }
	    .menusec_int h3 {
	        font-size:20px
	    }
	    .menusec_int ul li.a {
	        background:url(../images/bgmenusec.jpg) repeat-x -40px -46px
	    }
	    .menusec_int ul li.b {
	        background:url(../images/bgmenusec.jpg) repeat-x -260px -46px
	    }
	    .menusec_int ul li.c {
	        background:url(../images/bgmenusec.jpg) repeat-x -480px -46px
	    }
	    .menusec_int ul li.d {
	        background:url(../images/bgmenusec.jpg) repeat-x -700px -46px
	    }
	    .menusec_int ul .idt a {
	        background-position:-40px -138px
	    }
	    .menusec_int ul .web a {
	        background-position:-260px -138px
	    }
	    .menusec_int ul .imp a {
	        background-position:-480px -138px
	    }
	    .menusec_int ul .cam a {
	        background-position:-700px -138px
	    }
	    .menusec_int ul li.activea {
	        background:url(../images/bgmenusec.jpg) repeat-x -40px -138px
	    }
	    .menusec_int ul li.activeb {
	        background:url(../images/bgmenusec.jpg) repeat-x -260px -138px
	    }
	    .menusec_int ul li.activec {
	        background:url(../images/bgmenusec.jpg) repeat-x -480px -138px
	    }
	    .menusec_int ul li.actived {
	        background:url(../images/bgmenusec.jpg) repeat-x -700px -138px
	    }
	    .spacer {
	        margin:30px 0
	    }
	    .portfolio h4 {
	        margin-bottom:40px
	    }
	    .portfolio .bgimg {
	        background-position:-24px -14px
	    }
	    .social {
	        padding:10px 0
	    }
	    .social div {
	        width:30px;
	        height:30px;
	        float:left;
	        margin:0 6.5px
	    }
	    .royalSlider {
	        height:317px!important
	    }
	    .blog {
	        font-size:11px;
	        line-height:1.8em
	    }
	    .noticias h3 {
	        height:75px
	    }
	    .atuacao .bgimg {
	        background:url(../images/mais.png) no-repeat -24px 7px #000
	    }
	    .atuacao_int .bgimg {
	        background:url(../images/mais.png) no-repeat -46px -8px #000
	    }
		.atuacao_int p { height:190px!important; }
		.atuacao_int h3 { height:40px!important; }



	}
	@media only screen and (max-width:767px) {
	    .port-foto-h, .port-foto-int1, .port-foto-int2 {
	        margin-left:0!important;
	        width:100%!important;
	    }


	    #vertical {
	        margin-top:20px
	    }
	    .projeto_main {
	        display:none
	    }
	    .atuacao .bgimg {
	        float:left;
	        width:40%;
	        margin-right:10px
	    }
	    .distance {
	        display:block;
	        margin-bottom:20px
	    }
	    h2 {
	        line-height:1.2em
	    }
	    header {
	        height:170px
	    }
	    .menusec ul li, .menusec_int ul li {
	        margin-bottom:20px;
	        margin-right:1px
	    }
	    .menusec ul li.ult, .menusec_int ul li.ult {
	        margin-right:0
	    }
	    .menusec ul span a, .menusec_int ul span a {
	        width:100%;
	        height:72px;
	        display:block;
	        background:url(../images/bgmenusec2.jpg) repeat-x
	    }
	    .menusec ul li, .menusec_int ul li {
	        text-indent:-5000px;
	        width:24.8%;
	        height:72px;
	        float:left
	    }
	    .menusec ul li.a, .menusec_int ul li.a {
	        background:url(../images/bgmenusec2.jpg) repeat-x -114px -20px
	    }
	    .menusec ul li.b, .menusec_int ul li.b {
	        background:url(../images/bgmenusec2.jpg) repeat-x -334px -20px
	    }
	    .menusec ul li.c, .menusec_int ul li.c {
	        background:url(../images/bgmenusec2.jpg) repeat-x -554px -20px
	    }
	    .menusec ul li.d, .menusec_int ul li.d {
	        background:url(../images/bgmenusec2.jpg) repeat-x -774px -20px
	    }
	    .menusec ul .idt a, .menusec_int ul .idt a {
	        background-position:-114px -112px
	    }
	    .menusec ul .web a, .menusec_int ul .web a {
	        background-position:-334px -112px
	    }
	    .menusec ul .imp a, .menusec_int ul .imp a {
	        background-position:-554px -112px
	    }
	    .menusec ul .cam a, .menusec_int ul .cam a {
	        background-position:-774px -112px
	    }
	    .portfolio .bgimg {
	        background-position:100px 65px
	    }
	    .about div {
	        padding-bottom:20px
	    }
	    .cliente_main img {
	        width:40%;
	        float:left;
	        margin-right:10px
	    }
	    .noticias img {
	        margin-bottom:20px
	    }



	}
	@media only screen and (min-width:480px) and (max-width:767px) {
	    h1 a {
	        left:32%
	    }
	    .spacer {
	        margin:30px 0
	    }
	    .who .bgimg {
	        width:30%;
	        margin-right:10px
	    }
	    .atuacao_int .box {
	        width:100%;
	        clear: both;
	        margin-right:0;
	        height:auto;
	        margin-bottom: 30px: 
	    }
	    form.contact select {
	        width:100%;
	        height:48px
	    }
	    form.contact .btn {
	        margin-right:15px
	    }
	}
	@media only screen and (max-width:479px) {
	    h1 a {
	        left:0
	    }




	    span.tipo {
	        position:relative
	    }
	    .who .bgimg {
	        width:40%;
	        margin-right:10px
	    }
	    .menusec ul span a, .menusec_int ul span a {
	        height:60px;
	        background:url(../images/bgmenusec3.jpg) repeat-x
	    }
	    .menusec ul li, .menusec_int ul li {
	        width:24.6%;
	        height:60px
	    }
	    .menusec ul li.a, .menusec_int ul li.a {
	        background:url(../images/bgmenusec3.jpg) repeat-x -114px -20px
	    }
	    .menusec ul li.b, .menusec_int ul li.b {
	        background:url(../images/bgmenusec3.jpg) repeat-x -334px -20px
	    }
	    .menusec ul li.c, .menusec_int ul li.c {
	        background:url(../images/bgmenusec3.jpg) repeat-x -554px -20px
	    }
	    .menusec ul li.d, .menusec_int ul li.d {
	        background:url(../images/bgmenusec3.jpg) repeat-x -774px -20px
	    }
	    .spacer {
	        margin:25px 0
	    }
	    .portfolio .bgimg {
	        background-position:40px 28px
	    }
	    .about div {
	        padding-bottom:20px
	    }
	    .projetoC {
	        width:48%;
	        float:left;
	        margin-right:2%;
	        margin-bottom:30px
	    }
	    .projetoC img {
	        width:100%
	    }
	    .atuacao_int h3 {
	        font-size:24px
	    }
	    .atuacao_int .box {
	        width:100%;
	        clear: both;
	        margin-right:0;
	        margin-bottom: 50px; 
	        height:auto;
	    }
	    form.contact label {
	        width:100%
	    }
	    form.contact input {
	        width:91%
	    }
	    form.contact select {
	        width:98%
	    }
	    form.contact .btn {
	        margin-right:0
	    }
	}
	#tooltip {
	    width:auto;
	    max-width:300px;
	    min-width:30px;
	    border:none;
	    background:#333;
	    padding:5px;
	    margin-top:4px;
	    font-size:12px;
	    color:#696969
	}
	#tooltip #ttimg.top {
	    margin-top:-17px;
	    margin-left:2px
	}
	#tooltip #ttimg.bottom {
	    bottom:0;
	    margin-bottom:-12px;
	    margin-left:2px
	}
	#tooltip.default {
	    border:none;
	    background:#333;
	    color:#fff;
	    -webkit-border-radius:1px;
	    -moz-border-radius:1px;
	    border-radius:1px;
	    margin-top:2px;
	    padding:2px 0 2px 5px
	}
	#tooltip.default #ttimg.top {
	    position:absolute;
	    margin-top:-8px;
	    margin-left:-8px
	}
	#tooltip.default #ttimg.bottom {
	    position:absolute;
	    bottom:0;
	    margin-bottom:-3px;
	    margin-left:-8px
	}
	.cliente img, .cliente_ult img {
	    -webkit-filter: grayscale(100%);
	    filter: grayscale(100%);
	    -moz-filter: grayscale(100%);
	    -ms-filter: grayscale(100%);
	    -o-filter: grayscale(100%);
	}
	.cliente img:hover, .cliente_ult img:hover {
	    -webkit-filter: grayscale(0%);
	    filter: grayscale(0%);
	    -moz-filter: grayscale(0%);
	    -ms-filter: grayscale(0%);
	    -o-filter: grayscale(0%);
	}


























  /*media queries*/

  /* =========================================================
   MOBILE OVERRIDES FINAIS
   colar no fim absoluto de base-min.css
========================================================= */

@media (max-width: 767px) {

  html,
  body {
    overflow-x: hidden;
  }

  body {
    padding-top: 88px;
  }

  .container,
  .sixteen.columns,
  .featured,
  .portfolio,
  .nuvon-brand-marquee,
  .home-instagram,
  .portfolio-cta-strip,
  .nuvon-top-banner {
    max-width: 100% !important;
  }

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

  .site-header {
    min-height: 88px;
  }

  .site-header__bar {
    width: calc(100% - 28px);
    max-width: 100%;
    min-height: 88px;
    margin: 0 auto;
    padding: 14px 0;
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    column-gap: 14px;
  }

  .site-header__brand {
    display: flex;
    align-items: center;
  }

  .site-header__brand h1,
  .site-header__brand a {
    margin: 0;
  }

  .site-header__brand h1 a,
  .site-header__brand > a {
    width: 122px;
    height: 52px;
    background-size: contain;
    background-position: left center;
  }

  .site-header__social {
    justify-self: end;
    display: flex;
    align-items: center;
    gap: 12px;
  }

  .site-header__social a {
    width: 20px;
    height: 20px;
  }

  .site-header__social i {
    font-size: 19px;
  }

  /* deixa o css pronto pro menu hambúrguer */
  .site-header__toggle {
    display: inline-flex;
    width: 40px;
    height: 40px;
    border: 1px solid rgba(26, 26, 26, 0.16);
    border-radius: 999px;
    background: transparent;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    padding: 0;
  }

  .site-header__toggle span,
  .site-header__toggle:before,
  .site-header__toggle:after {
    content: "";
    display: block;
    width: 18px;
    height: 2px;
    border-radius: 999px;
    background: #1a1a1a;
    transition: transform 0.24s ease, opacity 0.24s ease;
  }

  .site-header__toggle span {
    position: relative;
  }

  .site-header__toggle span:before,
  .site-header__toggle span:after {
    content: "";
    position: absolute;
    left: 0;
    width: 18px;
    height: 2px;
    border-radius: 999px;
    background: #1a1a1a;
    transition: transform 0.24s ease, opacity 0.24s ease;
  }

  .site-header__toggle span:before {
    top: -6px;
  }

  .site-header__toggle span:after {
    top: 6px;
  }

  .site-header__nav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    display: none;
    background: rgba(245, 242, 240, 0.98);
    border-top: 1px solid rgba(26, 26, 26, 0.08);
    border-bottom: 1px solid rgba(26, 26, 26, 0.08);
    padding: 10px 18px 16px;
  }

  .site-header.is-open .site-header__nav {
    display: block;
  }

  .site-header__nav ul {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin: 0;
    padding: 0;
  }

  .site-header__nav li {
    width: 100%;
  }

  .site-header__nav a {
    display: block;
    padding: 12px 0;
    font-size: 14px;
    letter-spacing: 0.12em;
    border-bottom: 1px solid rgba(26, 26, 26, 0.06);
  }

  .site-header__nav li:last-child a {
    border-bottom: 0;
  }

  /* =========================
     HERO / KALEIDO
  ========================= */

  .featured {
    min-height: 370px !important;
    height: auto !important;
    padding: 26px 22px 28px !important;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .featured .hero-copy {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    text-align: center !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
  }

  .featured .hero-copy > * {
    text-align: center !important;
  }

  .featured .hero-copy h2,
  #topo {
    width: 100%;
    max-width: 100%;
    margin: 0 auto !important;
    text-align: center !important;
    font-size: 34px !important;
    line-height: 1.06 !important;
    letter-spacing: -0.03em;
  }

  .featured .hero-copy h2 span,
  #topo span {
    display: block;
  }

  .featured .hero-copy p {
    width: 100%;
    max-width: 320px;
    margin: 0 auto !important;
    text-align: center !important;
    font-size: 18px !important;
    line-height: 1.38 !important;
  }

  .hero-actions {
    width: 100%;
    max-width: 320px;
    margin: 6px auto 0 !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }

  .hero-cta,
  .hero-whatsapp {
    width: 100%;
    max-width: 320px;
    min-height: 52px;
    padding: 0 22px !important;
    justify-content: center !important;
    text-align: center !important;
    border-radius: 999px !important;
    white-space: nowrap;
  }

  .hero-cta span,
  .hero-whatsapp span,
  .hero-whatsapp i {
    flex: 0 0 auto;
  }

  /* evita sensação de travamento no mobile */
  .portfolio .four.columns,
  .portfolio .four.columns.is-visible {
    opacity: 1 !important;
    transition: none !important;
    transform: none !important;
  }

  /* =========================
     FAIXA DE DADOS
  ========================= */

  .nuvon-top-banner {
    width: calc(100% - 28px);
    margin: 30px auto 26px !important;
    padding: 26px 18px !important;
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    text-align: center;
  }

  .nuvon-top-banner-title {
    width: 100%;
    max-width: 290px;
    margin: 0 auto 2px !important;
    text-align: center !important;
    font-size: 31px !important;
    line-height: 1.08 !important;
  }

  .nuvon-top-banner__item {
    width: 100%;
    max-width: 260px;
    margin: 0 auto !important;
    text-align: center !important;
    align-items: center !important;
  }

  .nuvon-top-banner__item:before {
    width: 100% !important;
    margin: 0 auto 14px !important;
  }

  .nuvon-top-banner__icon {
    margin: 0 auto 14px !important;
  }

  .nuvon-top-banner__item strong {
    font-size: 25px !important;
    line-height: 1 !important;
  }

  .nuvon-top-banner__item small {
    font-size: 10px !important;
    line-height: 1.35 !important;
    letter-spacing: 0.16em !important;
  }

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

  .portfolio-title {
    margin-top: 26px !important;
    margin-bottom: 18px !important;
    font-size: 14px !important;
    letter-spacing: 0.16em !important;
  }

  .portfolio {
    width: 100% !important;
    margin: 0 0 24px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    gap: 1px !important;
    justify-content: flex-start !important;
  }

  .portfolio .four.columns {
    width: calc((100% - 1px) / 2) !important;
    margin: 0 !important;
  }

  /* mobile: mostrar só 14 */
  .portfolio .four.columns:nth-child(n + 15) {
    display: none !important;
  }

  .portfolio .bgimg img,
  .portfolio img.projeto {
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
  }

  .portfolio h5 {
    padding: 18px 10px 10px !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    letter-spacing: 0.08em !important;
  }

  /* =========================
     CTA PORTFOLIO
  ========================= */

  .portfolio-cta-strip {
    width: calc(100% - 28px);
    margin: 26px auto 30px !important;
    padding: 20px 18px !important;
  }

  .portfolio-cta-strip__inner {
    display: flex;
    flex-direction: column;
    gap: 18px;
    align-items: stretch;
  }

  .portfolio-cta-strip__text,
  .portfolio-cta-strip__action {
    width: 100%;
    max-width: 100%;
  }

  .portfolio-cta-strip__title {
    font-size: 12px !important;
    letter-spacing: 0.16em !important;
  }

  .portfolio-cta-strip__headline {
    font-size: 26px !important;
    line-height: 1.12 !important;
    margin-bottom: 0 !important;
  }

  .portfolio-cta-strip__button {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 54px;
    padding: 0 18px !important;
    border-radius: 999px !important;
    justify-content: center !important;
  }

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

  .nuvon-brand-marquee {
    width: 100vw !important;
    margin: 30px 0 !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 28px 0 !important;
    border-radius: 0 !important;
  }

  .nuvon-brand-marquee__bg {
    border-radius: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
  }

  .nuvon-brand-marquee h2 {
    margin-bottom: 20px !important;
    font-size: 13px !important;
    letter-spacing: 0.16em !important;
    padding: 0 20px;
  }

  .nuvon-brand-marquee__group {
    gap: 26px !important;
    padding: 0 16px !important;
  }

  .nuvon-brand-marquee__group img {
    max-width: 132px !important;
    max-height: 58px !important;
  }

  .nuvon-brand-marquee__viewport::before,
  .nuvon-brand-marquee__viewport::after {
    width: 28px !important;
  }

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

  .home-instagram {
    width: calc(100% - 28px);
    margin: 34px auto 34px !important;
    padding: 0 !important;
  }

  .home-instagram__intro {
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: stretch;
    margin-bottom: 18px !important;
  }

  .home-instagram__eyebrow {
    font-size: 12px !important;
    letter-spacing: 0.16em !important;
  }

  .home-instagram__title {
    font-size: 30px !important;
    line-height: 1.08 !important;
    max-width: 100% !important;
  }

  .home-instagram__profile {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 52px;
    padding: 0 18px !important;
    border-radius: 999px !important;
    justify-content: center !important;
  }

  .home-instagram__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 1px !important;
  }

  .home-instagram__card:nth-child(n + 7) {
    display: none !important;
  }

  .home-instagram__thumb {
    aspect-ratio: 1 / 1 !important;
  }

  .home-instagram__caption {
    font-size: 10px !important;
    line-height: 1.22 !important;
    padding: 8px 8px 10px !important;
    margin: 0 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  /* =========================
     BOTÕES FLUTUANTES
  ========================= */

  .botao-insta {
    display: none !important;
  }

  .botao-zap {
    right: 14px !important;
    bottom: 14px !important;
    transform: scale(0.88);
    transform-origin: right bottom;
  }
}

@media (max-width: 479px) {

  body {
    padding-top: 84px;
  }

  .site-header {
    min-height: 84px;
  }

  .site-header__bar {
    width: calc(100% - 24px);
    min-height: 84px;
    padding: 12px 0;
    column-gap: 10px;
    grid-template-columns: 1fr auto auto;
  }

  .site-header__brand h1 a,
  .site-header__brand > a {
    width: 112px;
    height: 48px;
  }

  .site-header__social {
    gap: 10px;
  }

  .site-header__social a {
    width: 18px;
    height: 18px;
  }

  .site-header__social i {
    font-size: 17px;
  }

  .featured {
    min-height: 350px !important;
    padding: 22px 16px 24px !important;
  }

  .featured .hero-copy h2,
  #topo {
    font-size: 29px !important;
  }

  .featured .hero-copy p {
    font-size: 16px !important;
    max-width: 290px;
  }

  .hero-actions,
  .hero-cta,
  .hero-whatsapp {
    max-width: 100%;
  }

  .nuvon-top-banner {
    width: calc(100% - 24px);
    padding: 22px 14px !important;
  }

  .nuvon-top-banner-title {
    font-size: 27px !important;
  }

  .nuvon-top-banner__item strong {
    font-size: 22px !important;
  }

  .portfolio-cta-strip,
  .home-instagram {
    width: calc(100% - 24px);
  }

  .portfolio-cta-strip__headline {
    font-size: 22px !important;
  }

  .nuvon-brand-marquee h2 {
    font-size: 12px !important;
  }

  .nuvon-brand-marquee__group img {
    max-width: 118px !important;
    max-height: 52px !important;
  }

  .home-instagram__title {
    font-size: 26px !important;
  }

  .home-instagram__caption {
    font-size: 9px !important;
    line-height: 1.18 !important;
  }
}