@import "https://fonts.googleapis.com/css?family=Arapey:100,400,400i|Roboto:100,400,700";

html {
  -webkit-text-size-adjust: 100%;

  line-height: 1.15;
}

body {
  margin: 0;
}

.pulse-loading:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background: rgb(255 255 255 / 95%);
  border-radius: 8px;
  z-index: 999;
}

.pulse-loading::after {
  content: "";
  box-sizing: border-box;
  border-radius: 50%;
  z-index: 9999;
  animation: 1.15s cubic-bezier(0.215, 0.61, 0.355, 1) infinite pulse-loading;
  border: 0 solid #000;
  box-sizing: border-box;
  height: 0;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 0;
}

.pulse-loading {
  position: relative;
}

@keyframes pulse-loading {
  0% {
    height: 0;
    width: 0;
  }

  30% {
    border-width: 6px;
    height: 20px;
    opacity: 1;
    width: 20px;
  }

  to {
    border-width: 0;
    height: 20px;
    opacity: 0;
    width: 20px;
  }
}

.top-line-loader {
  position: fixed;

  top: 0;

  left: 0;

  width: 100%;

  height: 3px;

  background: transparent;

  z-index: 9999;

  pointer-events: none;

  transition: opacity 0.3s ease;
}

.top-line-loader__bar {
  display: block;

  width: 0;

  height: 100%;

  background: linear-gradient(90deg, #0044ff 0%, #00d4ff 50%, #00ffa3 100%);

  transition: width 0.2s ease;
}

body.menu-open {
  overflow: hidden;
}

.top-line-loader--complete .top-line-loader__bar {
  transition: width 0.15s ease;
}

.top-line-loader--hidden {
  opacity: 0;
}

.parallax-section {
  position: relative;

  background-repeat: no-repeat;

  background-size: cover;

  background-position: center center;

  will-change: background-position;
}

.parallax-section.parallax-attachment-fixed {
  background-attachment: fixed;
}

.parallax-section.parallax-attachment-scroll {
  background-attachment: scroll;
}

.parallax-section.parallax-attachment-local {
  background-attachment: local;
}

.parallax-section .parallax-overlay {
  position: absolute;

  top: 0;

  right: 0;

  bottom: 0;

  left: 0;

  pointer-events: none;
}

@media (max-width: 991px) {
  .parallax-section,
  .parallax-section.parallax-attachment-fixed,
  .parallax-section.parallax-attachment-local {
    background-attachment: scroll !important;

    background-position: center center !important;
  }
}

h1 {
  font-size: 2em;

  margin: 0.67em 0;
}

hr {
  box-sizing: content-box;

  height: 0;

  overflow: visible;
}

pre {
  font-family: monospace, monospace;

  font-size: 1em;
}

a {
  background-color: transparent;
}

abbr[title] {
  border-bottom: none;

  text-decoration: underline;

  text-decoration: underline dotted;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace, monospace;

  font-size: 1em;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;

  line-height: 0;

  position: relative;

  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;

  font-size: 100%;

  line-height: 1.15;

  margin: 0;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

[type="button"],
[type="reset"],
[type="submit"],
button {
  -webkit-appearance: button;

  appearance: button;
}

[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner,
button::-moz-focus-inner {
  border-style: none;

  padding: 0;
}

[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring,
button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  box-sizing: border-box;

  color: inherit;

  display: table;

  max-width: 100%;

  padding: 0;

  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;

  padding: 0;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

[type="search"] {
  -webkit-appearance: textfield;

  appearance: textfield;

  outline-offset: -2px;
}

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;

  font: inherit;
}

details {
  display: block;
}

summary {
  display: list-item;
}

[hidden],
template {
  display: none;
}

header nav ul li a:hover {
  position: relative;
}

@media screen and (min-width: 728px) {
  header.header nav ul li a {
    font-size: 1.28em;
  }

  header.header nav ul li a:hover:after,
  header.header nav ul li a:hover:before {
    background: #000;

    clip: rect(0, 900px, 0, 0);

    color: #fff;

    content: attr(data-text);

    display: block;

    opacity: 1;

    overflow: hidden;

    position: absolute;

    top: 0;

    width: 100%;
  }

  header.header nav ul li a:hover {
    position: relative;

    color: #000;

    text-shadow: 3px 3px 5px #fff;
  }
}

@keyframes noise-anim {
  0% {
    clip: rect(86px, 9999px, 14px, 0);
  }

  2.94118% {
    clip: rect(26px, 9999px, 31px, 0);
  }

  5.88235% {
    clip: rect(54px, 9999px, 46px, 0);
  }

  8.82353% {
    clip: rect(48px, 9999px, 85px, 0);
  }

  11.76471% {
    clip: rect(12px, 9999px, 62px, 0);
  }

  14.70588% {
    clip: rect(37px, 9999px, 77px, 0);
  }

  17.64706% {
    clip: rect(9px, 9999px, 19px, 0);
  }

  20.58824% {
    clip: rect(39px, 9999px, 88px, 0);
  }

  23.52941% {
    clip: rect(46px, 9999px, 95px, 0);
  }

  26.47059% {
    clip: rect(27px, 9999px, 84px, 0);
  }

  29.41176% {
    clip: rect(20px, 9999px, 46px, 0);
  }

  32.35294% {
    clip: rect(15px, 9999px, 44px, 0);
  }

  35.29412% {
    clip: rect(34px, 9999px, 53px, 0);
  }

  38.23529% {
    clip: rect(23px, 9999px, 46px, 0);
  }

  41.17647% {
    clip: rect(42px, 9999px, 78px, 0);
  }

  44.11765% {
    clip: rect(35px, 9999px, 10px, 0);
  }

  47.05882% {
    clip: rect(60px, 9999px, 52px, 0);
  }

  50% {
    clip: rect(80px, 9999px, 27px, 0);
  }

  52.94118% {
    clip: rect(99px, 9999px, 27px, 0);
  }

  55.88235% {
    clip: rect(7px, 9999px, 44px, 0);
  }

  58.82353% {
    clip: rect(81px, 9999px, 95px, 0);
  }

  61.76471% {
    clip: rect(76px, 9999px, 57px, 0);
  }

  64.70588% {
    clip: rect(17px, 9999px, 39px, 0);
  }

  67.64706% {
    clip: rect(74px, 9999px, 48px, 0);
  }

  70.58824% {
    clip: rect(53px, 9999px, 90px, 0);
  }

  73.52941% {
    clip: rect(59px, 9999px, 73px, 0);
  }

  76.47059% {
    clip: rect(1px, 9999px, 53px, 0);
  }

  79.41176% {
    clip: rect(37px, 9999px, 56px, 0);
  }

  82.35294% {
    clip: rect(44px, 9999px, 1px, 0);
  }

  85.29412% {
    clip: rect(77px, 9999px, 29px, 0);
  }

  88.23529% {
    clip: rect(15px, 9999px, 93px, 0);
  }

  91.17647% {
    clip: rect(5px, 9999px, 96px, 0);
  }

  94.11765% {
    clip: rect(53px, 9999px, 46px, 0);
  }

  97.05882% {
    clip: rect(89px, 9999px, 48px, 0);
  }

  to {
    clip: rect(75px, 9999px, 92px, 0);
  }
}

@keyframes noise-anim-2 {
  0% {
    clip: rect(40px, 9999px, 89px, 0);
  }

  2.94118% {
    clip: rect(89px, 9999px, 5px, 0);
  }

  5.88235% {
    clip: rect(48px, 9999px, 9px, 0);
  }

  8.82353% {
    clip: rect(47px, 9999px, 15px, 0);
  }

  11.76471% {
    clip: rect(57px, 9999px, 27px, 0);
  }

  14.70588% {
    clip: rect(59px, 9999px, 43px, 0);
  }

  17.64706% {
    clip: rect(42px, 9999px, 45px, 0);
  }

  20.58824% {
    clip: rect(43px, 9999px, 31px, 0);
  }

  23.52941% {
    clip: rect(90px, 9999px, 95px, 0);
  }

  26.47059% {
    clip: rect(41px, 9999px, 20px, 0);
  }

  29.41176% {
    clip: rect(73px, 9999px, 63px, 0);
  }

  32.35294% {
    clip: rect(93px, 9999px, 11px, 0);
  }

  35.29412% {
    clip: rect(17px, 9999px, 74px, 0);
  }

  38.23529% {
    clip: rect(77px, 9999px, 1px, 0);
  }

  41.17647% {
    clip: rect(75px, 9999px, 37px, 0);
  }

  44.11765% {
    clip: rect(73px, 9999px, 15px, 0);
  }

  47.05882% {
    clip: rect(15px, 9999px, 39px, 0);
  }

  50% {
    clip: rect(70px, 9999px, 81px, 0);
  }

  52.94118% {
    clip: rect(39px, 9999px, 24px, 0);
  }

  55.88235% {
    clip: rect(15px, 9999px, 83px, 0);
  }

  58.82353% {
    clip: rect(43px, 9999px, 78px, 0);
  }

  61.76471% {
    clip: rect(28px, 9999px, 61px, 0);
  }

  64.70588% {
    clip: rect(77px, 9999px, 8px, 0);
  }

  67.64706% {
    clip: rect(52px, 9999px, 67px, 0);
  }

  70.58824% {
    clip: rect(23px, 9999px, 86px, 0);
  }

  73.52941% {
    clip: rect(89px, 9999px, 36px, 0);
  }

  76.47059% {
    clip: rect(7px, 9999px, 27px, 0);
  }

  79.41176% {
    clip: rect(90px, 9999px, 23px, 0);
  }

  82.35294% {
    clip: rect(83px, 9999px, 76px, 0);
  }

  85.29412% {
    clip: rect(45px, 9999px, 8px, 0);
  }

  88.23529% {
    clip: rect(57px, 9999px, 76px, 0);
  }

  91.17647% {
    clip: rect(51px, 9999px, 68px, 0);
  }

  94.11765% {
    clip: rect(50px, 9999px, 87px, 0);
  }

  97.05882% {
    clip: rect(70px, 9999px, 67px, 0);
  }

  to {
    clip: rect(90px, 9999px, 81px, 0);
  }
}

@keyframes preload-anim {
  0% {
    fill: #ab7857;
  }

  to {
    fill: #fff;
  }
}

body,
html {
  height: 100%;

  width: 100%;
}

body {
  -moz-font-smoothing: antialiased;

  -moz-osx-font-smoothing: grayscale;

  -o-font-smoothing: antialiased;

  -webkit-font-smoothing: antialiased;

  background: #ffffff;

  color: #fff;

  font-family: Roboto, Helvetica, Arial, sans-serif;

  font-size: 14px;

  image-rendering: auto;

  text-rendering: optimizeLegibility !important;
}

* {
  box-sizing: border-box;

  margin: 0;

  outline: none;

  padding: 0;
}

::selection {
  background: #ab7857;

  color: #fff;
}

.menu.desktop {
  width: auto !important;
}

header.header {
  background: rgba(255, 255, 255, 0.1);

  backdrop-filter: blur(10px);

  background-color: #1a1a1a85;

  color: #fff;

  display: flex;

  padding: 16px;

  position: fixed;

  top: 0;

  width: 100%;

  height: 60px;

  z-index: 999;

  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

header.header .container {
  width: 100%;

  margin: 0 auto;

  display: flex;

  align-items: center;

  justify-content: space-between;

  padding-top: 10px;

  padding-right: 0px;

  padding-left: 0px;

  margin-right: auto;

  margin-left: auto;
}

.nav-menu a {
  color: #fff;

  text-decoration: none;

  margin-left: 20px;

  font-size: 0.95rem;

  transition: color 0.3s;
}

header.header[aria-open="true"] .menu {
  cursor: alias;
}

header.header .menu__brand {
  background: #84b6af;

  display: block;

  height: 42px;

  width: 42px;
}

header.header .menu__brand img {
  display: block;

  width: 42px;
}

header.header .nav-menu {
  background: #000;

  height: 100vh;

  position: absolute;

  right: 0;

  top: 0;

  width: 0;
}

header.header .nav-menu ul {
  list-style: none;
}

.nav-menu {
  width: 0;

  overflow: hidden;

  transition: 0.3s;
}

header.header nav {
  display: flex;

  height: 100%;

  justify-content: flex-start;

  min-width: 360px;

  overflow: hidden;

  width: 100%;

  align-items: flex-start;

  align-content: center;
}

header.header .menu.desktop ul {
  list-style: none;

  display: flex;

  justify-content: center;

  align-items: baseline;
}

header.header nav ul li {
  margin: 10px 0;
}

header.header nav ul li a {
  color: #fff;

  display: inline-block;

  font-size: 1.28em;

  margin: 5px;

  position: relative;

  text-decoration: none;

  text-transform: uppercase;
}

/* ========================================

   CLASSES RESPONSIVAS DO MENU

   ======================================== */

header.header nav.menu-mobile {
  /* Estilos específicos para mobile */

  background: rgba(0, 0, 0, 0.9);

  border-radius: 8px;

  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

header.header nav ul li {
  list-style-type: none;
}

header.header nav.menu-mobile ul li {
  padding: 8px 0;
}

header.header nav.menu-mobile ul li a {
  font-size: 1.1em;

  padding: 12px 20px;

  display: block;

  transition: background-color 0.3s ease;
}

header.header nav.menu-mobile ul li a:hover {
  background-color: rgba(171, 120, 87, 0.2);

  border-radius: 4px;
}

/* Social Box */

.social-box {
  width: -webkit-fill-available;

  display: flex;

  justify-content: space-between;

  align-items: center;

  gap: 0rem;

  padding: 0.75rem 1.25rem;
}

.social-box .item {
  position: relative;

  display: flex;

  justify-content: center;

  align-items: center;

  width: 50px;

  aspect-ratio: 1;

  font-size: 1.5rem;

  color: #c5c5c5;

  background-color: #242529;

  border-radius: 50px;

  transition:
    color 0.15s ease-in,
    box-shadow 0.75s cubic-bezier(0.74, 0.01, 0.02);
}

.social-box .item svg {
  transition: transform 0.75s ease-in-out;
}

@property --fill-color {
  syntax: "<percentage>";

  inherits: true;

  initial-value: 0%;
}

.social-box .item:hover {
  color: var(--primary-color);

  --fill-color: 100%;

  box-shadow: 0 0 1.5rem rgba(0, 0, 0, 1);
}

.social-box .item:hover svg {
  transform: scale(1.25);
}

.social-box .item::after {
  position: absolute;

  z-index: -1;

  content: "";

  inset: -3px;

  border-radius: inherit;

  background: conic-gradient(
    var(--primary-color) var(--fill-color),
    transparent var(--fill-color)
  );

  transition: --fill-color 0.75s ease-in-out;
}

header.header .menu.desktop {
  width: auto !important;
}

header.header nav.menu-desktop ul {
  display: flex;

  justify-content: center;

  align-items: center;

  margin: 0;

  padding: 0;
}

header.header nav.menu-desktop ul li {
  margin: 0 15px;
}

header.header nav.menu-desktop ul li a {
  padding: 15px 25px;

  border-radius: 20px;

  transition: all 0.3s ease;

  position: relative;

  overflow: hidden;
}

header.header nav.menu-desktop ul li a::before {
  content: "";

  position: absolute;

  top: 0;

  left: -100%;

  width: 100%;

  height: 100%;

  background: linear-gradient(
    90deg,
    transparent,
    rgba(171, 120, 87, 0.3),
    transparent
  );

  transition: left 0.5s ease;
}

header.header nav.menu-desktop ul li a:hover::before {
  left: 100%;
}

header.header nav.menu-desktop ul li a:hover {
  background-color: rgba(171, 120, 87, 0.2);

  transform: translateY(-2px);

  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

header.header .menu {
  display: flex;

  align-items: center;

  justify-content: flex-end;

  gap: 20px;
}

header.header .menu nav {
  width: max-content;
}

header.header .menu nav ul {
  display: flex;

  gap: 20px;

  align-items: center;

  justify-content: flex-end;

  margin: 0;

  padding: 0;
}

header.header .menu nav ul li {
  list-style: none;

  margin: 0;
}

header.header .open-menu {
  position: absolute;

  background: transparent;

  border: 0;

  color: #fff;

  cursor: pointer;

  display: none;

  align-items: center;

  justify-content: center;

  padding: 10px;

  right: 0;
}

header.header .open-menu:focus-visible {
  outline: 2px solid #ab7857;

  outline-offset: 4px;
}

header.header .open-menu .menu-burger {
  display: inline-flex;

  flex-direction: column;

  justify-content: space-between;

  width: 28px;

  height: 20px;
}

header.header .open-menu .menu-burger span {
  background: currentColor;

  border-radius: 2px;

  display: block;

  height: 3px;

  transition:
    transform 0.3s ease,
    opacity 0.3s ease,
    width 0.3s ease;

  width: 100%;
}

header.header[aria-open="true"] .open-menu .menu-burger span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

header.header[aria-open="true"] .open-menu .menu-burger span:nth-child(2) {
  opacity: 0;
}

header.header[aria-open="true"] .open-menu .menu-burger span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

body.is-menu-open {
  overflow: hidden;
}

header.header .logo {
  width: -webkit-fill-available;
}

header.header .logo img {
  width: auto;
}

@media screen and (max-width: 1023px) {
  /* Fixar a logo para não se mover ao abrir o menu responsivo */

  header.header .logo img {
    position: absolute;
    width: auto;
    display: flex;
    left: 10px;
    top: 10px;
    transition: none !important;
    transform: none !important;
    z-index: 1;
    justify-content: flex-start;
    align-items: center;
  }

  header.header .open-menu {
    display: flex;
  }

  header.header .menu {
    position: fixed;

    top: 50px;

    right: 0;

    bottom: 0;

    width: min(350px, 85vw);

    background: rgba(0, 0, 0, 0.95);

    flex-direction: column;

    align-items: flex-start;

    padding: 32px 24px;

    transform: translateX(100%);

    visibility: hidden;

    transition:
      transform 0.4s cubic-bezier(0.4, 0, 0.2, 1),
      visibility 0.4s;

    gap: 24px;

    box-shadow: -8px 0 24px rgba(0, 0, 0, 0.4);

    height: calc(100vh - 85px);

    overflow-y: auto;
  }

  header.header .menu nav {
    width: 100%;

    min-width: 0;
  }

  header.header .menu nav ul {
    flex-direction: column;

    align-items: flex-start;

    gap: 18px;
  }

  header.header .menu nav ul li a {
    font-size: 1.5em;

    display: block;

    width: 100%;
  }

  header.header[aria-open="true"] .menu,
  header.header.menu-open .menu {
    transform: translateX(0);
    visibility: visible;
  }
}

@media screen and (min-width: 1024px) {
  header.header .open-menu {
    display: none;
  }

  .social-box {
    display: none;
  }

  header.header .menu,
  header.header[aria-open="false"] .menu {
    display: flex;

    position: static;

    transform: none;

    background: transparent;

    padding: 0;

    box-shadow: none;

    width: auto;

    height: auto;
  }

  header.header .menu nav ul {
    flex-direction: row;

    gap: 24px;
  }
}

.footer {
  background: #000;

  height: 75px;

  position: relative;

  z-index: 9;
}

.footer .wrapper {
  align-items: center;

  display: flex;

  height: 100%;

  justify-content: space-between;
}

.footer .brand {
  /* align-self: flex-end; */

  margin-right: 30px;

  width: 60px;
}

.footer .brand img {
  display: block;

  width: 140px;
}

.footer .copyright {
  color: #fff;

  flex-grow: 1;

  font:
    300 0.73em Arapey,
    Georgia,
    serif;

  font-style: italic;

  letter-spacing: 0.2em;

  text-align: right;
}

@media screen and (min-width: 980px) {
  .footer .copyright {
    font-size: 1em;

    margin-right: 20px;
  }
}

.footer .social {
  display: none;
}

@media screen and (min-width: 980px) {
  .footer .social {
    display: flex;
  }
}

@media screen and (max-width: 767px) {
  .footer .brand {
    /* align-self: flex-end; */

    margin-right: 30px;

    width: 100px;
  }

  .footer .brand img {
    display: block;

    width: -webkit-fill-available;
  }
}

.wrapper {
  margin: 0 auto;

  max-width: 1020px;

  padding: 0 40px;

  position: relative;

  width: 100%;
}

@media screen and (min-width: 1020px) {
  .wrapper {
    padding: 0;
  }
}

.site-watermark {
  height: 100%;

  left: 0;

  opacity: 0.2;

  pointer-events: none;

  position: fixed;

  top: 0;

  width: 100%;

  z-index: 9;
}

.site-watermark svg {
  fill: #ab7857;
}

.site-watermark svg line,
.site-watermark svg path,
.site-watermark svg rect {
  fill: none;

  stroke: #ad7a58;

  stroke-linecap: round;

  stroke-miterlimit: 10;

  stroke-width: 3px;
}

.social {
  align-items: flex-end;

  display: flex;

  justify-content: space-between;

  width: 60px;
}

.social a {
  text-decoration: none;

  font-size: 20px;
}

.social a i {
  color: #fff;

  transition: all 0.3s ease-in-out;
}

.quem .link {
  display: flex;

  padding: 12px 0px 0px;

  align-items: flex-end;
}

.quem .link i {
  font-size: 20px;
}

.quem .link a {
  color: #ab7857;

  font-family: Arapey, Georgia, serif;

  font-size: 1.1em 15.4px;

  letter-spacing: 0.2em;

  position: relative;

  text-decoration: none;

  text-transform: uppercase;
}

.preload {
  align-items: center;

  background: #000;

  display: flex;

  height: 0;

  height: 100%;

  justify-content: center;

  pointer-events: none;

  position: fixed;

  top: 0;

  width: 100%;

  z-index: 999;
}

.preload svg {
  animation: preload-anim 1s ease-in-out 0.3s infinite alternate-reverse;

  fill: #ab7857;

  height: 64px;

  width: 64px;
}

body.pagina .wrapper {
  margin: 0 auto;

  max-width: 1020px;

  padding: 0 40px;

  position: relative;

  width: 100%;
}

body.pagina article p {
  color: #3f3f41;

  font-size: 1.2em;

  font-family: Arapey, Georgia, serif;

  font-style: italic;
}

body.pagina article {
  background: #fff;

  padding: 50px 0;

  position: relative;

  z-index: 9;
}

body.pagina article p {
  line-height: 1.7em;

  margin-bottom: 20px;
}

body.pagina article blockquote {
  color: #3f3f41;

  font-size: 1.5em;

  line-height: 1.5em;

  padding: 50px 40px;

  text-align: center;
}

main#avaliacoes .section-title,
main#consultoria .section-title,
main#consertos .section-title,
main#drywall .section-title,
main#gesso-mineral .section-title,
main#steel-frame .section-title,
main#imagens .section-title,
main#moldura .section-title,
main#parede3d .section-title,
main#sanca .section-title,
main#servicos .section-title {
  background-color: #000;

  background-position: 100% 0;

  background-repeat: none;

  background-size: cover;

  left: 0;

  padding: 160px 0;

  position: fixed;

  top: 0;

  width: 100%;
}

main#servicos article .case {
  display: block;

  position: relative;

  text-decoration: none;

  width: 100%;
}

main#servicos article .case .call:after,
main#servicos article .case .call:before {
  background: #3f3f41;

  content: "";

  display: block;

  position: absolute;
}

main#servicos article .case .call {
  bottom: 50px;

  color: #3f3f41;

  font-family: Arapey, Georgia, serif;

  font-size: 1.2em;

  font-style: italic;

  letter-spacing: 0.4em;

  position: absolute;

  right: 100px;

  text-decoration: none;

  text-transform: uppercase;

  z-index: 9;
}

@media screen and (min-width: 728px) {
  main#servicos article .case .call {
    letter-spacing: 0.7em;
  }
}

main#servicos article .case .call:hover:after,
main#servicos article .case .call:hover:before {
  transform: rotate(90deg);
}

main#servicos article .case .call:before {
  height: 80px;

  right: -40px;

  top: -30px;

  transform-origin: 50%;

  transition: all 0.3s ease-in-out 0.2s;

  width: 2px;
}

main#servicos article .case .call:after {
  height: 2px;

  right: -80px;

  top: 9px;

  transform-origin: 50%;

  transition: all 0.3s ease-in-out;

  width: 80px;
}

main#servicos article .case .call strong {
  font-family: Roboto, Helvetica, Arial, sans-serif;

  font-size: 0.9em;
}

main#servicos article .case img {
  display: block;

  width: 100%;
}

main#servicos footer {
  background: #e6e6e7;

  padding: 60px 0;

  position: relative;

  z-index: 9;
}

main#servicos footer h3 {
  color: #000;

  font-size: 1.6em;

  text-transform: uppercase;
}

main#servicos footer .listserv {
  margin-top: 48px;
}

@media screen and (min-width: 980px) {
  main#servicos footer .listserv__item {
    margin-bottom: 0;
  }
}

#home .clientes .section-title,
.clientes .section-title {
  align-self: center;

  display: flex;

  flex-direction: column;

  justify-content: center;

  width: 46%;
}

#home .clientes .section-title .title,
.clientes .section-title .title {
  color: #fff;

  font-size: 1.7em;

  letter-spacing: 0.7em;

  text-transform: uppercase;
}

#home .clientes .section-title p,
.clientes .section-title p {
  color: #fff;

  font-size: 1.1em;

  font-weight: 100;

  letter-spacing: 0.7em;

  line-height: 1.5em;

  padding: 60px 0;

  text-transform: uppercase;

  /* white-space:pre; */
}

@media screen and (min-width: 728px) {
  #home .clientes .section-title p,
  .clientes .section-title p {
    font-size: 1.1em;
  }
}

@media screen and (min-width: 1200px) {
  #home .clientes .section-title p,
  .clientes .section-title p {
    font-size: 1em;
  }
}

#home .clientes .case,
.clientes .case {
  display: flex;

  flex-flow: row wrap;

  justify-content: center;

  position: relative;

  text-decoration: none;

  width: 100%;
}

@media screen and (min-width: 728px) {
  #home .clientes .case,
  .clientes .case {
    justify-content: flex-start;

    width: 46%;
  }

  #home .clientes .case:nth-of-type(odd),
  .clientes .case:nth-of-type(odd) {
    margin-top: 150px;
  }
}

#home .clientes .case:first-of-type .case__box,
.clientes .case:first-of-type .case__box {
  background: #ab7857 !important;

  color: #000 !important;
}

#home .clientes .case:first-of-type .case__description,
.clientes .case:first-of-type .case__description {
  color: #fff;
}

#home .clientes .case:hover .case__thumb img,
.clientes .case:hover .case__thumb img {
  transform: scale(1.1);
}

#home .clientes .case:hover .case__box,
.clientes .case:hover .case__box {
  height: auto;

  margin-top: -100px;
}

@media screen and (min-width: 728px) {
  #home .clientes .case:hover .case__box,
  .clientes .case:hover .case__box {
    height: auto;

    margin-top: -200px;
  }
}

#home .clientes .case .case__thumb,
.clientes .case .case__thumb {
  margin: 0;

  overflow: hidden;

  width: 100%;
}

@media screen and (min-width: 728px) {
  #home .clientes .case .case__thumb,
  .clientes .case .case__thumb {
    margin: 0 0 0 45px;

    width: calc(100% - 45px);
  }
}

#home .clientes .case .case__thumb img,
.clientes .case .case__thumb img {
  display: block;

  transition: all 0.3s ease-in-out;

  width: 100%;
}

#home .clientes .case .case__box,
.clientes .case .case__box {
  background: #ab7857;

  color: #000000;

  display: flex;

  flex-flow: column nowrap;

  font-size: 1.4em;

  height: 200px;

  justify-content: flex-end;

  letter-spacing: 0.2em;

  line-height: 1.2em;

  margin-top: -50px;

  padding: 20px 20px 15px;

  position: relative;

  text-transform: uppercase;

  transition: all 0.3s ease-in-out;

  width: 200px;
}

@media screen and (min-width: 728px) {
  #home .clientes .case .case__box,
  .clientes .case .case__box {
    font-size: 1.2em;

    line-height: 1.4em;
  }
}

@media screen and (min-width: 980px) {
  #home .clientes .case .case__box,
  .clientes .case .case__box {
    height: auto;

    margin-top: -115px;

    width: 250px;
  }
}

#home .clientes .case .case__box:before,
.clientes .case .case__box:before {
  height: 120px;

  right: 101px;

  top: -60px;

  width: 3px;
}

@media screen and (min-width: 728px) {
  #home .clientes .case .case__box:before,
  .clientes .case .case__box:before {
    right: 0;

    top: -60px;
  }
}

#home .clientes .case .case__box:after,
.clientes .case .case__box:after {
  height: 3px;

  right: 40px;

  top: 0;

  width: 120px;
}

@media screen and (min-width: 728px) {
  #home .clientes .case .case__box:after,
  .clientes .case .case__box:after {
    right: -60px;

    top: 0;
  }
}

#home .clientes .case .case__box em,
.clientes .case .case__box em {
  font-family: Arapey, Georgia, serif;

  text-transform: none;
}

#home .clientes .case .case__description,
.clientes .case .case__description {
  color: #ffffff;
  font-family: Arapey, Georgia, serif;
  font-size: 1.3em;
  font-style: italic;
  line-height: 1.7em;
  padding: 30px;
  width: 100%;
}

@media screen and (min-width: 728px) {
  #home .clientes .case .case__description,
  .clientes .case .case__description {
    width: 300px;
  }
}

.clientes {
  align-items: flex-start;

  display: flex;

  flex-flow: row wrap;

  justify-content: space-between;

  padding: 0 10% 100px;

  position: relative;

  width: 100%;

  z-index: 11;
}

.clientes .bg {
  background: #f0f0f0 50%;

  content: "";

  display: block;

  height: calc(100% - 100vh);

  left: 0;

  position: absolute;

  top: 100vh;

  width: 100%;
}

.clientes .section-title {
  align-self: flex-start;

  margin-top: 130px;
}

.clientes .section-title .title {
  font-size: 2.8;
}

.clientes .section-title .title span {
  border-bottom: 4px solid #ab7857;

  display: inline-block;

  padding-bottom: 60px;
}

.case .section-title {
  display: flex;

  flex-direction: column;

  padding: 40px 0;

  position: relative;
}

.case .section-title .background {
  height: 100%;

  left: 0;

  position: absolute;

  top: 0;

  width: 100%;
}

.case .section-title .title {
  margin-top: 400px;

  width: 100%;
}

@media screen and (min-width: 728px) {
  .case .section-title .title {
    margin-top: 0;

    width: 45%;
  }
}

.case .section-title .title h1 {
  color: #3f3f41;

  font-family: Arapey, Georgia, serif;

  font-size: 2em;

  font-style: italic;

  font-weight: 300;

  letter-spacing: 0.4em;

  line-height: 1.2em;

  margin: 0;

  padding: 0;

  text-align: center;
}

@media screen and (min-width: 728px) {
  .case .section-title .title h1 {
    font-size: 3em;

    text-align: left;
  }
}

.case .section-title .title h1 strong {
  display: block;

  font-family: Roboto, Helvetica, Arial, sans-serif;

  font-weight: 700;

  text-transform: uppercase;
}

.case .section-title .title hr {
  border: none;

  height: 2px;

  margin: 50px auto;

  max-width: 200px;

  width: 100%;
}

@media screen and (min-width: 728px) {
  .case .section-title .title hr {
    height: 4px;

    margin: 50px 0;
  }
}

.case .section-title .title p {
  color: #3f3f41;

  font-size: 0.8em;

  letter-spacing: 0.3em;

  line-height: 1.7em;

  text-align: center;

  text-transform: uppercase;
}

@media screen and (min-width: 728px) {
  .case .section-title .title p {
    font-size: 1em;

    text-align: left;
  }
}

.case .content {
  background: #fff;

  height: 100%;

  padding: 50px 0;

  position: relative;
}

.case .content p {
  color: #3f3f41;

  font-family: Arapey, Georgia, serif;

  font-size: 1.2em;

  font-style: italic;

  line-height: 1.7em;

  margin-bottom: 20px;
}

@media screen and (min-width: 728px) {
  .case .content p {
    font-size: 1.4em;
  }
}

.case .content a {
  color: #ab7857;

  display: inline-block;

  position: relative;

  transition: color 0.3s ease-in-out;

  z-index: 0;
}

.case .content a:after {
  background: #ab7857;

  bottom: 5%;

  content: "";

  display: block;

  height: 0;

  left: -2px;

  position: absolute;

  transition: height 0.2s ease-in-out;

  width: calc(100% + 4px);

  z-index: -1;
}

.case .content a:hover {
  color: #fff;

  text-decoration: none;
}

.case .content a:hover:after {
  height: 90%;
}

.case .content .full {
  display: block;

  width: 100%;
}

.case .content .video {
  height: 0;

  margin-bottom: 30px;

  overflow: hidden;

  padding-bottom: 47%;

  padding-top: 30px;

  position: relative;
}

@media screen and (min-width: 640px) {
  .case .content .video {
    padding-bottom: 53.25%;
  }
}

.case .content .video embed,
.case .content .video iframe,
.case .content .video object {
  height: 100%;

  left: 0;

  position: absolute;

  top: 0;

  width: 100%;
}

.case .content .row {
  align-content: center;

  display: flex;

  flex-direction: column;

  justify-content: space-between;

  width: 100%;
}

@media screen and (min-width: 728px) {
  .case .content .row {
    flex-direction: row;

    flex-wrap: wrap;
  }
}

.case .content .row .column {
  width: 100%;
}

@media screen and (min-width: 728px) {
  .case .content .row .column--6 {
    width: 48%;
  }
}

.case .case--nav {
  background: #fff;

  padding-bottom: 30px;

  position: relative;

  width: 100%;
}

.case .case--nav nav {
  align-items: center;

  display: flex;

  justify-content: space-around;

  margin: 0 auto;

  max-width: 450px;

  position: relative;

  width: 100%;
}

.case .case--nav nav a {
  color: #000;

  font-family: Roboto, Helvetica, Arial, sans-serif;

  font-size: 0.8em;

  font-weight: 700;

  text-decoration: none;

  text-transform: uppercase;
}

#home {
  /*background: url() 50%;*/

  min-height: 100%;
}

#home,
#home .banner {
  position: relative;

  width: 100%;
}

#home .banner {
  height: 100vh;

  z-index: 11;
}

#home .banner .gallery {
  height: 100%;

  list-style: none;

  overflow: hidden;

  padding: 0;

  position: relative;

  width: 100%;
}

#home .banner .gallery__item {
  height: 100%;

  left: 0;

  opacity: 0;

  overflow: hidden;

  position: absolute;

  top: 0;

  width: 100%;
}

#home .banner .gallery__item:first-child {
  opacity: 1;
}

#home .banner .gallery__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (max-width: 768px) {
  #home .banner {
    height: 65vh;
  }

  #home .banner .gallery__item img {
    object-position: center top;
  }
}

#home .banner h1 {
  left: 60px;

  margin: 0;

  padding: 0;

  position: absolute;

  top: 50%;

  transform: translateY(-50%);

  width: calc(100% - 120px);
}

#home .banner h1 svg {
  display: block;

  fill: #fff;
}

#home .banner h1 svg path {
  opacity: 0;
}

#home .quem {
  align-items: center;

  background-size: cover;

  display: flex;

  min-height: 100vh;

  padding: 120px 20px;
}

@media screen and (-webkit-min-device-pixel-ratio: 2) {
  #home .quem {
    background-attachment: scroll;
  }
}

@media screen and (min-width: 728px) {
  #home .quem {
    background-size: cover;
  }
}

#home .quem .brand {
  margin-bottom: 40px;

  width: 270px;
}

#home .quem .brand svg {
  display: block;

  fill: #fff;

  transform: translateX(-7px);

  width: 100%;
}

#home .quem h2 {
  font-size: 1.07em;

  letter-spacing: 0.7em;
}

#home .quem h2,
#home .quem h3 {
  color: #fff;

  margin: 0 0 30px;

  text-transform: uppercase;
}

#home .quem h3 {
  font-size: 1.5em;

  font-weight: 100;

  letter-spacing: 0.5em;

  line-height: 1.5em;

  /* white-space:pre; */
}

#home .quem p {
  color: #fff;

  font-family: Arapey, Georgia, serif;

  font-size: 1.4em;

  font-style: italic;

  line-height: 1.5em;

  padding-bottom: 42px;
}

#home .quem p:last-child {
  padding-bottom: 0;
}

#home .quem p span {
  display: block;
}

@media screen and (min-width: 728px) {
  #home .quem p span {
    display: inline;
  }
}

#home .quem .wrapper {
  display: flex;

  flex-direction: column;

  justify-content: space-between;
}

@media screen and (min-width: 728px) {
  #home .quem .wrapper {
    flex-direction: row;
  }
}

#home .quem .wrapper .column {
  display: flex;

  flex-direction: column;

  justify-content: space-between;
}

#home .quem .wrapper .column:first-child {
  margin: 0 0 30px;
}

@media screen and (min-width: 728px) {
  #home .quem .wrapper .column:first-child {
    margin: 0 20px 0 0;

    width: 330px;
  }
}

@media screen and (max-width: 728px) {
  #home .quem .wrapper .column:first-child {
    margin: 0 0 50px;
  }

  #home .quem .wrapper .column {
    display: flex;

    justify-content: space-between;

    flex-direction: column;

    flex-wrap: wrap;
  }

  #home .quem h2,
  #home .quem h3 {
    color: #fff;

    margin: 0 0 10px;

    text-transform: uppercase;
  }
}

#home .photos {
  display: flex;

  position: relative;

  width: 100%;

  z-index: 11;

  padding: 1rem;
}

#home .photos .column {
  width: 100%;
}

#home .photos .column:last-child {
  display: none;
}

@media screen and (min-width: 728px) {
  #home .photos .column {
    width: 50%;
  }

  #home .photos .column:first-child {
    /* transform: translateY(-50px); */

    padding-left: 5rem;
  }

  #home .photos .column:last-child {
    display: block;

    padding-right: 5rem;
  }
}

#home .photos .column .gallery {
  overflow: hidden;

  position: relative;

  width: 100%;
}

#home .photos .column .gallery__item {
  opacity: 0;

  position: absolute;

  width: 100%;
}

#home .photos .column .gallery__item:first-child {
  opacity: 1;
}

#home .photos .column .gallery__item img {
  display: block;

  width: 100%;
}

@media screen and (min-height: 728px) {
  .servicos:before {
    height: 232px;
  }
}

section#servicos {
  z-index: 9;
}

.servicos .title {
  color: #000;

  font-size: 2em;

  letter-spacing: 0.5em;

  padding-top: 30px;

  text-align: center;

  text-transform: uppercase;
}

@media screen and (min-width: 728px) {
  .servicos .title {
    font-size: 2em;

    letter-spacing: 1em;

    text-align: center;
  }
}

#home .clientes {
  align-items: flex-start;

  flex-flow: row wrap;

  justify-content: space-between;

  padding: 0 10% 100px;

  position: relative;

  width: 100%;

  z-index: 11;
}

#home .clientes .bg {
  background: #f0f0f0 50%;

  content: "";

  display: block;

  height: calc(100% - 100vh);

  left: 0;

  position: absolute;

  top: 100vh;

  width: 100%;
}

#home .clientes .case .case__box:after,
#home .clientes .case .case__box:before,
#home .clientes .more a:after,
#home .clientes .more a:before,
#home .clientes .white-line {
  background: #fff;

  content: "";

  display: block;

  position: absolute;
}

#home .clientes .more {
  margin-top: 100px;

  position: relative;

  width: 100%;
}

#home .clientes .more a {
  color: #ab7857;

  font-family: Arapey, Georgia, serif;

  font-size: 1.7em;

  letter-spacing: 0.4em;

  position: relative;

  text-decoration: none;

  text-transform: uppercase;
}

@media screen and (min-width: 728px) {
  #home .clientes .more a {
    letter-spacing: 0.7em;
  }
}

#home .clientes .more a:hover:after,
#home .clientes .more a:hover:before {
  transform: rotate(90deg);
}

#home .clientes .more a:before {
  height: 120px;

  right: -60px;

  top: -45px;

  transition: all 0.3s ease-in-out 0.2s;

  width: 3px;
}

#home .clientes .more a:after,
#home .clientes .more a:before {
  background: #ab7857;

  pointer-events: none;

  transform-origin: 50%;
}

#home .clientes .more a:after {
  height: 3px;

  right: -120px;

  top: 12px;

  transition: all 0.3s ease-in-out;

  width: 120px;
}

#home .clientes .more a strong {
  font-family: Roboto, Helvetica, Arial, sans-serif;

  font-size: 0.9em;
}

#home .consertos {
  background: #fff;

  position: relative;

  width: 100%;

  z-index: 8;
}

#home .consertos .library {
  position: absolute;

  right: 0;

  top: 0;

  transform: translateY(-48px);

  width: 65%;

  z-index: 1;
}

#home .consertos .library img {
  display: block;

  width: 100%;
}

#home .consertos .grid {
  left: 0;

  position: absolute;

  top: 0;

  width: 58%;

  z-index: 2;
}

#home .consertos .grid img {
  display: block;

  width: 100%;
}

#home .consertos .info {
  display: flex;

  flex-flow: row wrap;

  justify-content: flex-start;

  padding: 55px 20px 0;

  position: relative;

  z-index: 5;
}

@media screen and (min-width: 980px) {
  #home .consertos .info {
    padding: 55px 0 0 170px;
  }
}

#home .consertos .info:before {
  background: #fff;

  content: "";

  height: 100%;

  left: 20px;

  position: absolute;

  top: 80px;

  width: calc(100% - 40px);

  z-index: 1;
}

@media screen and (min-width: 640px) {
  #home .consertos .info:before {
    width: 50%;
  }
}

@media screen and (min-width: 728px) {
  #home .consertos .info:before {
    top: 100px;

    width: 580px;
  }
}

@media screen and (min-width: 980px) {
  #home .consertos .info:before {
    left: 60px;

    width: 690px;
  }
}

#home .consertos .info h3 {
  color: #3f3f41;

  font-size: 2em;

  font-weight: 400;

  letter-spacing: 0.9em;

  line-height: 1.5em;

  margin-bottom: 57px;

  text-transform: uppercase;

  white-space: pre-wrap;

  width: 100%;

  z-index: 5;
}

@media screen and (min-width: 640px) {
  #home .consertos .info h3 {
    font-size: 3.2em;
  }
}

@media screen and (min-width: 728px) {
  #home .consertos .info h3 {
    font-size: 2em;
  }
}

#home .consertos .info p {
  color: #3f3f41;

  font-family: Arapey, Georgia, serif;

  font-size: 1.3em;

  font-style: italic;

  line-height: 1.5em;

  width: calc(100% - 40px);

  z-index: 5;
}

@media screen and (min-width: 640px) {
  #home .consertos .info p {
    width: 50%;
  }
}

@media screen and (min-width: 980px) {
  #home .consertos .info p {
    font-size: 1.4em;

    max-width: 360px;

    width: 100%;
  }
}

#home .consertos .info .tablet {
  display: none;

  z-index: 9;
}

@media screen and (min-width: 640px) {
  #home .consertos .info .tablet {
    display: block;

    margin: 0 auto 0 30px;

    width: calc(50% - 30px);
  }
}

#home .consertos .info .tablet img {
  display: block;

  margin: 0 auto;

  max-width: 100%;
}

@media screen and (min-width: 728px) {
  #home .consertos .info .tablet img {
    margin: 0;
  }
}

#home .produtos {
  align-items: center;

  background: none;

  display: flex;

  flex-direction: column;

  padding: 57px 0 0;

  position: relative;

  z-index: 11;
}

#home .produtos .title {
  margin-bottom: 50px;
}

#home .produtos .title img {
  display: block;

  width: 120px;
}

#home .produtos p {
  color: #fff;

  font-family: Arapey, Georgia, serif;

  font-size: 1.4em;

  font-style: italic;

  line-height: 1.7em;

  max-width: 830px;

  text-align: center;

  width: 80%;
}

#home .produtos p em {
  color: #c4d900;
}

#home .produtos ul {
  align-items: center;

  display: flex;

  flex-wrap: wrap;

  justify-content: space-around;

  list-style: none;

  margin: 30px 0;

  max-width: 1020px;

  width: 100%;
}

@media screen and (min-width: 728px) {
  #home .produtos ul {
    justify-content: space-between;
  }
}

#home .produtos ul:hover li {
  opacity: 0.4;
}

#home .produtos ul li {
  padding: 30px 23px;

  text-align: center;

  transition: all 0.3s ease-in-out;

  width: 40%;
}

@media screen and (min-width: 728px) {
  #home .produtos ul li {
    width: auto;
  }
}

#home .produtos ul li:hover {
  opacity: 1;
}

#home .produtos ul li a {
  text-decoration: none;
}

#home .produtos ul li img {
  display: block;

  max-width: 100%;
}

#home .produtos .demo {
  background: #a6a6a6;

  display: flex;

  justify-content: center;

  margin-top: 40px;

  padding: 0 20px;

  width: 100%;
}

@media (min-width: 728px) {
  #home .produtos .demo {
    margin-top: 200px;
  }
}

#home .produtos .demo .image {
  border-top: 6px solid #c4d900;

  transform: translateY(-30%);
}

#home .produtos .demo .image img {
  display: block;

  max-width: 100%;
}

#home .parceiros {
  align-items: center;

  background-size: cover;

  display: flex;

  flex-direction: column;

  padding: 120px 0 174px;

  position: relative;
}

@media screen and (-webkit-min-device-pixel-ratio: 2) {
  #home .parceiros {
    background-attachment: scroll;
  }
}

@media screen and (min-width: 728px) {
  #home .parceiros {
    background-size: cover;
  }
}

#home .parceiros .title {
  display: flex;

  margin-bottom: 50px;

  flex-wrap: wrap;
}

@media screen and (min-width: 980px) {
  #home .parceiros .title {
    flex-direction: row;
  }
}

#home .parceiros .title h3 {
  font-size: 1.7em;

  font-weight: 700;

  letter-spacing: 1em;

  margin-bottom: 40px;

  text-transform: uppercase;
}

@media screen and (min-width: 980px) {
  #home .parceiros .title h3 {
    margin-bottom: 0;

    margin-bottom: revert;

    width: -webkit-fill-available;

    text-align: center;
  }
}

#home .parceiros .title p {
  color: #fff;

  font-size: 1.2em;

  font-weight: 100;

  letter-spacing: 0.2em;

  line-height: 1.5em;

  padding: 0 20px;

  text-align: center;

  text-transform: uppercase;
}

@media screen and (min-width: 980px) {
  #home .parceiros .title p {
    font-size: 1em;

    line-height: 1.7em;

    padding: 0 100px;

    white-space: pre-wrap;

    font-weight: 500;
  }
}

#home .parceiros ul {
  align-items: center;

  display: flex;

  flex-wrap: wrap;

  justify-content: space-around;

  list-style: none;

  margin: 30px 0;

  max-width: 1020px;

  padding: 0 20px;

  width: 100%;
}

@media screen and (min-width: 728px) {
  #home .parceiros ul {
    justify-content: flex-start;

    padding: 0 20px;
  }
}

#home .parceiros ul:hover li {
  opacity: 0.4;
}

#home .parceiros ul li {
  padding: 40px 20px;

  text-align: center;

  transition: all 0.3s ease-in-out;

  width: 40%;
}

@media screen and (min-width: 728px) {
  #home .parceiros ul li {
    width: 25%;
  }
}

#home .parceiros ul li a {
  text-decoration: none;
}

#home .parceiros ul li:hover {
  opacity: 1;
}

#home .parceiros ul li img {
  display: block;

  margin: 0 auto;

  max-width: 100%;
}

body.home #reviews {
  padding: 0;
  margin: 0 auto;
  font-family: Arial, sans-serif;
  color: #1a1a1a;
}

body.home #reviews > h2 {
  text-align: center;
  font-size: 1.8rem;
  margin-bottom: 1rem;
}

body.home #reviews .rating-summary {
  padding: 0.25rem;
  background: rgba(0, 0, 0, 0.09);
  border-radius: 5px;
  margin-bottom: 1rem;
  text-align: center;
}

body.home #reviews .rating-summary .rating-score {
  font-size: 2rem;
  margin: 0.67em 0;
  color: #363636;
}

body.home #reviews .rating-summary .rating-score #average-rating {
  color: #2c2c2c;
  font-size: 3rem;
  line-height: 0.9;
}

body.home #reviews .rating-summary p {
  font-size: 14px;
}

body.home #reviews .rating-summary .stars-summary {
  color: #ffc400;
  font-size: 1.8rem;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 20px;
  margin: 0.3em 0;
  letter-spacing: 0.1em;
  user-select: none;
}

body.home #reviews #rating-chart .chart {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  height: 100%;
}

body.home #reviews #rating-chart .chart .rating-box {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 2px 15px;
  align-items: center;
  display: flex;
  line-height: 20px;
}

body.home #reviews #rating-chart .chart .rating-box > * {
  height: 100%;
  display: flex;
  align-items: center;
  font-weight: 500;
  color: #444;
}

body.home #reviews #rating-chart .chart .rating-box .rating-value {
  display: flex;
  align-items: center;
  font-size: 25px;
  cursor: pointer;
}

body.home #reviews #rating-chart .chart .rating-box .rating-value.select {
  color: #66bb6a;
  padding: 0;
}

body.home
  #reviews
  #rating-chart
  .chart
  .rating-box
  .rating-value.select
  ~ .rating-count {
  color: #66bb6a;
}

body.home #reviews #rating-chart .chart .rating-box .rating-value:hover {
  color: #66bb6a;
}

body.home #reviews #rating-chart .chart .rating-box .progress-bar {
  border-width: 1px;
  position: relative;
  background: #cfd8dc91;
  height: 10px;
  border-radius: 100px;
  width: 350px;
  flex-grow: 1;
  background: #3a3f50;
  border-radius: 9px;
  display: flex;
  height: 9px;
  overflow: hidden;
}

body.home #reviews #rating-chart .chart .rating-box .progress-bar .progress {
  background: #66bb6a;
  height: 100%;
  border-radius: 100px;
  transition: 0.3s ease-in-out;
  margin: 0;
}

body.home #reviews #rating-chart .chart .rating-box .rating-count {
  font-family: "Open Sans", Verdana, sans-serif;
  width: 11%;
  display: inline-block;
  text-align: left;
  padding-left: 5px;
  color: #555;
  white-space: nowrap;
  letter-spacing: 0.06rem;
}

body.home #reviews #rating-chart .chart span.rating-count:before {
  content: "(";
}

body.home #reviews #rating-chart .chart span.rating-count:after {
  content: ")";
}

body.home #reviews #rating-chart .chart-btn {
  display: flex;
  justify-content: center;
}

body.home #reviews #review-list {
  width: 100%;
  display: flex;
  flex-direction: column;
  padding: 0;
  margin-top: 2rem;
  justify-content: center;
  align-items: stretch;
  gap: 1rem;
  background: #fff;
  color: #1a1a1a;
  box-sizing: border-box;
  border-radius: 5px;
}
body.home #reviews #review-list .reviews.pulse-loading {
  height: 150px;
}
body.home #reviews #review-list .reviews .item {
  padding: 0 6px;
  border-bottom: 1px solid #eee;
  display: flex !important;
  flex-direction: column;
}

body.home #reviews #review-list .slick-track {
  display: flex !important;
}

body.home #reviews #review-list .slick-slide {
  height: auto;
  display: flex !important;
}

body.home #reviews #review-list .slick-slide > div {
  display: flex;
  width: 100%;
}

body.home #reviews #review-list .review {
  opacity: 0;
  transform: translateY(10px);
  transition:
    opacity 0.3s ease,
    transform 0.3s ease;
  border: 1px solid #ddd;
  padding: 10px;
  border-radius: 5px;
  background-color: #f9f9f9;
  font-family: Arial, sans-serif;
  margin: 0;
  display: flex;
  flex-direction: column;
  height: 100%;
  box-sizing: border-box;
}

body.home #reviews #review-list .review .review-content {
  flex: 1 1 auto;
}

body.home #reviews #review-list .review .review-video {
  margin: 8px 0;
}

body.home #reviews #review-list .review .review-video-player {
  width: 100%;
  max-height: 220px;
  border-radius: 5px;
  background: #000;
}

body.home #reviews #review-list .review .review-recommended {
  margin-top: auto;
}

body.home #reviews #review-list .review.active {
  opacity: 1;
  transform: translateY(0);
}

body.home #reviews #review-list .review-header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
  font-weight: 700;
  flex-wrap: wrap;
  gap: 0.5rem;
}

body.home #reviews #review-list .review-header .review-author {
  width: -webkit-fill-available;
  display: flex;
  align-items: center;
  flex: 1 1 auto;
  font-size: 1.1em;
  color: #000;
  gap: 0.5rem;
}

body.home #reviews #review-list .review-header .review-author .review-avatar {
  position: relative;
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  background: #000 !important;
  color: #fff !important;
  text-align: center;
  border-radius: 50%;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 12px;
  box-sizing: border-box;
  user-select: none;
}

body.home #reviews #review-list .review-header .review-author .review-name {
  flex: 1 1 auto;
  padding: 8px 0 0 0;
  display: flex;
  flex-wrap: wrap;
  line-height: 1.2;
}

body.home #reviews #review-list .review-header .review-verified {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.9rem;
  color: #444;
}

body.home #reviews #review-list .review-header .review-verified .verified {
  display: flex;
  font-size: 11px;
  align-items: center;
}

body.home #reviews #review-list .review-header .review-verified .verified svg {
  margin-right: 5px;
}

body.home #reviews #review-list .review-header .review-meta {
  flex-shrink: 0;
  font-size: 0.9rem;
  color: #666;
  text-align: right;
  white-space: nowrap;
}

body.home #reviews #review-list .review-header .review-meta .review-date {
  font-size: 11px;
}

body.home #reviews #review-list .review-rating {
  margin-bottom: 10px;
  text-align: center;
}

body.home #reviews #review-list .review-rating span.star {
  font-size: 1.9rem;
  margin-right: 2px;
  color: #ffc400;
}

body.home #reviews #review-list .review-rating span.nota {
  display: none;
}

body.home #reviews #review-list .review-content {
  margin-bottom: 1.25rem;
  font-size: 0.9rem;
  color: #555;
  text-align: left;
}

body.home #reviews #review-list .review-content .review-description {
  text-align: left;
}

body.home #reviews #review-list .review-recommended {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  font-size: 0.9rem;
  color: #444;
  flex-direction: row;
}

body.home #reviews #review-list .review-recommended .recommended-true {
  width: -webkit-fill-available;
}

body.home #reviews #review-list .review-recommended .recommended-true p {
  font-size: 12px;
  text-align: left;
}

body.home #reviews #review-list .review-recommended .like {
  width: -webkit-fill-available;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

body.home #reviews #review-list .review-recommended .like > span {
  font-size: 12px;
  margin-right: 5px;
}

body.home #reviews #review-list .review-recommended .like button.curtir {
  background: no-repeat;
  border: 0;
  cursor: pointer;
}

body.home #reviews #review-list .slick-next,
body.home #reviews #review-list .slick-prev {
  position: absolute;
  line-height: 0;
  top: 50%;
  padding: 0;
  z-index: 1;
}

body.home #reviews #review-list .slick-prev {
  left: 30px;
}

body.home #reviews #review-list .slick-next {
  right: 30px;
}

body.home #reviews #review-list .slick-next i:before,
body.home #reviews #review-list .slick-prev i:before {
  font-size: 25px;
  line-height: 1;
  color: #000;
  opacity: 1;
}

body.home #reviews #review-list .slick-dots {
  display: flex !important;
  justify-content: center;
  align-items: center;
  gap: 4px;
  list-style: none;
  margin: 0;
}

body.home #reviews #review-list .slick-dots li {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: 0;
  padding: 0;
  cursor: pointer;
}

body.home #reviews #review-list .slick-dots li button {
  border: 0;
  background: 0 0;
  display: block;
  width: 8px;
  height: 8px;
  outline: 0;
  line-height: 0;
  font-size: 0;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}

body.home #reviews #review-list .slick-dots li button:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 8px;
  height: 8px;
  border: 3px solid #000;
  border-radius: 50%;
  transition: background-color 0.3s ease;
}

body.home #reviews #review-list .slick-dots li.slick-active button:before {
  background-color: #000;
}

body.home #reviews #review-list .slick-dots li button:focus:before,
body.home #reviews #review-list .slick-dots li button:hover:before {
  background-color: #000;
}

.reviews .link {
  display: flex;
  padding: 12px 0px 0px;
  margin-bottom: 20px;
  align-items: flex-end;
  justify-content: center;
}

.reviews .link i {
  font-size: 20px;
}

.reviews .link a {
  color: #ab7857;

  font-family: Arapey, Georgia, serif;

  font-size: 1.1em 15.4px;

  letter-spacing: 0.2em;

  position: relative;

  text-decoration: none;

  text-transform: uppercase;
}

#home .contato {
  -moz-perspective: 600px;

  -webkit-perspective: 600px;

  background-size: cover;

  padding: 90px 20px;

  perspective: 600px;

  position: relative;

  width: 100%;

  z-index: 11;
}

@media screen and (-webkit-min-device-pixel-ratio: 2) {
  #home .contato {
    background-attachment: scroll;
  }
}

@media screen and (min-width: 980px) {
  #home .contato {
    padding: 180px 20px;
  }
}

#home .contato .title {
  align-items: center;

  display: flex;

  flex-direction: column;

  justify-content: center;

  margin: 0 auto;

  padding-bottom: 57px;

  text-align: center;

  width: 80%;
}

#home .contato .title h3 {
  color: #fff;

  font-size: 3.4em;

  font-weight: 700;

  letter-spacing: 0.2em;

  text-transform: uppercase;
}

@media screen and (min-width: 980px) {
  #home .contato .title h3 {
    letter-spacing: 1em;
  }
}

#home .contato .title p {
  color: #fff;

  font-family: Arapey, Georgia, serif;

  font-size: 1.7em;

  font-style: italic;

  font-weight: 100;
}

#home .contato .card {
  width: auto;
  /* background: #3f3f41; */
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  position: relative;
  transform: rotate(0deg, 0deg);
}

@media screen and (min-width: 820px) {
  #home .contato .card {
    flex-direction: row;
    width: 815px;
  }
}

#home .contato .card__column {
  background: #3f3f41;
  color: #3f3f41;
  padding: 80px 20px;
  text-align: center;
  width: 100%;
}

@media screen and (min-width: 820px) {
  #home .contato .card__column {
    padding: 80px;

    width: 50%;
  }

  .card__column.logo {
    display: flex;

    justify-content: center;

    align-items: center;
  }
}

#home .contato .card__column p {
  font-size: 0.9em;
  line-height: 1.5em;
  padding: 3px 0;
  text-transform: uppercase;
  display: flex;
  font-size: 1.14em;
  flex-direction: column;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: space-between;
  align-items: center;
}

#home .contato .card__column p.telephone,
#home .contato .card__column p.whatsapp {
  display: flex;

  font-size: 1.14em;

  flex-direction: column;

  flex-wrap: nowrap;

  align-content: center;

  justify-content: space-between;

  align-items: center;
}

#home .contato .card__column p.spaced {
  padding: 30px 0;
}

#home .contato .card__column p.spaced a {
  display: flex;
  color: #3f3f41;
}

#home .contato .card__column p a {
  color: #3f3f41;
}

@media screen and (min-width: 820px) {
  #home .contato .card__column p {
    font-size: 1.14em;
  }
}

#home .contato .card__column:first-child svg {
  display: block;

  fill: #ab7857;

  width: 100%;
}

#home .contato .card__column:nth-child(2) {
  width: auto;
  background: #fff;
}

#home .founder {
  display: flex;

  flex-direction: column;

  justify-content: center;

  margin: 150px auto;

  max-width: 1020px;

  padding: 0 40px;

  position: relative;

  width: 100%;
}

@media screen and (min-width: 728px) {
  #home .founder {
    flex-direction: row;

    padding: 0 20px;
  }
}

@media screen and (min-width: 980px) {
  #home .founder {
    padding: 0;
  }
}

#home .founder .photo {
  flex-shrink: 0;

  margin: 0 auto 70px;

  padding: 0 20px;

  width: 300px;
}

@media screen and (min-width: 728px) {
  #home .founder .photo {
    margin: 0 70px 0 0;
  }
}

#home .founder .photo img {
  display: block;

  width: 100%;
}

#home .founder .info {
  display: flex;

  flex-direction: column;

  justify-content: space-between;
}

#home .founder .info h3 {
  font-size: 1.7em;

  letter-spacing: 0.6em;

  line-height: 1.4em;

  margin-bottom: 40px;

  text-align: center;

  text-transform: uppercase;
}

@media screen and (min-width: 728px) {
  #home .founder .info h3 {
    margin-bottom: 20px;

    text-align: left;

    /* white-space:pre-wrap; */
  }
}

#home .founder .info p {
  font-family: Arapey, Georgia, serif;

  font-size: 1.4em;

  font-style: italic;

  line-height: 1.5em;

  padding-right: 0;
}

@media screen and (min-width: 728px) {
  #home .founder .info p {
    padding-right: 40px;
  }
}

.listserv {
  display: flex;

  flex-flow: row wrap;

  justify-content: space-around;

  list-style: none;

  margin-top: 50px;
}

@media screen and (min-width: 980px) {
  .listserv {
    justify-content: flex-start;
  }
}

.listserv__item {
  margin-bottom: 112px;

  width: 260px;
}

@media screen and (min-width: 980px) {
  .listserv__item {
    margin-right: calc(50% - 390px);
  }

  .listserv__item:nth-child(3n) {
    margin-right: 0;
  }
}

.listserv__item a {
  color: #3f3f41;

  display: block;

  position: relative;

  text-decoration: none;
}

.listserv__item a:hover .thumb img {
  transform: scale(1.2) rotate(3deg);
}

.listserv__item a:hover .thumb h4 {
  background: rgba(0, 0, 0, 0.3);
}

.listserv__item a:hover .bar {
  width: 70%;
}

.listserv__item a .thumb {
  height: 260px;

  overflow: hidden;

  position: relative;

  width: 100%;
}

.listserv__item a .thumb img {
  display: block;

  transition: all 0.3s ease-in-out;

  width: 100%;
}

.listserv__item a .thumb h4 {
  align-items: center;

  background: rgba(0, 0, 0, 0.6);

  color: #fff;

  display: flex;

  font-size: 1.7em;

  height: 100%;

  justify-content: center;

  left: 0;

  margin: 0;

  padding: 0;

  position: absolute;

  text-align: center;

  text-transform: uppercase;

  top: 0;

  transition: all 0.3s ease-in-out;

  width: 100%;
}

.listserv__item a .bar {
  background: #ab7857;

  height: 7px;

  margin: 25px 0 17px;

  transition: all 0.3s ease-in-out;

  width: 60%;
}

.listserv__item a .info {
  color: #3f3f41;

  font-family: Arapey, Georgia, serif;

  font-size: 1.3em;

  font-style: italic;

  line-height: 1.5em;
}

.case-bioderma .section-title {
  background: #f3fafc;
}

.case-bioderma .image {
  display: flex;

  justify-content: center;

  left: 50%;

  max-width: 1020px;

  padding: 0 20px;

  position: absolute;

  top: 0;

  transform: translate(-50%);

  width: 100%;
}

@media screen and (min-width: 728px) {
  .case-bioderma .image {
    justify-content: flex-end;

    top: 50%;

    transform: translate(-50%, -50%);
  }
}

@media screen and (min-width: 1020px) {
  .case-bioderma .image {
    padding: 0;
  }
}

.case-bioderma .image img {
  display: block;

  height: 100%;

  margin: 0;

  max-height: 410px;
}

.case-bioderma hr {
  background: #546886;
}

.case-danone .section-title {
  background: #f5f5f5;
}

.case-danone .section-title .image {
  display: flex;

  justify-content: center;

  left: 50%;

  max-width: 1020px;

  padding: 0 20px;

  position: absolute;

  top: 90px;

  transform: translate(-50%);

  width: 100%;
}

@media screen and (min-width: 728px) {
  .case-danone .section-title .image {
    justify-content: flex-end;

    top: 50%;

    transform: translate(-50%, -50%);
  }
}

@media screen and (min-width: 1020px) {
  .case-danone .section-title .image {
    padding: 0;
  }
}

.case-danone .section-title .image img {
  display: block;

  height: 100%;

  margin: 0;

  max-height: 300px;
}

.case-danone .section-title hr {
  background: #365aa0;
}

.case-kitchenaid .section-title {
  background: #000;
}

@media screen and (min-width: 728px) {
  .case-kitchenaid .section-title {
    background: #000 url(/assets/placeholder.php/1920x1080) no-repeat 100%;

    background-size: cover;
  }
}

.case-kitchenaid .section-title .title h1,
.case-kitchenaid .section-title .title p {
  color: #fff;
}

.case-kitchenaid .section-title .image {
  display: flex;

  justify-content: center;

  left: 50%;

  max-width: 1020px;

  padding: 0 20px;

  position: absolute;

  top: 90px;

  transform: translate(-50%);

  width: 100%;
}

@media screen and (min-width: 728px) {
  .case-kitchenaid .section-title .image {
    display: none;
  }
}

.case-kitchenaid .section-title .image img {
  display: block;

  height: 100%;

  margin: 0;

  max-height: 300px;
}

.case-kitchenaid hr {
  background: #cf4334;
}

.case-idfashion .section-title {
  background: linear-gradient(180deg, #b0b9ba, #c4c3b9);
}

@media screen and (max-width: 728px) {
  .case-idfashion .section-title .title {
    margin-top: 420px;
  }

  .header {
    height: 50px !important;
  }

  .header .logo {
    width: -webkit-fill-available;
  }

  .header .logo img {
    width: -webkit-fill-available;
  }

  #home .clientes .case .case__box:before,
  .clientes .case .case__box:before {
    height: 50px;

    right: 100px;

    top: -25px;

    width: 3px;
  }

  #home .clientes .case .case__box:after,
  .clientes .case .case__box:after {
    height: 3px;

    right: 75px;

    top: 0;

    width: 50px;
  }

  #home .clientes .case .case__box,
  .clientes .case .case__box {
    background: #ab7857;

    color: #000000;

    display: flex;

    flex-flow: column nowrap;

    font-size: 1.4em;

    height: auto;

    justify-content: flex-end;

    letter-spacing: 0.2em;

    line-height: 1.2em;

    margin-top: -50px;

    padding: 20px 20px 20px;

    position: relative;

    text-transform: uppercase;

    transition: all 0.3s ease-in-out;

    width: 200px;
  }

  #home .clientes .case:hover .case__box,
  .clientes .case:hover .case__box {
    height: auto;

    /* margin-top: -100px; */
  }

  #home .clientes .more a {
    color: #ab7857;

    font-family: Arapey, Georgia, serif;

    font-size: 1.2em;

    letter-spacing: 0.4em;

    position: relative;

    text-decoration: none;

    text-transform: uppercase;
  }

  #home .clientes .more a:before {
    height: 50px;

    right: -26px;

    top: -14px;

    transition: all 0.3s ease-in-out 0.2s;

    width: 3px;
  }

  #home .clientes .more a:after {
    height: 3px;

    right: -50px;

    top: 10px;

    transition: all 0.3s ease-in-out;

    width: 50px;
  }

  #home .clientes .section-title .title,
  .clientes .section-title .title {
    color: #fff;

    font-size: 1.3em;

    letter-spacing: 0.7em;

    text-transform: uppercase;
  }

  #home .clientes .section-title,
  .clientes .section-title {
    align-self: center;

    display: flex;

    flex-direction: column;

    justify-content: center;

    width: auto;
  }

  #home .parceiros .title h3 {
    font-size: 1.3em;

    font-weight: 700;

    letter-spacing: 1em;

    margin-bottom: 40px;

    text-transform: uppercase;
  }

  #home .parceiros .title {
    display: flex;

    margin-bottom: 50px;

    flex-wrap: wrap;

    justify-content: center;
  }

  #home .clientes .section-title p,
  .clientes .section-title p {
    color: #fff;

    font-size: 1em;

    font-weight: 100;

    letter-spacing: 0.7em;

    line-height: 1.5em;

    padding: 25px 0;

    text-transform: uppercase;

    /* white-space: pre; */
  }

  #home .parceiros .title p {
    color: #fff;

    font-size: 1em;

    font-weight: 100;

    letter-spacing: 0.2em;

    line-height: 1.5em;

    padding: 0 20px;

    text-align: center;

    text-transform: uppercase;
  }

  .servicos .title {
    color: #000;

    font-size: 2em;

    letter-spacing: 0.5em;

    padding-top: 30px;

    text-align: center;

    text-transform: uppercase;
  }

  #home .contato .title h3 {
    color: #fff;

    font-size: 2em;

    font-weight: 700;

    letter-spacing: 0.2em;

    text-transform: uppercase;
  }

  #home .quem {
    align-items: center;

    /* background: url(/assets/img/uploads/parallax/bg-mobile-01.jpg) no-repeat 50% fixed !important; */

    background-size: cover;

    display: flex;

    min-height: 100vh;

    padding: 120px 20px;
  }

  #home .parceiros {
    display: none !important;
    align-items: center;

    display: flex;

    flex-direction: column;

    padding: 100px 0 14px;

    position: relative;
  }

  #home .consertos .grid {
    left: 0;

    position: absolute;

    top: 135px;

    width: -webkit-fill-available;

    z-index: 2;
  }

  #home .consertos .info h3 {
    color: #ffffff;

    font-size: 1em;

    font-weight: 400;

    letter-spacing: 0.9em;

    line-height: 1.5em;

    margin-bottom: 57px;

    text-transform: uppercase;

    white-space: pre-wrap;

    width: 100%;

    z-index: 5;
  }

  #home .consertos .info p {
    color: #3f3f41;

    font-family: Arapey, Georgia, serif;

    font-size: 1.3em;

    font-style: italic;

    line-height: 1.5em;

    width: calc(100% - 40px);

    padding: 10px 20px 0px;

    z-index: 5;
  }

  #home .consertos .info {
    display: flex;

    flex-flow: row wrap;

    justify-content: center;

    padding: 55px 20px 0;

    position: relative;

    z-index: 5;

    align-items: center;
  }

  #home .consertos .info:before {
    background: #fff;

    content: "";

    height: 100%;

    left: 20px;

    position: absolute;

    top: 135px;

    width: calc(100% - 40px);

    z-index: 1;
  }

  #home .consertos .library {
    position: absolute;

    right: 0;

    top: 0;

    transform: translateY(-48px);

    width: -webkit-fill-available;

    z-index: 1;
  }

  #home .servicos {
    padding: 0 20px;

    position: relative;

    width: 100%;

    z-index: 12;
  }

  body.pagina .servicos {
  }

  .tb-horizontal-scroll-in .tb-horizontal-scroll-bar {
    width: -webkit-fill-available;
  }
}

.case-idfashion .image {
  display: flex;

  justify-content: center;

  left: 50%;

  max-width: 1020px;

  padding: 0 20px;

  position: absolute;

  top: 90px;

  transform: translate(-50%);

  width: 100%;
}

@media screen and (min-width: 728px) {
  .case-idfashion .image {
    justify-content: flex-end;

    top: 50%;

    transform: translate(-50%, -50%);
  }
}

@media screen and (min-width: 1020px) {
  .case-idfashion .image {
    padding: 0;
  }
}

.case-idfashion .image img {
  display: block;

  height: 100%;

  margin: 0;

  max-height: 370px;
}

.case-idfashion hr {
  background: #000;
}

.case-mundoneo .section-title {
  background: #f2f7f9 url(/assets/placeholder.php/1920x1080) no-repeat 50%;

  background-size: cover;
}

.case-mundoneo .image {
  display: flex;

  justify-content: center;

  left: 50%;

  max-width: 1020px;

  padding: 0 20px;

  position: absolute;

  top: 90px;

  transform: translate(-50%);

  width: 100%;
}

@media screen and (min-width: 728px) {
  .case-mundoneo .image {
    justify-content: flex-end;

    top: 50%;

    transform: translate(-50%, -50%);
  }
}

@media screen and (min-width: 1020px) {
  .case-mundoneo .image {
    padding: 0;
  }
}

.case-mundoneo .image img {
  display: block;

  height: 100%;

  margin: 0;

  max-height: 320px;
}

.case-mundoneo hr {
  background: #d56b92;
}

.case-dieedro .section-title {
  background: #fff;
}

@supports (mix-blend-mode: darken) {
  .case-dieedro .section-title {
    background: #fff url(/assets/placeholder.php/1920x1080) no-repeat bottom;

    background-size: contain;
  }
}

@media screen and (max-width: 728px) {
  .case-dieedro .section-title .title {
    margin-top: 320px;
  }
}

.case-dieedro .image {
  display: flex;

  justify-content: center;

  left: 50%;

  max-width: 1020px;

  mix-blend-mode: darken;

  overflow: hidden;

  padding: 0 20px;

  position: absolute;

  top: 90px;

  transform: translate(-50%);

  width: 100%;
}

@media screen and (min-width: 728px) {
  .case-dieedro .image {
    justify-content: flex-end;

    top: 50%;

    transform: translate(-50%, -50%);
  }
}

@media screen and (min-width: 1020px) {
  .case-dieedro .image {
    padding: 0;
  }
}

.case-dieedro .image img {
  display: block;

  height: 100%;

  margin: 0;

  max-height: 240px;
}

.case-dieedro hr {
  background: #000;
}

.case-domadora-cabelos .section-title {
  background: linear-gradient(90deg, #86739a, #432559);
}

.case-domadora-cabelos .section-title .title h1,
.case-domadora-cabelos .section-title .title p {
  color: #fff;
}

.case-domadora-cabelos .image {
  display: flex;

  justify-content: center;

  left: 50%;

  max-width: 1020px;

  overflow: hidden;

  padding: 0 20px;

  position: absolute;

  top: 90px;

  transform: translate(-50%);

  width: 100%;
}

@media screen and (min-width: 728px) {
  .case-domadora-cabelos .image {
    justify-content: flex-end;

    top: 50%;

    transform: translate(-50%, -50%);
  }
}

@media screen and (min-width: 1020px) {
  .case-domadora-cabelos .image {
    padding: 0;
  }
}

.case-domadora-cabelos .image img {
  display: block;

  height: 100%;

  margin: 0;

  max-height: 300px;
}

.case-domadora-cabelos hr {
  background: #3f1f54;
}

.case-matteleao .section-title {
  background: url(/assets/placeholder.php/1920x1080) no-repeat 50%;

  background-size: cover;
}

@media screen and (max-width: 728px) {
  .case-matteleao .section-title .title {
    margin-top: 350px;
  }
}

.case-matteleao .image {
  display: flex;

  justify-content: center;

  left: 50%;

  max-width: 1020px;

  overflow: hidden;

  padding: 0 20px;

  position: absolute;

  top: 90px;

  transform: translate(-50%);

  width: 100%;
}

@media screen and (min-width: 728px) {
  .case-matteleao .image {
    justify-content: flex-end;

    top: 50%;

    transform: translate(-50%, -50%);
  }
}

@media screen and (min-width: 1020px) {
  .case-matteleao .image {
    padding: 0;
  }
}

.case-matteleao .image img {
  display: block;

  height: 100%;

  margin: 0;

  max-height: 300px;
}

.case-matteleao hr {
  background: #000;
}

#nta-wa-gdpr {
  vertical-align: text-top !important;

  padding: 0 !important;

  margin: 0 !important;
}

.nta-wa-gdpr {
  font-size: 11px;

  padding: 5px;

  margin-left: -5px;

  margin-right: -5px;

  border-radius: 4px;
}

.nta-wa-gdpr a {
  text-decoration: underline;

  color: inherit;
}

.pointer-disable {
  pointer-events: none;
}

.whatsapp-button *,
.whatsapp-button :after,
.whatsapp-button :before,
.whatsapp-chatbox,
.whatsapp-chatbox *,
.whatsapp-chatbox :after,
.whatsapp-chatbox :before {
  box-sizing: border-box;

  -webkit-box-sizing: border-box;

  -moz-box-sizing: border-box;
}

.agent-status {
  display: flex;

  align-items: center;

  margin-top: 5px;

  font-size: 0.9em;

  font-weight: 500;
}

.status-dot {
  width: 10px;

  height: 10px;

  border-radius: 50%;

  margin-right: 6px;
}

.status-online .status-dot {
  background-color: #28a745;

  animation: pulseDot 1.2s infinite;
}

.status-offline .status-dot {
  background-color: #b9bbbe;
}

.status-online {
  color: #28a745;
}

.status-offline {
  color: #999;
}

@keyframes pulseDot {
  0% {
    transform: scale(1);

    opacity: 0.9;
  }

  50% {
    transform: scale(1.5);

    opacity: 0.5;
  }

  100% {
    transform: scale(1);

    opacity: 0.9;
  }
}

.online {
  background: #2db742;

  cursor: pointer;

  transition: 0.4s ease all;

  -webkit-transition: 0.4s ease all;

  -moz-transition: 0.4s ease all;

  backface-visibility: hidden;

  will-change: transform;
}

.online:before {
  content: "";

  transition: 0.4s ease all;

  -webkit-transition: 0.4s ease all;

  -moz-transition: 0.4s ease all;

  background: rgba(0, 0, 0, 0.2);

  position: absolute;

  left: 0;

  top: 0;

  z-index: -1;

  width: 100%;

  height: 100%;

  opacity: 0;

  will-change: opacity;
}

.whatsapp-button.online:active,
.whatsapp-button.online:focus,
.whatsapp-button.online:hover {
  box-shadow: 0 4px 8px 1px rgba(32, 32, 37, 0.19);

  transform: translate(0, -3px);

  -webkit-transform: translate(0, -3px);

  -moz-transform: translate(0, -3px);

  -ms-transform: translate(0, -3px);
}

.whatsapp-button.online:active:before,
.whatsapp-button.online:focus:before,
.whatsapp-button.online:hover:before {
  opacity: 1;
}

.offline {
  background: #ebedf0;

  color: #595b60;

  box-shadow: none;

  cursor: initial;
}

.whatsapp-chatbox {
  font-family: Arial, Helvetica, sans-serif;

  width: 351px;

  border-radius: 5px 5px 8px 8px;

  -webkit-border-radius: 5px 5px 8px 8px;

  -moz-border-radius: 5px 5px 8px 8px;

  position: fixed;

  overflow: hidden;

  box-shadow: 0 10px 10px 4px rgba(0, 0, 0, 0.04);

  -webkit-box-shadow: 0 10px 10px 4px rgba(0, 0, 0, 0.04);

  -moz-box-shadow: 0 10px 10px 4px rgba(0, 0, 0, 0.04);

  bottom: 102px;

  right: 25px;

  z-index: 998;

  opacity: 0;

  visibility: hidden;

  -ms-transform: translate(0, 50px);

  transform: translate(0, 50px);

  -webkit-transform: translate(0, 50px);

  -moz-transform: translate(0, 50px);

  transition: 0.4s ease all;

  -webkit-transition: 0.4s ease all;

  -moz-transition: 0.4s ease all;

  will-change: transform, visibility, opacity;

  max-width: calc(100% - 50px);
}

.whatsapp-chatbox:active,
.whatsapp-chatbox:focus,
.whatsapp-chatbox:hover {
  box-shadow: 0 10px 10px 4px rgba(32, 32, 37, 0.23);

  -webkit-box-shadow: 0 10px 10px 4px rgba(32, 32, 37, 0.23);

  -moz-box-shadow: 0 10px 10px 4px rgba(32, 32, 37, 0.23);
}

.whatsapp-chatbox.active {
  -ms-transform: translate(0, 0);

  transform: translate(0, 0);

  -webkit-transform: translate(0, 0);

  -moz-transform: translate(0, 0);

  visibility: visible;

  opacity: 1;
}

.whatsapp-chatbox .chatbox-header {
  position: relative;

  width: max-content;

  padding: 8px 43px 5px 75px;

  color: #d9ebc6;

  background: #32893f;

  flex-wrap: wrap;
}

.chatbox-header i {
  position: absolute;

  left: 17px;

  top: 20px;

  font-size: 35px;
}

.whatsapp-chatbox .chatbox-header .chatbox-title {
  padding-top: 2px;

  padding-bottom: 3;

  color: #fff;

  font-size: 18px;

  line-height: 24px;
}

.whatsapp-chatbox .chatbox-header .chatbox-hours {
  padding-top: 4px;

  font-size: 12px;

  font-weight: 500;

  line-height: 20px;
}

.whatsapp-chatbox .chatbox-header .chatbox-hours strong {
  margin: 5px;
}

.whatsapp-chatbox .chatbox-header .chatbox-hours a {
  display: inline-block;

  color: #fff;

  text-decoration: none;
}

.whatsapp-chatbox .chatbox-header .chatbox-hours a:active,
.whatsapp-chatbox .chatbox-header .chatbox-hours a:focus,
.whatsapp-chatbox .chatbox-header .chatbox-hours a:hover {
  text-decoration: underline;
}

.chatbox-welcome-message {
  color: #363636;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 5px;
}

.whatsapp-chatbox .chatbox-note {
  font-size: 11px;

  color: #ffffff;

  font-weight: 100;

  padding: 0;
}

.whatsapp-chatbox .chatbox-body {
  background: #fff;

  padding: 13px 20px 21px 19px;

  text-align: center;
}

.whatsapp-chatbox .chatbox-left {
  text-align: left;
}

.whatsapp-chatbox .agent-avatar {
  position: absolute;

  width: auto;

  height: auto;

  overflow: hidden;

  border-radius: 50%;

  -webkit-border-radius: 50%;

  -moz-border-radius: 50%;

  left: 12px;

  top: 12px;
}

.whatsapp-chatbox .agent-avatar.nta-default-avt {
  border-radius: unset;

  -webkit-border-radius: unset;

  -moz-border-radius: unset;
}

.whatsapp-chatbox .agent {
  background: #363636;

  padding: 13px 40px 12px 74px;

  position: relative;

  text-decoration: none;

  display: table;

  width: 100%;

  border-left: 2px solid #2db742;

  background: #f4faff;

  border-radius: 2px 4px 2px 4px;

  -webkit-border-radius: 2px 4px 2px 4px;

  -moz-border-radius: 2px 4px 2px 4px;
}

.whatsapp-chatbox .agent.online {
  transition: 0.2s ease all;

  -webkit-transition: 0.2s ease all;

  -moz-transition: 0.2s ease all;
}

.chatbox-list {
  box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
}

.whatsapp-chatbox .agent.online:active,
.whatsapp-chatbox .agent.online:focus,
.whatsapp-chatbox .agent.online:hover {
  background: #fff;

  box-shadow: 0 7px 15px 1px rgba(55, 62, 70, 0.07);

  -webkit-box-shadow: 0 7px 15px 1px rgba(55, 62, 70, 0.07);

  -moz-box-shadow: 0 7px 15px 1px rgba(55, 62, 70, 0.07);
}

.chatbox-list .chatbox-item {
  margin: 14px 0 0;

  transform: translate(0, 20px);

  -webkit-transform: translate(0, 20px);

  -moz-transform: translate(0, 20px);

  will-change: opacity, transform;

  opacity: 0;
}

.whatsapp-chatbox.whatsapp-pending .chatbox-list .chatbox-item {
  transition: 0.4s ease all;

  -webkit-transition: 0.4s ease all;

  -moz-transition: 0.4s ease all;

  transition-delay: 2.1s;

  -webkit-transition-delay: 2.1s;

  -moz-transition-delay: 2.1s;
}

.whatsapp-chatbox.whatsapp-pending .chatbox-list .chatbox-item:nth-child(1) {
  transition-delay: 0.3s;

  -webkit-transition-delay: 0.3s;

  -moz-transition-delay: 0.3s;
}

.whatsapp-chatbox.whatsapp-pending .chatbox-list .chatbox-item:nth-child(2) {
  transition-delay: 0.5s;

  -webkit-transition-delay: 0.5s;

  -moz-transition-delay: 0.5s;
}

.whatsapp-chatbox.whatsapp-pending .chatbox-list .chatbox-item:nth-child(3) {
  transition-delay: 0.7s;

  -webkit-transition-delay: 0.7s;

  -moz-transition-delay: 0.7s;
}

.whatsapp-chatbox.whatsapp-pending .chatbox-list .chatbox-item:nth-child(4) {
  transition-delay: 0.9s;

  -webkit-transition-delay: 0.9s;

  -moz-transition-delay: 0.9s;
}

.whatsapp-chatbox.whatsapp-pending .chatbox-list .chatbox-item:nth-child(5) {
  transition-delay: 1.1s;

  -webkit-transition-delay: 1.1s;

  -moz-transition-delay: 1.1s;
}

.whatsapp-chatbox.whatsapp-pending .chatbox-list .chatbox-item:nth-child(6) {
  transition-delay: 1.3s;

  -webkit-transition-delay: 1.3s;

  -moz-transition-delay: 1.3s;
}

.whatsapp-chatbox.whatsapp-pending .chatbox-list .chatbox-item:nth-child(7) {
  transition-delay: 1.5s;

  -webkit-transition-delay: 1.5s;

  -moz-transition-delay: 1.5s;
}

.whatsapp-chatbox.whatsapp-pending .chatbox-list .chatbox-item:nth-child(8) {
  transition-delay: 1.7s;

  -webkit-transition-delay: 1.7s;

  -moz-transition-delay: 1.7s;
}

.whatsapp-chatbox.whatsapp-pending .chatbox-list .chatbox-item:nth-child(9) {
  transition-delay: 1.9s;

  -webkit-transition-delay: 1.9s;

  -moz-transition-delay: 1.9s;
}

.whatsapp-chatbox.whatsapp-lauch .chatbox-list .chatbox-item {
  opacity: 1;

  transform: translate(0, 0);

  -webkit-transform: translate(0, 0);

  -moz-transform: translate(0, 0);
}

.chatbox-list .chatbox-item .agent-name {
  font-size: 14px;

  color: #363c47;

  line-height: 1.188em !important;
}

.chatbox-list .chatbox-item .agent-role {
  font-size: 11px;

  color: #989b9f;

  padding: 2px 0 0;

  line-height: 1.125em !important;
}

.chatbox-list .chatbox-item .whatsapp-member_status {
  color: #f5a623;

  font-size: 10px;

  padding: 5px 0 0;

  line-height: 1.125em !important;
}

.chatbox-list .chatbox-item .agent-info {
  display: table-cell;

  vertical-align: middle;

  min-height: 48px;

  height: 48px;
}

.chatbox-list .chatbox-item .offline {
  border-left-color: #c0c5ca;
}

.whatsapp-button {
  position: fixed;

  right: 30px;

  bottom: 30px;

  cursor: pointer;

  font-family: Arial, Helvetica, sans-serif;

  z-index: 999;

  box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
}

.whatsapp-button .whatsapp-icon {
  width: 56px;

  height: 56px;

  background: #2db742;

  border-radius: 50%;

  -webkit-border-radius: 50%;

  -moz-border-radius: 50%;

  box-shadow: 0 6px 8px 2px rgba(0, 0, 0, 0.14);

  -webkit-box-shadow: 0 6px 8px 2px rgba(0, 0, 0, 0.14);

  -moz-box-shadow: 0 6px 8px 2px rgba(0, 0, 0, 0.14);
}

.whatsapp-button .whatsapp-icon:before {
  content: "";

  position: absolute;

  z-index: 1;

  width: 100%;

  height: 100%;

  left: 0;

  top: 0;

  background: transparent
    url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NzguMTY1IDQ3OC4xNjUiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQ3OC4xNjUgNDc4LjE2NSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPjxwYXRoIGQ9Ik00NzguMTY1IDIzMi45NDZjMCAxMjguNTY3LTEwNS4wNTcgMjMyLjk2Ni0yMzQuNjc5IDIzMi45NjYtNDEuMTAyIDAtNzkuODE0LTEwLjU5OS0xMTMuNDQ1LTI4Ljk2OUwwIDQ3OC4xNjVsNDIuNDM3LTEyNS4wNGMtMjEuNDM4LTM1LjA2NS0zMy43Ny03Ni4yMDctMzMuNzctMTIwLjE1OUM4LjY2NyAxMDQuMzQgMTEzLjc2MyAwIDI0My40ODUgMGMxMjkuNjIzIDAgMjM0LjY4IDEwNC4zNCAyMzQuNjggMjMyLjk0NnpNMjQzLjQ4NSAzNy4wOThjLTEwOC44MDIgMC0xOTcuNDIyIDg3LjgwMy0xOTcuNDIyIDE5NS44NjggMCA0Mi45MTUgMTMuOTg2IDgyLjYwMyAzNy41NzYgMTE0Ljg3OWwtMjQuNTg2IDcyLjU0MiA3NS44NDktMjMuOTY4YzMxLjEyMSAyMC40ODEgNjguNDU3IDMyLjI5NiAxMDguNTgzIDMyLjI5NiAxMDguNzIzIDAgMTk3LjMyMy04Ny44NDMgMTk3LjMyMy0xOTUuOTA4IDAtMTA3Ljg4Ni04OC42LTE5NS43MDktMTk3LjMyMy0xOTUuNzA5ek0zNjEuOTMxIDI4Ni42MmMtMS4zOTUtMi4zMzEtNS4yMi0zLjc0Ni0xMC44OTgtNi44MTQtNS45MTctMi44NDktMzQuMDg5LTE2LjQ5Ny0zOS41MDgtMTguMzctNS4xNi0xLjkxMy04Ljk4Ni0yLjg0OS0xMi44MTEgMi44MjktNC4wMDUgNS42MzgtMTQuOTAzIDE4LjYyOS0xOC4yMyAyMi4zNTQtMy41NDYgMy43ODUtNi44NTQgNC4yNjQtMTIuNTUyIDEuNDM1LTUuNjE4LTIuODA5LTI0LjI2Ny04Ljg2Ni00Ni4yMDMtMjguMzkxLTE3LjA1NS0xNS4wNDItMjguNjctMzMuNzExLTMxLjk5Ny0zOS41MDgtMy40MjctNS43NTgtLjM5OC04LjgyNiAyLjQ3MS0xMS42MzUgMi42OS0yLjU5IDUuNzc4LTYuNzM0IDguNjI3LTEwLjA0MSAyLjk2OS0zLjI4NyAzLjkwNS01LjYzOCA1Ljc5OC05LjQyNCAxLjkxMy0zLjkwNS45MzYtNy4xOTItLjQ3OC0xMC4xNDEtMS40MTUtMi44NDktMTMuMDEtMzAuODgxLTE3Ljc1Mi00Mi4zMzctNC44NDEtMTEuNDE2LTkuNTQzLTkuNTIzLTEyLjg3MS05LjUyMy0zLjQ2NyAwLTcuMjEyLS40NzgtMTEuMTE3LS40NzgtMy43ODUgMC0xMC4wNDEgMS4zOTUtMTUuMzgxIDcuMTkyLTUuMiA1LjY1OC0yMC4xMjMgMTkuNDY1LTIwLjEyMyA0Ny41OTcgMCAyOC4wNTIgMjAuNjAxIDU1LjMwOCAyMy41NSA1OS4wNTMgMi44NjkgMy43ODUgMzkuNzQ3IDYzLjE5NyA5OC4zMDMgODYuMDcgNTguNDc2IDIyLjg3MiA1OC40NzYgMTUuMzIxIDY5LjExNSAxNC4zNjUgMTAuMzgtLjk1NiAzNC4wNjktMTMuODY3IDM4LjgxMS0yNy4wOTYgNC42Ni0xMy40NSA0LjY2LTI0Ljc2NiAzLjI0Ni0yNy4xMzd6IiBmaWxsPSIjRkZGIi8+PC9zdmc+)
    50% no-repeat;

  background-size: 30px auto;

  -webkit-background-size: 30px auto;

  -moz-background-size: 30px auto;

  transition: 0.4s ease all;

  -webkit-transition: 0.4s ease all;

  -moz-transition: 0.4s ease all;
}

.whatsapp-button .whatsapp-icon:after {
  content: "";

  opacity: 0;

  position: absolute;

  z-index: 2;

  width: 100%;

  height: 100%;

  left: 0;

  top: 0;

  background: transparent
    url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTguNjU5IDYuOTk4IDUtNWExLjE3NyAxLjE3NyAwIDAgMCAwLTEuNjU3IDEuMTc3IDEuMTc3IDAgMCAwLTEuNjU3IDBsLTUgNS01LTVBMS4xNzIgMS4xNzIgMCAwIDAgLjM0NSAxLjk5OGw1IDUtNSA1YTEuMTcyIDEuMTcyIDAgMCAwIDAgMS42NTcgMS4xNzcgMS4xNzcgMCAwIDAgMS42NTcgMGw1LTUgNSA1YTEuMTc3IDEuMTc3IDAgMCAwIDEuNjU3IDAgMS4xNzcgMS4xNzcgMCAwIDAgMC0xLjY1N2wtNS01WiIgZmlsbD0iI2ZmZiIvPjwvc3ZnPg==)
    50% no-repeat;

  background-size: 14px auto;

  -webkit-background-size: 14px auto;

  -moz-background-size: 14px auto;

  transition: 0.4s ease all;

  -webkit-transition: 0.4s ease all;

  -moz-transition: 0.4s ease all;

  -ms-transform: scale(0) rotate(-360deg);

  transform: scale(0) rotate(-360deg);

  -webkit-transform: scale(0) rotate(-360deg);

  -moz-transform: scale(0) rotate(-360deg);
}

.whatsapp-button.active .whatsapp-icon:before {
  opacity: 0;

  -ms-transform: scale(0) rotate(360deg);

  transform: scale(0) rotate(360deg);

  -webkit-transform: scale(0) rotate(360deg);

  -moz-transform: scale(0) rotate(360deg);
}

.whatsapp-button.active .whatsapp-icon:after {
  opacity: 1;

  -ms-transform: scale(1) rotate(0);

  transform: scale(1) rotate(0);

  -webkit-transform: scale(1) rotate(0);

  -moz-transform: scale(1) rotate(0);
}

.whatsapp-button .whatsapp-text {
  display: flex;

  position: absolute;

  width: 130px;

  right: 100%;

  background-color: #f5f7f9;

  font-size: 12px;

  color: #43474e;

  top: 7px;

  padding: 7px 0 7px 12px;

  letter-spacing: -0.03em;

  border-radius: 4px;

  -webkit-border-radius: 4px;

  -moz-border-radius: 4px;

  transition: 0.4s ease all;

  -webkit-transition: 0.4s ease all;

  -moz-transition: 0.4s ease all;

  flex-direction: column;

  box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
}

.whatsapp-button.active .whatsapp-text {
  -ms-transform: translate(0, 15px);

  transform: translate(0, 15px);

  -webkit-transform: translate(0, 15px);

  -moz-transform: translate(0, 15px);

  opacity: 0;

  visibility: hidden;
}

.pulsar-content {
  display: flex;

  justify-content: center;

  align-items: center;

  height: 100%;

  width: 100%;
}

.pulsar-1,
.pulsar-2,
.pulsar-3 {
  position: absolute;

  width: 55px;

  height: 55px;

  border-radius: 50%;

  animation: radial-pulsar 2.3s infinite;
}

.pulsar-1 {
  background: rgba(37, 211, 102, 1);
}

.pulsar-2 {
  animation-delay: 1.3333s;
}

.pulsar-3 {
  animation-delay: 2.6666s;
}

.icon-border {
  box-shadow: 0 0 0 1em #fff;

  height: 100%;

  width: 100%;

  position: absolute;

  width: 55px;

  height: 55px;

  border-radius: 50%;
}

@keyframes radial-pulsar {
  0% {
    box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.8);
  }

  50% {
    box-shadow: 0 0 0 1em rgba(255, 100, 100, 0);
  }

  100% {
    box-shadow: 0 0 0 0 rgba(255, 100, 100, 0);
  }
}

/* ========================================

   ANIMATION WOW ANIMATED

   ======================================== */

.animated {
  -webkit-animation-duration: 1s;

  animation-duration: 1s;

  -webkit-animation-fill-mode: both;

  animation-fill-mode: both;
}

.animated.infinite {
  -webkit-animation-iteration-count: infinite;

  animation-iteration-count: infinite;
}

.animated.hinge {
  -webkit-animation-duration: 2s;

  animation-duration: 2s;
}

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;

    -webkit-transform: translate3d(0, 80px, 0);

    transform: translate3d(0, 80px, 0);
  }

  100% {
    opacity: 1;

    -webkit-transform: none;

    transform: none;
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;

    -webkit-transform: translate3d(0, 80px, 0);

    -ms-transform: translate3d(0, 80px, 0);

    transform: translate3d(0, 80px, 0);
  }

  100% {
    opacity: 1;

    -webkit-transform: none;

    -ms-transform: none;

    transform: none;
  }
}

.fadeInUp {
  -webkit-animation-name: fadeInUp;

  animation-name: fadeInUp;
}

.parallax-section {
  position: relative;

  background-position: 50% 50%;

  background-size: cover;

  background-repeat: no-repeat;

  background-attachment: fixed;
}

.parallax-section .parallax-overlay {
  position: absolute;

  inset: 0;

  pointer-events: none;

  z-index: 0;
}

.parallax-section > *:not(.parallax-overlay):not(.bg) {
  position: relative;

  z-index: 2;
}

.parallax-section .parallax-overlay {
  z-index: 1;
}

.parallax-section .bg {
  z-index: 0;
}

@media (max-width: 991px) {
  #home .produtos .title img {
    display: block;

    width: 120px;
  }

  .parallax-section {
    background-attachment: scroll !important;

    background-position: center top;
  }
}

body.pagina .parallax-section {
  position: relative;

  padding: 6rem 0 3rem;

  text-align: center;

  color: #1d1d1d;

  overflow: hidden;
}

body.pagina .parallax-section .wrapper {
  position: relative;

  z-index: 2;
}

body.pagina .parallax-section.parallax-section {
  color: #ffffff;

  background-position: center center;

  background-size: cover;

  background-repeat: no-repeat;

  background-attachment: fixed;
}

body.pagina .parallax-section .parallax-overlay {
  position: absolute;

  inset: 0;

  z-index: 1;

  pointer-events: none;

  background-color: rgba(7, 12, 23, 0.55);
}

body.pagina .parallax-section > .wrapper > h1 {
  font-size: 3rem;

  color: #ffffff;

  letter-spacing: 0.04em;

  text-transform: uppercase;

  margin-bottom: 1rem;
}

body.pagina .parallax-section hr {
  width: 80px;

  margin: 0 auto 1.5rem;

  border: 0;

  border-top: 3px solid currentColor;
}

body.pagina .parallax-section .wrapper > p {
  max-width: 760px;

  margin: 0 auto;

  font-size: 1.05rem;
}

body.pagina .parallax-section.parallax-section p {
  color: rgba(255, 255, 255, 0.85);
}

/* ── Filtros da galeria de imagens ── */
.galeria-filter {
  text-align: center;
  padding: 1.5rem 1rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
}

.galeria-filter-btn {
  background: transparent;
  border: 1.5px solid #333;
  color: #333;
  padding: 0.45rem 1.2rem;
  font-size: 0.9rem;
  border-radius: 30px;
  cursor: pointer;
  transition: all 0.3s ease;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 500;
}

.galeria-filter-btn:hover,
.galeria-filter-btn.active {
  background: #333;
  color: #fff;
}

section.galeria {
  padding: 30px 0px;
}

.input-container {
  display: flex;

  flex-direction: column;
}

.input-container {
  justify-content: center;

  flex-direction: column;

  background-color: #fff;

  padding: 30px;

  border-radius: 10px;

  border: 1.5px solid #d1d1d1;

  width: 100%;
}

.input-content {
  margin-bottom: 15px;
}

.input-content {
  display: flex;

  justify-content: space-between;

  align-items: flex-start;

  flex-wrap: nowrap;
}

div#lista-avaliacoes {
  display: flex;

  padding: 0 50px;

  margin-top: 2em;

  justify-content: center;

  align-items: center;

  flex-wrap: wrap;

  gap: 10px;
}

.review-author {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1 1 auto;
  font-size: 1.1em;
  color: #000;
  margin-bottom: 0;
}

.review-avatar {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  background: #000;
  color: #fff;
  text-align: center;
  border-radius: 50%;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 12px;
  user-select: none;
}

.review-name {
  flex: 1 1 auto;
  line-height: 1.2;
}

.review-verified {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.9rem;
  color: #444;
}

.review-verified .verified {
  display: flex;
  font-size: 11px;
  align-items: center;
}

.review-verified .verified svg {
  margin-right: 5px;
}

.review-meta {
  flex-shrink: 0;
  font-size: 0.9rem;
  color: #666;
  white-space: nowrap;
}

.review-meta .review-date {
  font-size: 11px;
}

#avaliar {
  display: flex;

  flex-direction: column;

  align-items: center;
}

.estrelas {
  margin: 0.3em 0;
}

#avaliar,
section#avaliacoes {
  position: relative;

  display: flex;

  padding: 2em;

  background: #e6e6e7;

  color: #1a1a1a;

  font-family: Arial, sans-serif;

  align-content: center;

  align-items: center;

  flex-direction: column;

  flex-wrap: wrap;

  justify-content: center;
}

#avaliar,
.form-field,
.recomenda,
.review,
.review-helpful,
.thumb-group,
div#lista-avaliacoes {
  width: -webkit-fill-available;
}

#avaliar h3,
section#avaliacoes h2 {
  font-size: 1.8em;

  margin-bottom: 1em;

  color: #000;

  border-bottom: 2px solid #0078d4;

  padding-bottom: 0.5em;
}

.review-body {
  font-size: 1em;

  color: #333;
}

button#carregar-mais {
  display: none;

  background: #fff;

  color: #000;

  border: 1px solid;

  font-size: 1em;

  border-radius: 4px;
}

#form-avaliacao button:hover,
button#carregar-mais:hover {
  background: #000;

  color: #fff;
}

#form-avaliacao {
  width: 800px;

  display: flex;

  margin-top: 2em;

  flex-direction: row;

  justify-content: center;

  align-items: flex-end;

  flex-wrap: nowrap;
}

#form-avaliacao label {
  display: block;

  margin-top: 1em;

  font-weight: 600;
}

.helpful-count,
.review-author,
.review-header,
span#nota-media {
  font-weight: 700;
}

#form-avaliacao input,
#form-avaliacao textarea {
  box-sizing: border-box;

  width: 100%;

  padding: 0.6em;

  margin-top: 0.3em;

  border: 1px solid #ccc;

  border-radius: 4px;

  font-size: 1em;
}

#form-avaliacao button {
  background: #fff;

  color: #000;

  border: 1px solid;

  font-size: 1em;

  border-radius: 4px;
}

#form-avaliacao button:disabled,
#form-avaliacao button[disabled] {
  opacity: 0.45;

  cursor: not-allowed;
}

#form-avaliacao button,
button#carregar-mais {
  margin-top: 1.5em;

  padding: 0.8em 1.6em;

  cursor: pointer;

  transition: 0.3s;
}

span#nota-media {
  color: #2c2c2c;

  font-size: 64px;

  line-height: 0.9;

  text-align: center;
}

.rating-summary {
  text-align: center;

  margin-bottom: 2em;
}

.estrelas {
  color: #ffc400;

  font-size: 2.2em;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;

  height: 20px;

  -webkit-box-pack: center;

  -ms-flex-pack: center;

  justify-content: center;
}

#rating-chart {
  width: -webkit-fill-available;
}

#rating-chart .chart {
  display: flex;

  justify-content: space-between;

  flex-direction: column;

  height: 100%;
  margin-bottom: 20px;
}

#rating-chart .chart .rating-box {
  display: flex;

  justify-content: center;

  align-items: center;

  gap: 15px;

  height: 15px;

  padding: 20px 0;

  padding: 10px;

  cursor: pointer;

  transition: opacity 0.2s ease-in-out;
}

#rating-chart .chart .rating-box > * {
  height: 100%;

  display: flex;

  align-items: flex-start;

  font-weight: 500;

  color: #444;
}

#rating-chart .chart .rating-box .rating-value {
  display: flex;

  align-items: center;

  font-size: 30px;

  cursor: inherit;

  transition: color 0.2s ease-in-out;
}

#rating-chart .chart .rating-box .rating-value.is-active,
#rating-chart .chart .rating-box.is-active .rating-value {
  color: #66bb6a;

  padding: 0;
}

#rating-chart .chart .rating-box.is-active .rating-count {
  color: #66bb6a;
}

#rating-chart .chart .rating-box .rating-value:hover {
  color: #66bb6a;
}

#rating-chart .chart .rating-box .progress-bar {
  border-width: 1px;

  position: relative;

  background: #cfd8dc91;

  height: 10px;

  border-radius: 100px;

  width: 350px;
}

#rating-chart .chart .rating-box .progress-bar .progress {
  background: #66bb6a;

  height: 100%;

  border-radius: 100px;

  transition: 0.3s ease-in-out;

  margin: 0;
}

#rating-chart .chart .rating-box .rating-count {
  font-family: "Open Sans", Verdana, sans-serif;

  width: 11%;

  display: inline-block;

  text-align: left;

  padding-left: 5px;

  color: #555;

  white-space: nowrap;

  letter-spacing: 0.06rem;
}

#rating-chart .chart span.rating-count:before {
  content: "(";
}

#rating-chart .chart span.rating-count:after {
  content: ")";
}

#rating-chart.is-filtered .chart .rating-box {
  opacity: 0.6;
}

#rating-chart.is-filtered .chart .rating-box.is-active {
  opacity: 1;
}

#rating-chart .chart-btn {
  display: none;
}

#rating-chart .chart-btn.active {
  display: flex;

  justify-content: center;
}

#rating-chart .chart-btn button {
  border-radius: 20px;
  font-size: 13px;
  line-height: 20px;
  font-family: Montserrat, "Helvetica Neue", Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: 1px;
  background: transparent;
  border: 1px solid #e53935;
  outline: 0;
  color: #e53935;
  padding: 6px 20px;
  cursor: pointer;
  transition:
    background 0.25s ease,
    color 0.25s ease,
    transform 0.15s ease;
}

#rating-chart .chart-btn button:hover {
  color: #fff;
  background: #e53935;
  transform: scale(1.05);
}

#form-avaliacao .stars > span,
.bottomreview,
.errorcontainer,
.input,
.inputbox,
.names,
.rating,
.review-helpful,
.reviewstuff,
.rname,
.stars,
.stars2,
div.curtir,
review,
reviews {
  display: flex;
}

.rating,
reviews {
  justify-content: center;
}

.rating {
  direction: rtl;

  unicode-bidi: bidi-override;

  font-size: 2em;

  gap: 0.2em;
}

.review-helpful {
  justify-content: space-between;
}

.review-header {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  justify-content: space-between;
  margin-bottom: 10px;
  align-items: center;
}

.rating label {
  color: #ccc;

  cursor: pointer;

  margin: 0 !important;
}

.rating input:checked ~ label,
.rating label:hover,
.rating label:hover ~ label {
  color: #f5b301;
}

.review-item {
  border-bottom: 1px solid #ccc;

  box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);

  background: #f9f9f9;

  border-left: 4px solid #0078d4;

  padding: 1em;

  margin-bottom: 1em;

  border-radius: 4px;
}

.review-body {
  margin: 0.5em 0;
}

.review-content,
.review-rating {
  margin-bottom: 10px;
}

.review-actions {
  margin-top: 10px;
}

.review-actions button {
  margin-right: 10px;

  padding: 5px 10px;

  border: none;

  background-color: #f0f0f0;

  cursor: pointer;

  border-radius: 4px;

  transition: background-color 0.3s;
}

.review-actions button:hover {
  background-color: #e0e0e0;
}

.review-actions button:disabled {
  background-color: #ccc;

  cursor: not-allowed;
}

#loader {
  display: none;
  text-align: center;
  margin: 30px auto;
}

#loader .pinterest-loader {
  display: inline-flex;
  gap: 6px;
  align-items: center;
}

#loader .pinterest-loader__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  animation: pinterestBounce 1.4s ease-in-out infinite;
}

#loader .pinterest-loader__dot:nth-child(1) {
  background: #e53935;
  animation-delay: -0.32s;
}

#loader .pinterest-loader__dot:nth-child(2) {
  background: #555;
  animation-delay: -0.16s;
}

#loader .pinterest-loader__dot:nth-child(3) {
  background: #66bb6a;
  animation-delay: 0s;
}

@keyframes pinterestBounce {
  0%,
  80%,
  100% {
    transform: scale(0.4);
    opacity: 0.4;
  }
  40% {
    transform: scale(1);
    opacity: 1;
  }
}

.review {
  opacity: 0;
  transform: translateY(10px);
  transition:
    opacity 0.3s ease,
    transform 0.3s ease;
  border: 1px solid #ddd;
  padding: 15px;
  border-radius: 5px;
  background-color: #f9f9f9;
  font-family: Arial, sans-serif;
  width: 100%;
  box-sizing: border-box;
}

.firstname,
.lastname,
.reviewinp,
.submit {
  outline: 0;

  font-family: "Sulphur Point", sans-serif;
}

.review.active {
  opacity: 1;
  transform: translateY(0);
}

.review-rating {
  color: #ffc400;

  font-size: 20px;
}

.star {
  font-size: 24px;
}

.review-content {
  font-size: 14px;

  color: #555;
}

.review-video {
  margin: 10px 0;
}

.review-video-player {
  width: 100%;
  max-height: 300px;
  border-radius: 5px;
  background: #000;
}

.review-helpful {
  gap: 5px;

  font-size: 14px;

  display: flex;

  flex-direction: row;
}

.thumbs-up {
  cursor: pointer;
}

button.curtir {
  background: no-repeat;
  color: #000;
  border: 0;
  cursor: pointer;
  transition:
    transform 0.2s ease,
    color 0.2s ease;
}

button.curtir:hover:not(:disabled) {
  color: #e53935;
}

button.curtir.liked {
  color: #e53935;
  cursor: default;
}

button.curtir.liked .i-like {
  display: inline-block;
  animation: likePopIn 0.45s cubic-bezier(0.17, 0.89, 0.32, 1.49);
}

@keyframes likePopIn {
  0% {
    transform: scale(0.2);
    opacity: 0;
  }
  50% {
    transform: scale(1.4);
  }
  70% {
    transform: scale(0.9);
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

div.curtir {
  justify-content: space-between;

  align-items: flex-end;
}

.firstname,
div.curtir > span {
  margin-right: 10px;
}

i.fa-solid.fa-thumbs-up {
  font-size: 22px;

  cursor: pointer;
}

reviews {
  align-items: center;

  width: 100%;

  margin-bottom: 20%;
}

.reviewstuff,
review {
  width: 80%;
}

review {
  justify-content: center;

  align-items: center;

  text-align: center;

  padding: 0 50px;

  font-size: 1.1rem;

  overflow: hidden;
}

.input {
  justify-content: space-between;

  align-items: center;

  width: 100%;
}

.reviewinp {
  width: 300px;

  height: 70px;

  border-radius: 5px;

  border: none;

  background-color: #f5f5f5;

  resize: none;

  padding: 10px 5px 10px 10px;

  font-size: 1rem;
}

.stars {
  padding: 0;

  align-items: flex-start;

  flex-direction: column;

  justify-content: flex-start;

  align-items: center;

  width: -webkit-fill-available;
}

#form-avaliacao .stars > label {
  display: flex;

  flex-wrap: nowrap;

  align-items: flex-end;

  justify-content: center;
}

#form-avaliacao .stars > span {
  flex-wrap: nowrap;

  align-items: flex-end;

  justify-content: center;

  margin: 10px 0 5px;
}

.star1,
.star2,
.star3,
.star4,
.star5 {
  margin-right: 5px;

  font-size: 1.3rem;

  cursor: pointer;
}

.submit {
  color: #fff;

  background-color: #036bfc;

  border: none;

  padding: 10px 20px;

  border-radius: 5px;

  cursor: pointer;

  font-size: 1rem;

  transition: 0.2s ease-in-out;
}

.submit:hover {
  background-color: #4592ff;
}

.arrows {
  font-size: 1.8rem;

  cursor: pointer;
}

.input-container {
  justify-content: center;

  flex-direction: column;

  background-color: #fff;

  padding: 30px;

  border-radius: 10px;

  border: 1.5px solid #d1d1d1;

  width: 100%;
}

.inputbox,
.names {
  justify-content: flex-start;

  align-items: center;

  width: -webkit-fill-available;

  flex-direction: row;

  flex-wrap: wrap;
}

.firstname,
.lastname {
  width: 100%;

  padding: 10px 0 10px 10px;

  border-radius: 5px;

  border: none;

  background-color: #f5f5f5;

  font-size: 1rem;
}

.lastname {
  margin-left: 10px;
}

.reviewstuff {
  flex-direction: column;

  justify-content: center;

  align-items: center;
}

.bottomreview,
.rname {
  justify-content: center;
}

.rname {
  margin-right: 30px;
}

.rfname {
  margin-right: 2.5px;
}

.rlname {
  margin-left: 2.5px;
}

.bottomreview {
  width: 40%;

  align-items: center;

  margin-top: 20px;
}

.errorcontainer {
  width: 85%;

  justify-content: center;

  align-items: center;

  margin-bottom: 50px;

  position: absolute;

  background-color: #ff4242;

  color: #fff;

  padding: 10px 75px;

  text-align: center;

  opacity: 0;

  transition: opacity, 0.5s;
}

.exc {
  margin-right: 20px;

  font-size: 1.3rem;
}

.thank-you-container {
  font-size: 1rem;

  font-weight: 600;

  color: #919191;

  display: none;

  align-items: center;

  transition: 0.7s;
}

.fa-kiss-wink-heart {
  color: #ff429a;

  margin-left: 10px;
}

.input-content {
  display: flex;

  justify-content: space-between;

  align-items: flex-start;

  flex-wrap: nowrap;
}

.recomenda {
  display: flex;

  padding: 0 30px;

  align-items: center;

  justify-content: center;

  flex-wrap: nowrap;

  flex-direction: column;
}

#form-avaliacao .nao-recomendo label,
#form-avaliacao .recomendo label {
  width: auto;

  margin: 0;
}

#form-avaliacao .nao-recomendo input,
#form-avaliacao .recomendo input {
  width: auto;

  margin: 0;

  cursor: pointer;
}

.form-field {
  text-align: center;

  margin: 0;
}

.thumb-group {
  display: flex;

  gap: 20px;

  flex-wrap: nowrap;

  flex-direction: row;

  align-items: flex-start;

  justify-content: center;
}

.thumb-option {
  display: flex;

  align-items: center;

  font-family: Arial, sans-serif;

  font-size: 16px;
}

.thumb-icon {
  width: 24px;

  height: 24px;
}

.thumb-icon svg {
  width: 100%;

  height: 100%;

  fill: #444;
}

.thumb-option:hover .thumb-icon svg {
  fill: #ffffff;
}

#form-avaliacao .form-field > label {
  display: flex;

  flex-wrap: nowrap;

  align-items: flex-end;

  justify-content: center;

  margin: 25px 0 10px;
}

#form-avaliacao .form-field .thumb-group label.thumb-option {
  display: flex;

  flex-direction: row;

  flex-wrap: nowrap;

  align-items: flex-end;

  justify-content: space-between;

  margin: 0;

  display: -webkit-box;

  display: -webkit-flex;

  display: -ms-flexbox;

  display: flex;

  -webkit-flex-direction: row;

  -ms-flex-direction: row;

  flex-direction: row;

  -webkit-align-items: center;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  position: relative;

  -webkit-transition: 0.1s;

  transition: 0.1s;

  font-size: 15px;

  font-weight: 400;

  font-style: normal;

  padding: 7.5px 15px;

  line-height: 20px;

  color: #111;

  fill: rgb(17, 17, 17);

  background: rgba(17, 17, 17, 0.05);

  border: 2px solid transparent;

  border-radius: 4px;
}

#form-avaliacao .form-field .thumb-group label.thumb-option.recomendo.selected,
#form-avaliacao .form-field .thumb-group label.thumb-option.recomendo:hover {
  display: -webkit-box;

  display: -webkit-flex;

  display: -ms-flexbox;

  display: flex;

  -webkit-flex-direction: row;

  -ms-flex-direction: row;

  flex-direction: row;

  -webkit-align-items: center;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  position: relative;

  -webkit-transition: 0.1s;

  transition: 0.1s;

  font-size: 15px;

  font-weight: 400;

  font-style: normal;

  padding: 7.5px 15px;

  line-height: 20px;

  color: #fff;

  fill: rgb(255, 255, 255);

  background: #0ec12f;

  border: 2px solid #0ec12f;

  border-radius: 4px;
}

#form-avaliacao
  .form-field
  .thumb-group
  label.thumb-option.nao-recomendo.selected,
#form-avaliacao
  .form-field
  .thumb-group
  label.thumb-option.nao-recomendo:hover {
  display: -webkit-box;

  display: -webkit-flex;

  display: -ms-flexbox;

  display: flex;

  -webkit-flex-direction: row;

  -ms-flex-direction: row;

  flex-direction: row;

  -webkit-align-items: center;

  -webkit-box-align: center;

  -ms-flex-align: center;

  align-items: center;

  position: relative;

  -webkit-transition: 0.1s;

  transition: 0.1s;

  font-size: 15px;

  font-weight: 400;

  font-style: normal;

  padding: 7.5px 15px;

  line-height: 20px;

  color: #fff;

  fill: rgb(255, 255, 255);

  background: #ef4623;

  border: 2px solid #ef4623;

  border-radius: 4px;
}

.thumb-option {
  border: 2px solid transparent;

  padding: 10px;

  border-radius: 6px;

  transition: 0.3s;

  display: flex;

  align-items: center;

  gap: 8px;

  cursor: pointer;
}

.thumb-option:hover {
  border-color: #ccc;

  background-color: #f9f9f9;
}

.thumb-option.selected {
  border-color: #0078d4;

  background-color: #e6f2fb;

  box-shadow: 0 0 0 2px rgba(0, 120, 212, 0.2);
}

#form-avaliacao
  .form-field
  .thumb-group
  label.thumb-option.nao-recomendo.selected
  .thumb-icon
  svg,
#form-avaliacao
  .form-field
  .thumb-group
  label.thumb-option.recomendo.selected
  .thumb-icon
  svg {
  fill: #fff;
}

/* Estilos bÃ¡sicos para a seÃ§Ã£o de avaliaÃ§Ã£o */

#avaliar {
  position: relative;

  background-color: #e6e6e7;

  padding: 20px;

  border-radius: 8px;

  max-width: 100%;

  margin: 20px auto;
}

/* Estilos para tÃ­tulos */

#avaliar h3 {
  font-size: 24px;

  color: #333;

  margin-bottom: 15px;
}

/* Estilos para o formulÃ¡rio */

#form-avaliacao {
  display: flex;

  flex-direction: column;
}

/* Estilo para os contÃªineres de entrada */

.input-container {
  display: flex;

  flex-direction: column;
}

/* Estilos para os campos de entrada */

.input-content {
  margin-bottom: 15px;
}

.names label,
.inputbox label {
  font-weight: bold;

  margin-bottom: 5px;
}

input[type="text"],
textarea {
  width: 100%;

  padding: 10px;

  border: 1px solid #ccc;

  border-radius: 4px;

  font-size: 16px;

  transition: border-color 0.3s;
}

/* Foco nos campos de entrada */

input[type="text"]:focus,
textarea:focus {
  border-color: #007bff;

  outline: none;
}

/* Estilos para as classificaÃ§Ãµes por estrela */

.stars {
  margin-top: 10px;
}

.rating {
  display: flex;
}

.rating input {
  display: none;
}

.rating label {
  cursor: pointer;

  /* Mudar o cursor ao passar por cima*/

  font-size: 24px;

  color: #ccc;
}

.rating input:checked ~ label {
  color: #ffcc00;
}

/* Estilos para o botÃ£o de envio */

button[type="submit"] {
  background-color: #28a745;

  color: white;

  padding: 10px;

  border: none;

  border-radius: 4px;

  font-size: 18px;

  cursor: pointer;

  transition: background-color 0.3s;
}

button[type="submit"]:hover {
  background-color: #218838;
}

button[type="submit"].is-sending {
  position: relative;
  pointer-events: none;
  background-color: #28a745;
  overflow: hidden;
}

button[type="submit"].is-sending .btn-dots {
  display: inline-flex;
  gap: 4px;
  margin-left: 6px;
  vertical-align: middle;
}

button[type="submit"].is-sending .btn-dots span {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #fff;
  display: inline-block;
  animation: btnDotPulse 1.2s ease-in-out infinite;
}

button[type="submit"].is-sending .btn-dots span:nth-child(2) {
  animation-delay: 0.2s;
}

button[type="submit"].is-sending .btn-dots span:nth-child(3) {
  animation-delay: 0.4s;
}

@keyframes btnDotPulse {
  0%,
  80%,
  100% {
    opacity: 0.3;
    transform: scale(0.6);
  }
  40% {
    opacity: 1;
    transform: scale(1);
  }
}

/* Estilos para a mensagem de agradecimento */

.thank-you-container {
  margin-top: 20px;

  display: none;
}

.thank-you {
  font-size: 18px;

  color: #333;
}

.mensagem-sucesso,
.mensagem-erro {
  padding: 10px 14px;

  border-radius: 4px;

  font-size: 16px;

  margin-top: 10px;
}

.mensagem-sucesso {
  background-color: #e6f4ea;

  color: #1e7b34;

  border: 1px solid #9fd4ac;
}

.mensagem-erro {
  background-color: #fdecea;

  color: #9f1c1c;

  border: 1px solid #f3b3ac;
}

/* ðŸ“± Dispositivos pequenos (smartphones atÃ© 576px) */

@media (max-width: 576px) {
  section#avaliacoes {
    position: relative;

    display: flex;

    padding: 0.5em;

    background: #e6e6e7;

    color: #1a1a1a;

    font-family: Arial, sans-serif;

    align-content: center;

    align-items: center;

    flex-direction: column;

    flex-wrap: wrap;

    justify-content: center;
  }

  #avaliar {
    padding: 1rem;
  }

  div#lista-avaliacoes {
    display: flex;

    padding: 0;

    margin-top: 2em;

    justify-content: center;

    align-items: center;

    flex-wrap: wrap;
  }

  .review-helpful {
    gap: 5px;

    font-size: 14px;

    display: flex;

    flex-direction: column;
  }

  .review-header {
    display: flex;

    /* flex-direction: column; */
  }

  #form-avaliacao {
    display: flex;

    width: -webkit-fill-available;

    display: flex;

    margin-top: 2em;

    justify-content: center;

    flex-wrap: wrap;

    flex-direction: row;

    align-items: flex-end;
  }

  .input-container {
    display: flex;

    justify-content: center;

    background-color: #fff;

    padding: 20px;

    border-radius: 10px;

    border: 1.5px solid #d1d1d1;

    width: 100%;
  }

  .input-content {
    margin-bottom: 15px;

    display: block;

    justify-content: space-between;

    align-items: flex-start;

    flex-wrap: nowrap;
  }

  .input {
    justify-content: space-between;

    align-items: center;

    width: 100%;

    display: block;
  }

  h3 {
    font-size: 1.25rem;
  }

  .rating label {
    font-size: 1.9rem;
  }

  button[type="submit"] {
    width: 100%;

    font-size: 1rem;
  }

  .thumb-group {
    flex-direction: column;

    gap: 0.75rem;

    display: flex;

    gap: 20px;

    flex-wrap: nowrap;

    flex-direction: row;

    align-items: flex-start;

    justify-content: center;
  }

  .input-content,
  .inputbox,
  .form-field {
    width: 100%;
  }
}

/* ðŸ’» Dispositivos grandes (notebooks de 769px a 1024px) */

@media (min-width: 769px) and (max-width: 1024px) {
  section#avaliar {
    padding: 2rem;
  }

  .rating label {
    font-size: 2rem;
  }

  .thumb-group {
    justify-content: flex-start;

    gap: 2rem;
  }
}

/* ðŸ–¥ï¸ Dispositivos extra grandes (desktops maiores que 1024px)*/

@media (min-width: 1025px) {
  section#avaliar {
    position: relative;

    /* padding: 2rem 3rem; */
  }

  h3 {
    font-size: 2rem;
  }

  .rating label {
    font-size: 2.25rem;
  }

  .thumb-group {
    gap: 2.5rem;
  }
}

.rating input,
.thumb-input,
[hidden],
span.nota {
  display: none;
}

.overlay.active {
  opacity: 1;

  visibility: visible;

  -webkit-transition: opacity 0.5s linear;

  transition: opacity 0.5s linear;
}

.overlay {
  background: rgba(20 20 20 / 80%);

  backdrop-filter: blur(2px);

  bottom: 0;

  left: 0;

  opacity: 0;

  position: fixed;

  right: 0;

  top: 0;

  -webkit-transition: 0.5s linear;

  transition: 0.5s linear;

  visibility: hidden;

  height: 100%;

  width: 100%;

  z-index: 99;
}

[data-track] {
  perspective: 1200px;
}

[data-track]::-webkit-scrollbar {
  display: none;
}

[data-track] .slick-slide {
  opacity: 0.55;

  transform: translateZ(-180px) scale(0.88);

  transition:
    opacity 0.45s ease-in-out,
    transform 0.45s ease-in-out;

  z-index: 1;
}

[data-track] .slick-slide [data-review] {
  transform: translateY(0) scale(0.94);

  transition:
    transform 0.45s ease-in-out,
    box-shadow 0.45s ease-in-out;

  box-shadow: 0 12px 24px -24px rgba(17, 24, 39, 0.6);

  margin: 0 14px;
}

[data-track] .slick-slide.slick-center {
  opacity: 1;

  transform: translateZ(0);

  z-index: 3;
}

[data-track] .slick-slide.slick-center [data-review],
[data-track] [data-review].active {
  transform: translateY(-0.8rem) scale(1.08);

  box-shadow: 0 24px 40px -14px rgba(15, 118, 110, 0.45);

  margin: 0 18px;
}

.link-avaliacoes {
  text-align: center;

  padding: 17px;
}

.link-avaliacoes i {
  font-size: 22px;
}

.link-avaliacoes a {
  font-size: 18px;

  color: #ffffff;

  font-family: monospace;
}

.review-images {
  margin-top: 1.5rem;

  margin-bottom: 0.5rem;

  display: flex;

  justify-content: flex-start;
}

.review-images__item {
  position: relative;

  display: flex;

  align-items: center;

  justify-content: center;

  width: clamp(180px, 45vw, 260px);

  height: clamp(160px, 38vw, 200px);

  border-radius: 16px;

  overflow: hidden;

  line-height: 0;

  /* background: linear-gradient(135deg, rgba(15, 23, 42, .95), rgba(30, 64, 175, .85)); */

  box-shadow: 0 18px 36px rgba(15, 23, 42, 0.28);

  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease;
}

.review-images__item img {
  display: block;

  width: 100%;

  height: 100%;

  object-fit: cover;

  border-radius: inherit;

  transition: transform 0.35s ease;
}

.review-images__item::after {
  content: "Abrir";

  position: absolute;

  inset-inline: 0;

  bottom: 0;

  padding: 0.55rem 0.85rem;

  background: linear-gradient(
    180deg,
    rgba(15, 23, 42, 0) 0%,
    rgba(15, 23, 42, 0.85) 85%
  );

  color: #f8fafc;

  font-size: 0.85rem;

  letter-spacing: 0.03em;

  text-transform: uppercase;

  text-align: center;

  opacity: 1;

  transform: translateY(0px);

  transition:
    opacity 0.3s ease,
    transform 0.3s ease;

  pointer-events: none;
}

.review-images__item:hover,
.review-images__item:focus {
  transform: translateY(-4px);

  box-shadow: 0 22px 38px rgba(15, 23, 42, 0.32);
}

.review-images__item:hover img,
.review-images__item:focus img {
  transform: scale(1.05);
}

.review-images__item:hover::after,
.review-images__item:focus::after {
  opacity: 1;

  transform: translateY(0);
}

.review-images__item:focus {
  outline: 2px solid rgba(14, 165, 233, 0.85);

  outline-offset: 4px;
}

@media (max-width: 640px) {
  .review-images {
    justify-content: left;
  }

  .review-images__item {
    width: 100%;

    max-width: 150px;

    /* height: clamp(150px, 55vw, 200px); */
  }
}

.review-images {
  --review-thumb-width: clamp(140px, 28vw, 200px);

  --review-thumb-ratio: 4 / 3;

  --review-thumb-height: calc(var(--review-thumb-width) * 0.75);

  display: flex;

  gap: 0.75rem;

  margin-top: 1rem;

  overflow-x: auto;

  padding-bottom: 0.5rem;

  scroll-snap-type: x mandatory;
}

.review-images::-webkit-scrollbar {
  height: 6px;
}

.review-images::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.2);

  border-radius: 999px;
}

.review-images__item {
  flex: 0 0 var(--review-thumb-width);

  width: var(--review-thumb-width);

  max-width: var(--review-thumb-width);

  scroll-snap-align: start;
}

.review-images__thumb {
  background: transparent;

  border: none;

  border-radius: 12px;

  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);

  cursor: pointer;

  display: block;

  height: var(--review-thumb-height);

  overflow: hidden;

  padding: 0;

  aspect-ratio: var(--review-thumb-ratio);

  width: 100%;

  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.review-images__thumb:focus,
.review-images__thumb:hover {
  transform: translateY(-2px);

  box-shadow: 0 12px 20px rgba(0, 0, 0, 0.18);

  outline: none;
}

.review-images__thumb img {
  display: block;

  width: 100%;

  height: 100%;

  object-fit: cover;
}

@media (max-width: 767px) {
  .review-images {
    --review-thumb-width: clamp(120px, 45vw, 160px);

    --review-thumb-ratio: 1 / 1;

    --review-thumb-height: var(--review-thumb-width);
  }
}

.review-image-modal {
  position: fixed;

  top: 0;

  right: 0;

  bottom: 0;

  left: 0;

  display: none;

  align-items: center;

  justify-content: center;

  background: rgba(0, 0, 0, 0.8);

  padding: 24px;

  z-index: 1090;
}

.review-image-modal.is-open {
  display: flex;
}

.review-image-modal__dialog {
  position: relative;

  width: auto;

  max-width: min(960px, 90vw);

  max-height: 90vh;

  background: #ffffff;

  border-radius: 16px;

  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.35);

  overflow: hidden;
}

.review-image-modal__figure {
  margin: 0;
}

.review-image-modal__image {
  display: block;

  width: 100%;

  height: auto;

  max-height: 80vh;

  object-fit: contain;

  background: #000000;
}

.review-image-modal__caption {
  margin: 0;

  padding: 12px 18px;

  font-size: 0.95rem;

  color: #1f2933;

  background: #f5f7fa;
}

.review-image-modal__caption:empty {
  display: none;
}

.review-image-modal__close {
  position: absolute;

  top: 12px;

  right: 12px;

  width: 40px;

  height: 40px;

  border: none;

  border-radius: 50%;

  background: rgba(0, 0, 0, 0.55);

  color: #ffffff;

  cursor: pointer;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  font-size: 1.25rem;

  line-height: 1;

  transition: background 0.2s ease;
}

.review-image-modal__close:hover,
.review-image-modal__close:focus {
  background: rgba(0, 0, 0, 0.75);
}

body.review-image-modal-open {
  overflow: hidden;
}

@media (max-width: 600px) {
  .review-image-modal {
    padding: 16px;
  }

  .review-image-modal__dialog {
    border-radius: 12px;
  }

  .review-image-modal__caption {
    font-size: 0.85rem;

    padding: 10px 14px;
  }
}

.file-upload {
  position: relative;

  display: flex;

  gap: 0.75rem;

  align-items: center;

  justify-content: space-between;

  flex-direction: column;
}

.file-upload input[type="file"] {
  position: absolute;

  top: 0;

  left: 0;

  width: 1px;

  height: 1px;

  padding: 0;

  margin: -1px;

  overflow: hidden;

  border: 0;

  clip: rect(0 0 0 0);

  clip-path: inset(50%);

  white-space: nowrap;
}

.file-upload__title {
  font-weight: 600;

  color: #1f2933;

  margin-top: 0;
}

.file-upload__control {
  display: flex;

  align-items: center;

  gap: 1rem;

  flex-wrap: wrap;

  flex-direction: column;
}

.file-upload__button {
  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 0.5rem;

  padding: 0.65rem 1.5rem;

  border-radius: 999px;

  background: linear-gradient(135deg, #2563eb, #000000);

  color: #ffffff;

  font-weight: 600;

  font-size: 0.9rem;

  text-decoration: none;

  cursor: pointer;

  box-shadow: 0 12px 24px rgba(14, 165, 233, 0.35);

  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;

  margin: 0 !important;
}

.file-upload__button:hover,
.file-upload__button:focus {
  transform: translateY(-2px);

  box-shadow: 0 16px 28px rgba(14, 165, 233, 0.45);
}

.file-upload__button:focus {
  outline: 2px solid #0f8fff;

  outline-offset: 3px;
}

.file-upload__filename {
  min-width: 0;

  font-size: 0.9rem;

  color: #4b5563;

  display: inline-flex;

  align-items: center;

  gap: 0.35rem;
}

.file-upload__filename::before {
  content: "Arquivo:";

  font-weight: 600;

  color: #1f2933;

  margin-right: 0.35rem;
}

.file-upload__filename.is-empty::before,
.file-upload__filename.is-empty {
  color: #9ca3af;
}

@media (max-width: 640px) {
  .file-upload__control {
    flex-direction: column;

    align-items: stretch;

    gap: 0.75rem;
  }

  .file-upload__button {
    width: 100%;

    border-radius: 5px;
  }

  .file-upload__filename {
    justify-content: center;
  }
}

@layer utilities {
  :root,
  :host {
    --font-sans:
      ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";

    --font-mono:
      ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;

    --color-amber-300: oklch(87.9% 0.169 91.605);

    --color-blue-200: oklch(88.2% 0.059 254.128);

    --color-blue-300: oklch(80.9% 0.105 251.813);

    --color-slate-50: oklch(98.4% 0.003 247.858);

    --color-slate-400: oklch(70.4% 0.04 256.788);

    --color-slate-800: oklch(27.9% 0.041 260.031);

    --color-slate-900: oklch(20.8% 0.042 265.755);

    --color-slate-950: oklch(12.9% 0.042 264.695);

    --spacing: 0.25rem;

    --text-sm: 0.875rem;

    --text-sm--line-height: calc(1.25 / 0.875);

    --text-2xl: 1.5rem;

    --text-2xl--line-height: calc(2 / 1.5);

    --text-5xl: 3rem;

    --text-5xl--line-height: 1;

    --text-6xl: 3.75rem;

    --text-6xl--line-height: 1;

    --text-7xl: 4.5rem;

    --text-7xl--line-height: 1;

    --text-8xl: 6rem;

    --text-8xl--line-height: 1;

    --text-9xl: 8rem;

    --text-9xl--line-height: 1;

    --font-weight-extralight: 200;

    --font-weight-semibold: 600;

    --font-weight-bold: 700;

    --radius-xl: 0.75rem;

    --default-transition-duration: 150ms;

    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);

    --default-font-family: var(--font-sans);

    --default-mono-font-family: var(--font-mono);
  }
}

@layer utilities {
  .container {
    width: 100%;

    @media (width >=40rem) {
      max-width: 40rem;
    }

    @media (width >=48rem) {
      max-width: 48rem;
    }

    @media (width >=64rem) {
      max-width: 64rem;
    }

    @media (width >=80rem) {
      max-width: 80rem;
    }

    @media (width >=96rem) {
      max-width: 96rem;
    }
  }

  .line-clamp-8 {
    overflow: hidden;

    display: -webkit-box;

    -webkit-box-orient: vertical;

    line-clamp: 8;

    -webkit-line-clamp: 8;
  }

  .block {
    display: block;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .w-80 {
    width: calc(var(--spacing) * 80);
  }

  .w-full {
    width: 100%;
  }

  .flex-none {
    flex: none;
  }

  .cursor-pointer {
    cursor: pointer;
  }

  .content-center {
    align-content: center;
  }

  .items-baseline {
    align-items: baseline;
  }

  .items-center {
    align-items: center;
  }

  .justify-between {
    justify-content: space-between;
  }

  .justify-center {
    justify-content: center;
  }

  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }

  .gap-8 {
    gap: calc(var(--spacing) * 8);
  }

  .gap-12 {
    gap: calc(var(--spacing) * 12);
  }

  .space-y-2 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;

      margin-block-start: calc(
        calc(var(--spacing) * 2) * var(--tw-space-y-reverse)
      );

      margin-block-end: calc(
        calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse))
      );
    }
  }

  .space-y-4 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;

      margin-block-start: calc(
        calc(var(--spacing) * 4) * var(--tw-space-y-reverse)
      );

      margin-block-end: calc(
        calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse))
      );
    }
  }

  .overflow-x-hidden {
    overflow-x: hidden;
  }

  .rounded {
    border-radius: 0.25rem;
  }

  .rounded-xl {
    border-radius: var(--radius-xl);
  }

  .border {
    border-style: var(--tw-border-style);

    border-width: 1px;
  }

  .border-slate-800 {
    border-color: var(--color-slate-800);
  }

  .bg-slate-900 {
    background-color: var(--color-slate-900);
  }

  .bg-slate-950 {
    background-color: var(--color-slate-950);
  }

  .p-4 {
    padding: calc(var(--spacing) * 4);
  }

  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }

  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }

  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }

  .py-6 {
    padding-block: calc(var(--spacing) * 6);
  }

  .py-8 {
    padding-block: calc(var(--spacing) * 8);
  }

  .text-center {
    text-align: center;
  }

  .text-2xl {
    font-size: var(--text-2xl);

    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }

  .text-5xl {
    font-size: var(--text-5xl);

    line-height: var(--tw-leading, var(--text-5xl--line-height));
  }

  .text-sm {
    font-size: var(--text-sm);

    line-height: var(--tw-leading, var(--text-sm--line-height));
  }

  .font-bold {
    --tw-font-weight: var(--font-weight-bold);

    font-weight: var(--font-weight-bold);
  }

  .font-extralight {
    --tw-font-weight: var(--font-weight-extralight);

    font-weight: var(--font-weight-extralight);
  }

  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);

    font-weight: var(--font-weight-semibold);
  }

  .text-amber-300 {
    color: var(--color-amber-300);
  }

  .text-blue-200 {
    color: var(--color-blue-200);
  }

  .text-blue-300 {
    color: var(--color-blue-300);
  }

  .text-slate-50 {
    color: var(--color-slate-50);
  }

  .text-slate-400 {
    color: var(--color-slate-400);
  }

  .uppercase {
    text-transform: uppercase;
  }

  .ring-amber-300\/50 {
    --tw-ring-color: color-mix(
      in srgb,
      oklch(87.9% 0.169 91.605) 50%,
      transparent
    );

    @supports (color: color-mix(in lab, red, red)) {
      --tw-ring-color: color-mix(
        in oklab,
        var(--color-amber-300) 50%,
        transparent
      );
    }
  }

  .outline-0 {
    outline-style: var(--tw-outline-style);

    outline-width: 0px;
  }

  .transition {
    transition-property:
      color,
      background-color,
      border-color,
      outline-color,
      text-decoration-color,
      fill,
      stroke,
      --tw-gradient-from,
      --tw-gradient-via,
      --tw-gradient-to,
      opacity,
      box-shadow,
      transform,
      translate,
      scale,
      rotate,
      filter,
      -webkit-backdrop-filter,
      backdrop-filter,
      display,
      content-visibility,
      overlay,
      pointer-events;

    transition-timing-function: var(
      --tw-ease,
      var(--default-transition-timing-function)
    );

    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .selection\:bg-amber-300\/50 {
    & *::selection {
      background-color: color-mix(
        in srgb,
        oklch(87.9% 0.169 91.605) 50%,
        transparent
      );

      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(
          in oklab,
          var(--color-amber-300) 50%,
          transparent
        );
      }
    }

    &::selection {
      background-color: color-mix(
        in srgb,
        oklch(87.9% 0.169 91.605) 50%,
        transparent
      );

      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(
          in oklab,
          var(--color-amber-300) 50%,
          transparent
        );
      }
    }
  }

  .focus-within\:ring-2 {
    &:focus-within {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0
        calc(2px + var(--tw-ring-offset-width))
        var(--tw-ring-color, currentcolor);

      box-shadow:
        var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
        var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }

  .hover\:bg-slate-900 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-slate-900);
      }
    }
  }

  .active\:scale-80 {
    &:active {
      --tw-scale-x: 80%;

      --tw-scale-y: 80%;

      --tw-scale-z: 80%;

      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }

  .active\:bg-slate-800 {
    &:active {
      background-color: var(--color-slate-800);
    }
  }

  .max-md\:gap-4 {
    @media (width < 48rem) {
      gap: calc(var(--spacing) * 4);
    }
  }

  .max-\[25rem\]\:w-full {
    @media (width < 25rem) {
      width: 100%;
    }
  }

  .sm\:text-6xl {
    @media (width >=40rem) {
      font-size: var(--text-6xl);

      line-height: var(--tw-leading, var(--text-6xl--line-height));
    }
  }

  .md\:text-7xl {
    @media (width >=48rem) {
      font-size: var(--text-7xl);

      line-height: var(--tw-leading, var(--text-7xl--line-height));
    }
  }

  .lg\:text-8xl {
    @media (width >=64rem) {
      font-size: var(--text-8xl);

      line-height: var(--tw-leading, var(--text-8xl--line-height));
    }
  }

  .xl\:text-9xl {
    @media (width >=80rem) {
      font-size: var(--text-9xl);

      line-height: var(--tw-leading, var(--text-9xl--line-height));
    }
  }
}

body.pagina.quem-somos {
  background-color: #070c17;

  color: #e6ecf5;
}

body.pagina.quem-somos main {
  overflow: hidden;
}

.quem-hero {
  position: relative;

  padding: 140px 0 100px;
}

.quem-hero .wrapper {
  position: relative;

  z-index: 2;
}

body.pagina.quem-somos .hero-content {
  display: flex;

  flex-direction: column;

  gap: 2.5rem;
}

@media (min-width: 992px) {
  body.pagina.quem-somos .hero-content {
    flex-direction: row;

    align-items: flex-start;

    justify-content: space-between;

    gap: 3.5rem;
  }
}

.quem-hero .hero-main {
  max-width: 720px;
  text-align: left;
}

.quem-hero .hero-logo img {
  max-height: 72px;

  width: auto;

  opacity: 0.85;
}

.quem-hero h1 {
  font-size: 1.375rem;

  line-height: 1.15;

  margin: 1rem 0 0.2rem;

  color: #ffffff;

  letter-spacing: 0.02em;
}

@media (min-width: 992px) {
  .quem-hero h1 {
    font-size: 1.5rem;
  }
}

.quem-hero .hero-subtitle {
  font-size: 1.125rem;

  color: rgba(230, 236, 245, 0.9);

  margin-bottom: 1.5rem;
}

.quem-hero .hero-description p {
  font-size: 1.05rem;

  line-height: 1.75;

  margin-bottom: 1rem;

  color: rgba(230, 236, 245, 0.92);
}

.hero-stats {
  display: grid;

  gap: 1rem;

  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));

  max-width: 420px;
}

.hero-stat {
  background: rgba(7, 12, 23, 0.45);

  border: 1px solid rgba(255, 255, 255, 0.08);

  border-radius: 18px;

  padding: 1.25rem 1.5rem;

  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.25);
}

.hero-stat strong {
  display: block;

  font-size: 2rem;

  color: #6dfac7;

  letter-spacing: 0.04em;
}

.hero-stat span {
  display: block;

  margin-top: 0.35rem;

  font-size: 0.95rem;

  color: rgba(230, 236, 245, 0.75);

  line-height: 1.45;
}

.quem-story {
  position: relative;

  padding: 110px 0;

  background: linear-gradient(
    180deg,
    rgba(12, 18, 32, 0.85) 0%,
    rgba(7, 12, 23, 1) 100%
  );
}

body.pagina .quem-story .wrapper {
  margin: 0 auto;

  max-width: max-content;

  padding: 0 40px;

  position: relative;

  width: 100%;
}

.quem-story .story-grid {
  display: grid;

  gap: 2.5rem;

  justify-content: space-between;

  align-items: start;
}

@media (min-width: 992px) {
  .quem-story .story-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 420px);

    align-items: center;
  }

  .story-text {
    width: 630px;

    padding: 25px;

    margin: 0;

    border-radius: 24px;

    overflow: hidden;

    background: rgba(255, 255, 255, 0.02);

    border: 1px solid rgba(255, 255, 255, 0.04);

    box-shadow: 0 22px 60px rgba(0, 0, 0, 0.35);
  }
}

.quem-story .story-text h2 {
  font-size: 1.375rem;

  margin-bottom: 1.25rem;

  color: #ffffff;
}

.quem-story .story-highlight {
  font-size: 1.1rem;

  font-weight: 600;

  color: #8bf9d9;

  margin-bottom: 1.5rem;
}

.quem-story .story-text p {
  font-size: 1.02rem;

  line-height: 1.8;

  margin-bottom: 1rem;

  color: rgba(230, 236, 245, 0.88);
}

.quem-story .story-media {
  width: -webkit-fill-available;

  height: auto;

  padding: 25px;

  margin: 0;

  border-radius: 24px;

  overflow: hidden;

  background: rgba(255, 255, 255, 0.02);

  border: 1px solid rgba(255, 255, 255, 0.04);

  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.35);
}

.quem-story .story-media img {
  border-radius: 20px;

  display: block;

  width: 100%;

  height: auto;
}

.quem-values {
  padding: 110px 0 120px;

  background: #04070f;

  border-top: 1px solid rgba(255, 255, 255, 0.05);

  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.quem-values h2 {
  text-align: center;

  font-size: 2.25rem;

  margin-bottom: 3rem;

  color: #ffffff;
}

.quem-values .values-grid {
  display: grid;

  gap: 1.75rem;
}

@media (min-width: 768px) {
  .quem-values .values-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1200px) {
  .quem-values .values-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.quem-values .value-card {
  padding: 2.25rem 2rem;

  border-radius: 24px;

  background: linear-gradient(
    160deg,
    rgba(17, 28, 48, 0.8) 0%,
    rgba(7, 12, 23, 0.95) 100%
  );

  border: 1px solid rgba(255, 255, 255, 0.05);

  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.28);

  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.quem-values .value-card:hover {
  transform: translateY(-6px);

  box-shadow: 0 26px 65px rgba(0, 0, 0, 0.35);
}

.quem-values .value-card h3 {
  font-size: 1.35rem;

  margin-bottom: 0.85rem;

  color: #6dfac7;
}

.quem-values .value-card p {
  font-size: 1rem;

  line-height: 1.65;

  color: rgba(230, 236, 245, 0.82);
}

.quem-cta {
  padding: 120px 0 140px;

  position: relative;

  background: radial-gradient(
    120% 120% at 50% 0%,
    rgba(33, 73, 123, 0.45) 0%,
    rgba(7, 12, 23, 0.98) 55%,
    rgba(4, 7, 15, 1) 100%
  );
}

.quem-cta .cta-content {
  max-width: 720px;

  margin: 0 auto;

  text-align: center;
}

.quem-cta h2 {
  font-size: 2.4rem;

  margin-bottom: 1.5rem;

  color: #ffffff;
}

.quem-cta p {
  font-size: 1.05rem;

  line-height: 1.8;

  color: rgba(226, 236, 246, 0.88);

  margin-bottom: 2.25rem;
}

.quem-cta .btn-primary {
  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 0.5rem;

  padding: 0.95rem 2.75rem;

  font-size: 0.98rem;

  font-weight: 600;

  color: #0b1526;

  background: linear-gradient(135deg, #6dfac7 0%, #49e3ff 100%);

  border-radius: 999px;

  text-decoration: none;

  box-shadow: 0 18px 35px rgba(73, 227, 255, 0.35);

  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.quem-cta .btn-primary:hover {
  transform: translateY(-4px);

  box-shadow: 0 26px 55px rgba(73, 227, 255, 0.45);
}

.quem-cta .btn-primary:focus {
  outline: none;

  box-shadow: 0 0 0 4px rgba(109, 250, 199, 0.35);
}

/** Contato **/

body.pagina.contato {
  background: #04070f;

  color: #e4ecf7;
}

body.pagina.contato main {
  overflow: hidden;
}

.contato-hero {
  position: relative;

  padding: 140px 0 110px;

  color: #f5f9ff;

  background: radial-gradient(
    120% 120% at 50% 0%,
    rgba(34, 74, 123, 0.35) 0%,
    rgba(7, 12, 23, 0.96) 55%,
    rgba(4, 7, 15, 1) 100%
  );
}

.contato-hero .wrapper {
  position: relative;

  z-index: 2;
}

.contato-hero-content {
  max-width: 680px;

  display: flex;

  flex-direction: column;

  gap: 1.5rem;

  text-align: left;
}

.contato-hero h1 {
  font-size: clamp(1.8rem, 3vw, 2.4rem);

  line-height: 1.2;

  letter-spacing: 0.02em;

  margin: 0;
}

.contato-hero-subtitle {
  font-size: 1.15rem;

  color: rgba(229, 239, 255, 0.82);
}

.contato-hero-description p {
  font-size: 1.05rem;

  line-height: 1.8;

  color: rgba(229, 239, 255, 0.85);
}

.contato-hero .btn-primary {
  align-self: flex-start;

  padding: 0.9rem 2.5rem;

  border-radius: 999px;

  font-weight: 600;

  box-shadow: 0 18px 38px rgba(73, 227, 255, 0.35);
}

.contato-channels {
  padding: 110px 0 120px;

  background: linear-gradient(
    180deg,
    rgba(4, 7, 15, 1) 0%,
    rgba(7, 12, 23, 0.96) 100%
  );
}

.contato-channels .section-heading {
  max-width: 640px;

  margin: 0 auto 3rem;

  text-align: center;
}

.contato-channels .section-heading h2 {
  font-size: clamp(2rem, 3vw, 2.6rem);

  color: #f5f9ff;

  margin-bottom: 1rem;
}

.contato-channels .section-heading p {
  color: rgba(226, 236, 246, 0.75);

  font-size: 1.05rem;
}

.channels-grid {
  display: grid;

  gap: 1.75rem;

  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

body.pagina.contato article.contact-card {
  position: relative;

  padding: 2.1rem 2rem;

  background: linear-gradient(
    165deg,
    rgba(19, 32, 55, 0.75) 0%,
    rgba(9, 16, 30, 0.95) 100%
  );

  border: 1px solid rgba(113, 213, 255, 0.12);

  border-radius: 24px;

  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.28);

  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;

  margin: 0 !important;
}

.contact-card:hover {
  transform: translateY(-6px);

  box-shadow: 0 28px 60px rgba(17, 24, 39, 0.38);
}

.contact-card-icon {
  display: inline-flex;

  align-items: center;

  justify-content: center;

  width: 56px;

  height: 56px;

  border-radius: 16px;

  background: rgba(73, 227, 255, 0.12);

  color: #6dfac7;

  font-size: 1.5rem;

  margin-bottom: 1.25rem;
}

.contact-card h3 {
  font-size: 1.25rem;

  color: #f5f9ff;

  margin-bottom: 0.65rem;
}

body.pagina.contato article .contact-card-value {
  font-size: 1.1rem;

  font-weight: 600;

  color: #6dfac7;

  margin-bottom: 0.75rem;

  font-family: "Roboto";

  font-style: normal;
}

body.pagina.contato article .contact-card-description {
  font-size: 0.98rem;

  line-height: 1.7;

  color: rgba(226, 236, 246, 0.75);

  margin-bottom: 1.25rem;
}

.contato-channels .btn-outline {
  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 0.45rem;

  padding: 0.75rem 1.8rem;

  border-radius: 999px;

  border: 1px solid rgba(109, 250, 199, 0.35);

  color: #6dfac7;

  text-decoration: none;

  font-weight: 600;

  transition:
    background 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease;
}

.contato-channels .btn-outline:hover {
  background: rgba(109, 250, 199, 0.15);

  color: #f5f9ff;

  transform: translateY(-3px);
}

.contato-details {
  position: relative;

  padding: 120px 0 130px;

  background: radial-gradient(
    120% 120% at 50% 0%,
    rgba(7, 12, 23, 0.98) 10%,
    rgba(4, 7, 15, 1) 100%
  );
}

.details-grid {
  display: grid;

  gap: 2.75rem;
}

@media (min-width: 992px) {
  .details-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));

    align-items: start;
  }
}

.details-column > h2 {
  font-size: 1.65rem;

  color: #f5f9ff;

  margin-bottom: 1.5rem;
}

.location-list {
  display: grid;

  gap: 1.75rem;
}

body.pagina.contato article.location-card {
  padding: 1.9rem 1.75rem;

  background: linear-gradient(
    160deg,
    rgba(14, 24, 42, 0.8) 0%,
    rgba(8, 14, 26, 0.95) 100%
  );

  border: 1px solid rgba(79, 120, 255, 0.12);

  border-radius: 20px;

  box-shadow: 0 22px 50px rgba(0, 0, 0, 0.24);

  display: flex;

  flex-direction: column;

  gap: 1rem;
}

.location-card h3 {
  font-size: 1.2rem;

  color: #6dfac7;

  margin: 0 0 0.35rem;
}

.location-tagline {
  font-size: 0.95rem;

  color: rgba(226, 236, 246, 0.7);
}

.location-address {
  list-style: none;

  padding: 0;

  margin: 0;

  display: grid;

  gap: 0.45rem;

  color: rgba(229, 239, 255, 0.8);

  font-size: 0.98rem;
}

.location-phone a,
.location-phone {
  color: #f5f9ff;

  font-weight: 600;

  text-decoration: none;
}

.location-phone a:hover {
  color: #6dfac7;
}

.location-card .btn-link {
  display: inline-flex;

  align-items: center;

  gap: 0.4rem;

  color: #49e3ff;

  font-weight: 600;

  text-decoration: none;

  text-transform: uppercase;

  letter-spacing: 0.05em;

  font-size: 0.85rem;

  transition:
    color 0.2s ease,
    transform 0.2s ease;
}

.location-card .btn-link:hover {
  color: #6dfac7;

  transform: translateY(-2px);
}

.hours-list {
  list-style: none;

  padding: 1.75rem 1.5rem;

  margin: 0;

  background: linear-gradient(
    155deg,
    rgba(16, 28, 48, 0.78) 0%,
    rgba(9, 16, 30, 0.95) 100%
  );

  border: 1px solid rgba(113, 213, 255, 0.12);

  border-radius: 20px;

  box-shadow: 0 22px 50px rgba(0, 0, 0, 0.22);

  display: grid;

  gap: 1rem;
}

.hours-list li {
  display: flex;

  justify-content: space-between;

  gap: 1.25rem;

  font-size: 1.02rem;

  color: rgba(229, 239, 255, 0.85);
}

.hours-list strong {
  color: #f5f9ff;

  font-weight: 600;
}

.hours-list span {
  color: rgba(109, 250, 199, 0.85);

  font-weight: 600;
}
.btn-primary {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}
.contato-cta {
  position: relative;

  padding: 140px 0 160px;

  background: radial-gradient(
    120% 120% at 50% 15%,
    rgba(73, 227, 255, 0.18) 0%,
    rgba(7, 12, 23, 0.96) 58%,
    rgba(4, 7, 15, 1) 100%
  );
}

.contato-cta .wrapper {
  position: relative;

  z-index: 2;
}

.cta-box {
  max-width: 720px;

  margin: 0 auto;

  padding: 2.75rem 2.5rem;

  text-align: center;

  border-radius: 28px;

  background: linear-gradient(
    160deg,
    rgba(17, 28, 48, 0.82) 0%,
    rgba(7, 12, 23, 0.95) 100%
  );

  border: 1px solid rgba(109, 250, 199, 0.18);

  box-shadow: 0 26px 60px rgba(0, 0, 0, 0.28);

  display: grid;

  gap: 1.35rem;
}

.cta-box h2 {
  font-size: clamp(2.1rem, 3.5vw, 2.8rem);

  color: #f5f9ff;

  margin: 0;
}

.cta-box p {
  font-size: 1.05rem;

  line-height: 1.8;

  color: rgba(229, 239, 255, 0.78);

  margin: 0 auto;
}

.cta-box .btn-primary {
  justify-self: center;

  padding: 0.95rem 2.85rem;

  border-radius: 999px;

  font-weight: 600;

  box-shadow: 0 20px 44px rgba(73, 227, 255, 0.38);
}

.contato-form {
  position: relative;

  padding: 120px 0 140px;

  background: radial-gradient(
    120% 120% at 50% 20%,
    rgba(65, 126, 196, 0.25) 0%,
    rgba(7, 12, 23, 0.96) 60%,
    rgba(4, 7, 15, 1) 100%
  );
}

.contato-form .wrapper {
  position: relative;

  z-index: 2;
}

.contato-form-grid {
  display: grid;

  gap: 2.5rem;

  align-items: start;
}

@media (min-width: 992px) {
  .contato-form-grid {
    grid-template-columns: minmax(0, 420px) minmax(0, 1fr);

    gap: 3rem;
  }
}

.contato-form-copy header h2 {
  font-size: clamp(2rem, 3vw, 2.6rem);

  color: #f5f9ff;

  margin-bottom: 1rem;
}

.contato-form-copy header p {
  font-size: 1.05rem;

  color: rgba(229, 239, 255, 0.83);

  line-height: 1.75;
}

.contato-form-benefits {
  margin: 1.75rem 0;

  padding: 0;

  list-style: none;

  display: grid;

  gap: 0.9rem;

  color: rgba(229, 239, 255, 0.8);

  font-size: 0.98rem;
}

.contato-form-benefits li {
  display: inline-flex;

  align-items: center;

  gap: 0.5rem;

  position: relative;

  padding-left: 1.6rem;
}

.contato-form-benefits li::before {
  content: "\2713";

  position: absolute;

  left: 0;

  width: 1.1rem;

  height: 1.1rem;

  border-radius: 50%;

  background: linear-gradient(
    135deg,
    rgba(109, 250, 199, 0.6),
    rgba(73, 227, 255, 0.6)
  );

  display: inline-flex;

  align-items: center;

  justify-content: center;

  color: #020509;

  font-size: 0.7rem;

  box-shadow: 0 8px 18px rgba(73, 227, 255, 0.25);
}

.contato-form-note {
  font-size: 0.9rem;

  color: rgba(229, 239, 255, 0.6);

  line-height: 1.5;
}

.contato-form-card {
  position: relative;

  display: grid;

  gap: 1.35rem;

  padding: 2.4rem 2.2rem;

  border-radius: 28px;

  background: linear-gradient(
    160deg,
    rgba(15, 24, 42, 0.82) 0%,
    rgba(7, 12, 23, 0.95) 100%
  );

  border: 1px solid rgba(113, 213, 255, 0.16);

  box-shadow: 0 26px 60px rgba(0, 0, 0, 0.28);
}

.contato-field {
  display: grid;

  gap: 0.55rem;
  border: 0;
}

.contato-field label,
.contato-field legend {
  font-size: 0.95rem;

  font-weight: 600;

  color: #f5f9ff;
}

.contato-field small {
  font-size: 0.85rem;

  color: rgba(229, 239, 255, 0.62);
}

.contato-field input,
.contato-field textarea {
  width: 100%;

  border-radius: 18px;

  border: 1px solid rgba(113, 213, 255, 0.18);

  background: rgba(8, 14, 25, 0.88);

  color: #f5f9ff;

  font-size: 1rem;

  padding: 0.85rem 1.1rem;

  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;

  resize: vertical;

  min-height: 52px;
}

.contato-field textarea {
  min-height: 140px;

  line-height: 1.65;
}

.contato-fieldset {
  border: 1px solid rgba(113, 213, 255, 0.14);

  border-radius: 18px;

  padding: 1.25rem 1.4rem;

  background: rgba(8, 14, 26, 0.82);

  display: grid;

  gap: 0.85rem;
}

.contato-choice {
  display: inline-flex;

  align-items: center;

  gap: 0.65rem;

  font-size: 0.95rem;

  color: rgba(229, 239, 255, 0.8);
}

.contato-choice input {
  width: 18px;

  height: 18px;

  accent-color: #58f5c5;
}

.contato-checkbox {
  display: inline-flex;

  align-items: flex-start;

  gap: 0.65rem;

  font-size: 0.92rem;

  color: rgba(229, 239, 255, 0.78);
}

.contato-checkbox input {
  width: 18px;

  height: 18px;

  margin-top: 0.2rem;

  accent-color: #58f5c5;
}

.contato-hidden {
  position: absolute;

  opacity: 0;

  pointer-events: none;

  height: 0;

  width: 0;

  overflow: hidden;
}

.contato-form-feedback {
  min-height: 1.25rem;

  font-size: 0.95rem;

  font-weight: 500;

  color: rgba(229, 239, 255, 0.78);

  transition: color 0.2s ease;
}

.contato-form-feedback[data-state="success"] {
  color: #6dfac7;
}

.contato-form-feedback[data-state="error"] {
  color: #ff9c9c;
}

.contato-form-card .btn-primary {
  justify-self: flex-start;

  padding: 0.9rem 2.5rem;

  border-radius: 999px;

  font-weight: 600;

  box-shadow: 0 18px 38px rgba(73, 227, 255, 0.35);
}

.contato-form-card .btn-primary[aria-busy="true"]::after {
  content: "";

  display: inline-block;

  width: 1rem;

  height: 1rem;

  margin-left: 0.75rem;

  border-radius: 50%;

  border: 2px solid rgba(245, 249, 255, 0.6);

  border-top-color: transparent;

  animation: contato-spin 0.75s linear infinite;
}

@keyframes contato-spin {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

@media (max-width: 768px) {
  .contato-form {
    padding: 100px 0 110px;
  }

  .contato-form-card {
    padding: 2rem 1.6rem;

    border-radius: 22px;
  }

  .contato-field input,
  .contato-field textarea {
    border-radius: 14px;
  }
}

@media (max-width: 576px) {
  .contato-form-benefits li {
    padding-left: 1.4rem;
  }

  .contato-form-card .btn-primary {
    width: 100%;

    justify-content: center;
  }
}

@media (max-width: 768px) {
  .contato-hero {
    padding: 120px 0 90px;
  }

  .contact-card,
  .location-card,
  .hours-list {
    border-radius: 18px;

    padding: 1.75rem 1.5rem;
  }

  .hours-list li {
    flex-direction: column;

    align-items: flex-start;
  }

  .cta-box {
    padding: 2.25rem 1.9rem;
  }
}

@media (max-width: 576px) {
  .contact-card {
    padding: 1.65rem 1.5rem;
  }

  .contact-card-icon {
    width: 48px;

    height: 48px;

    font-size: 1.25rem;
  }

  .cta-box h2 {
    font-size: 1.9rem;
  }

  .contato-cta {
    padding: 110px 0 120px;
  }
}

/* ═══════════════════════════════════════════════════
   PÁGINA VÍDEOS — Layout Reels (Instagram-style)
   ═══════════════════════════════════════════════════ */

/* ── Grid Reels ── */

.reels-section {
  padding: 0;
  background: #000;
}

.reels-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
  max-width: 935px;
  margin: 0 auto;
}

.reel-item {
  position: relative;
  display: block;
  aspect-ratio: 9 / 16;
  overflow: hidden;
  background: #1a1a1a;
  text-decoration: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.reel-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition:
    transform 0.35s ease,
    filter 0.35s ease;
}

.reel-item:hover img {
  transform: scale(1.04);
  filter: brightness(0.8);
}

.reel-item:active img {
  transform: scale(1);
}

/* Overlay com play icon */
.reel-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.25s ease;
  pointer-events: none;
}

.reel-item:hover .reel-overlay {
  opacity: 1;
}

.reel-play-icon {
  width: 44px;
  height: 44px;
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.5));
}

/* Título sobreposto no rodapé do item */
.reel-title {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 28px 10px 10px;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.75));
  color: #fff;
  font-size: 0.78rem;
  font-weight: 500;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  pointer-events: none;
}

.reels-empty {
  text-align: center;
  color: #888;
  padding: 80px 20px;
  font-size: 1rem;
}

/* ── Modal Reels (fullscreen vertical) ── */

.reels-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.3s ease,
    visibility 0.3s ease;
}

.reels-modal.active {
  opacity: 1;
  visibility: visible;
}

.reels-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.95);
}

.reels-modal-container {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 420px;
  max-height: 92vh;
}

.reels-modal-close {
  position: absolute;
  top: -44px;
  right: 4px;
  background: none;
  border: none;
  color: #fff;
  cursor: pointer;
  padding: 6px;
  opacity: 0.8;
  transition: opacity 0.2s ease;
  z-index: 2;
}

.reels-modal-close:hover {
  opacity: 1;
}

.reels-modal-video-wrap {
  width: 100%;
  aspect-ratio: 9 / 16;
  max-height: 80vh;
  border-radius: 12px;
  overflow: hidden;
  background: #000;
}

.reels-modal-player {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #000;
  outline: none;
  display: block;
}

.reels-modal-info {
  width: 100%;
  padding: 12px 8px 0;
  text-align: center;
}

.reels-modal-title {
  font-size: 0.95rem;
  font-weight: 600;
  color: #fff;
  margin: 0 0 4px;
}

.reels-modal-desc {
  font-size: 0.82rem;
  color: #aaa;
  margin: 0;
  line-height: 1.4;
}

/* ── Responsivo Reels ── */

@media (max-width: 575px) {
  .reels-grid {
    gap: 1px;
  }

  .reel-title {
    font-size: 0.7rem;
    padding: 20px 8px 8px;
  }

  .reel-overlay {
    opacity: 1;
  }

  .reels-modal-container {
    max-width: 100%;
    max-height: 100vh;
  }

  .reels-modal-video-wrap {
    border-radius: 0;
    max-height: 90vh;
  }

  .reels-modal-close {
    position: fixed;
    top: 12px;
    right: 12px;
  }

  .reels-modal-info {
    padding: 10px 16px 0;
  }
}

@media (min-width: 576px) and (max-width: 767px) {
  .reels-grid {
    max-width: 480px;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .reels-grid {
    max-width: 680px;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .reels-grid {
    max-width: 900px;
  }
}

@media (min-width: 1200px) {
  .reels-grid {
    max-width: 1140px;
  }
}
