:root {
  --roxo: #6D4061;
  --vermelho: #892929;
  --bege: #DFDCCE;
  --grafite: #333333;
  --rosa: #C37B89;
  --branco: #fff;
  --preto: #000;
}

html {
  scroll-behavior: smooth;
}

* {
  transition: 0.2s ease-in-out;
}
.mobile-only {
  display: none;
}
.sr-only:not(:focus):not(:active) {
  clip: rect(0 0 0 0); 
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap; 
  width: 1px;
}

a {
  color: var(--roxo);
}
a:focus,a:hover,a:active {
  color: var(--vermelho);
  text-decoration: underline;
}
:where(.page__content, .page__body, .page__head .desc) :where(p, li, blockquote, h2, h3, h4, h5, h6) a.external-link::after {
  content: "\f35d";
  display: inline-block;
  margin-left: 0.35em;
  font-family: "Font Awesome 6 Free";
  font-size: 0.72em;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
  vertical-align: 0.12em;
}
i {
  padding-left: 0.5em;
}

figure.is-type-video {
  margin: 2em 0;
}
figure iframe {
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9;
}

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

body,
button,
input,
select,
textarea {
  color: var(--grafite);
  font-family: 'Work Sans', sans-serif;
  font-size: 1em;
  font-weight: 400;
  font-optical-sizing: auto;
  line-height: 1.4;
  box-sizing: border-box;
}

h1,h2,h3,h4,h5,h6 {
  font-family: 'Archivo', sans-serif;
  margin: 0 0 1em 0;
  font-weight: 400;
  font-optical-sizing: auto;
  font-variation-settings: "wdth" 125;
}
h2 { font-size: 32pt }
h3 { font-size: 28pt }

figure.wp-block-gallery {
  display: grid;
  grid-gap: 2em;
  grid-template-columns: auto auto;
}
figure.wp-block-gallery figure {
  margin: 0;
}
figure.wp-block-gallery figure img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

/* --------------------------------------------------------------------------
 * Galerias de imagem no corpo dos posts (single).
 *
 * Os posts reimportados trazem galerias no formato de bloco legado do
 * Gutenberg: <ul class="wp-block-gallery columns-N is-cropped is-layout-flex">
 * <li class="blocks-gallery-item"><figure><img><figcaption>. O tema não tem
 * CSS para essa marcação e a regra global `.is-layout-flex { display: flex }`
 * (sem wrap/gap/largura) espremia todos os itens numa linha só, com as
 * legendas sobrepostas. Aqui recriamos a grade nativa da galeria, escopada
 * a `.page-single .page__content` para não afetar outras páginas.
 * ------------------------------------------------------------------------ */
.page-single .page__content ul.wp-block-gallery,
.page-single .page__content .blocks-gallery-grid,
.page-single .page__content .gallery {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5em;
  margin: 2em 0 3em;
  padding: 0;
}
.page-single .page__content ul.wp-block-gallery.columns-1,
.page-single .page__content .gallery.gallery-columns-1 { grid-template-columns: 1fr; }
.page-single .page__content ul.wp-block-gallery.columns-2,
.page-single .page__content .gallery.gallery-columns-2 { grid-template-columns: repeat(2, 1fr); }
.page-single .page__content ul.wp-block-gallery.columns-4,
.page-single .page__content .gallery.gallery-columns-4 { grid-template-columns: repeat(4, 1fr); }
.page-single .page__content ul.wp-block-gallery.columns-5,
.page-single .page__content .gallery.gallery-columns-5 { grid-template-columns: repeat(5, 1fr); }
.page-single .page__content ul.wp-block-gallery.columns-6,
.page-single .page__content .gallery.gallery-columns-6 { grid-template-columns: repeat(6, 1fr); }
.page-single .page__content ul.wp-block-gallery.columns-7,
.page-single .page__content .gallery.gallery-columns-7 { grid-template-columns: repeat(7, 1fr); }
.page-single .page__content ul.wp-block-gallery.columns-8,
.page-single .page__content .gallery.gallery-columns-8 { grid-template-columns: repeat(8, 1fr); }

.page-single .page__content .blocks-gallery-item,
.page-single .page__content .gallery-item {
  margin: 0 !important;
  width: auto !important;
  list-style: none;
}
.page-single .page__content ul.wp-block-gallery figure,
.page-single .page__content .gallery-item .gallery-icon {
  position: relative;
  height: 100%;
  margin: 0;
}
.page-single .page__content ul.wp-block-gallery img,
.page-single .page__content .gallery-item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 0 !important;
}
.page-single .page__content ul.wp-block-gallery:not(.is-cropped) img {
  height: auto;
  object-fit: fill;
}
.page-single .page__content ul.wp-block-gallery figcaption,
.page-single .page__content .gallery-caption {
  position: absolute;
  inset: auto 0 0 0;
  margin: 0;
  padding: 2.5em 0.6em 0.6em;
  font-size: 0.8em;
  line-height: 1.3;
  color: #fff;
  text-align: center;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0));
}

/* Legenda de imagem única (shortcode/classic [caption]). */
.page-single .page__content .wp-caption {
  max-width: 100%;
  margin: 2em 0;
}
.page-single .page__content .wp-caption img {
  display: block;
  width: 100%;
  height: auto;
}
.page-single .page__content .wp-caption-text {
  font-size: 0.9em;
  font-style: italic;
  color: var(--grafite);
  text-align: center;
  margin-top: 0.5em;
}

/* Alinhamentos de imagem herdados do conteúdo antigo. */
.page-single .page__content .alignleft {
  float: left;
  margin: 0.5em 1.5em 1em 0;
}
.page-single .page__content .alignright {
  float: right;
  margin: 0.5em 0 1em 1.5em;
}
.page-single .page__content .aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

p {
  line-height: 150%;
}

.decor-cilinders {
  position: absolute;
  margin-top: -30em;
  min-width: 200px;
}
.decor-cilinders.right {
  right: 0;
}
.decor-cilinders.left {
  left: 0;
}
.decor-cilinders.right .cilinder {
  width: 100%;
  border: 3px solid var(--rosa);
  height: 33px;
  margin-bottom: 2em;
  border-top-left-radius: 10em;
  border-bottom-left-radius: 10em;
  border-right: 0;
}
.decor-cilinders.left .cilinder {
  width: 100%;
  border: 3px solid var(--rosa);
  height: 33px;
  margin-bottom: 2em;
  border-top-right-radius: 10em;
  border-bottom-right-radius: 10em;
  border-left: 0;
}


.btn {
  border-radius: 4px;
  padding: 0.6em 1.5em;
  background: var(--roxo);
  color: #fff;
  font-size: 1.1em;
}
.btn:active,
.btn:focus,
.btn:hover {
  background: var(--vermelho);
  color: #fff;
}


fieldset {
  margin-bottom: 1em;
}
fieldset label {
  display: block;
  font-size: 1.2em;
}
fieldset input {
  border-radius: 4px;
  padding: 0.6em;
  width: 100%;
  font-size: 1.2em;
  border: 1px solid var(--grafite);
}
fieldset textarea {
  border-radius: 4px;
  padding: 0.6em;
  width: 100%;
  min-height: 300px;
  font-size: 1.2em;
  border: 1px solid var(--grafite);
}

.icon {
  position: relative;
  display: inline-block;
  width: 20px; height: 20px;
  background-size: contain;
  top: 2px;
  transition: none !important;
}
.icon:hover {
  filter: brightness(0) saturate(100%) invert(16%) sepia(19%) saturate(7326%) hue-rotate(342deg) brightness(106%) contrast(84%);
}
.icon.icon-whatsapp {
  background-image: url('../img/icon-whatsapp.svg');
}
.icon.icon-instagram {
  background-image: url('../img/icon-instagram.svg');
}
.icon.icon-linkedin {
  background-image: url('../img/icon-linkedin.svg');
}
.icon.icon-contraste {
  background-image: url('../img/icon-contraste.svg');
  width: 14px; height: 14px;
}

.pagination .nav-links {
  margin: 8em auto 1em auto;
}
.pagination .prev:before {
  content: '← ';
}
.pagination .next:after {
  content: ' →';
}
.pagination .page-numbers {
  text-decoration: none;
  font-size: 1.2em;
  margin: 0 0.2em;
  display: inline-block;
  height: 32px;
  width: 32px;
  color: var(--grafite);
  text-align: center;
  border: 1px solid transparent;
}
.pagination .page-numbers:hover {
  border: 1px solid var(--roxo);
}
.pagination .page-numbers.current {
  color: #fff;
  background: var(--roxo);
  border: 1px solid var(--roxo);
}
.pagination .page-numbers.prev,
.pagination .page-numbers.next {
  font-size: 1.2em;
  display: inline-block;
  height: initial;
  width: initial;
  text-decoration: underline;
  margin: 0 2em;
  color: var(--roxo);
  border: 1px solid transparent;
}
.pagination .page-numbers.prev:hover,
.pagination .page-numbers.next:hover {
  color: var(--vermelho);
}
.pagination button.page-numbers.prev,
.pagination button.page-numbers.next {
  border: 0;
  background: 0;
  color: var(--grafite);
  opacity: 0.5;
}

/* Header */
#topo {
  display: flex;
  justify-content: space-between;
  padding: 0.5em 0;
}

#topo ul, #topo ol {
  display: flex;
  padding: 0;
  margin: 0;
  list-style: none;
}

#topo ol li { margin-right: 1em }
#topo ul li { margin-left: 1em }

#topo ol li a {
  text-decoration: none;
  color: var(--grafite);
}
#topo ol li a:focus,
#topo ol li a:hover {
  color: var(--roxo);
  text-decoration: underline;
}

.s-navbar {
  position: relative;
  clip-path: polygon(0 0, 100% 0, 100% 85%, 0% 100%);
  color: #fff;
  background-color: var(--roxo);
  padding: 3em 0;
  margin-bottom: -2em;
  z-index: 4;
}
.s-navbar .container {
  display: flex;
  justify-content: space-between;
}
.s-navbar a {
  font-size: 1rem;
  color: #fff;
}

.mobile-icons {
  display: none;
}

.menus-containers {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-align: right;
}

#main-menu {
  display: flex;
  padding: 0;
  list-style: none;
}
#mobile-menu-list-container {
  display: none;
}
#mobile-menu-list-container.shown {
  display: initial;
  position: absolute;
  width: 100%;
  left: 0;
  list-style: none;
  top: 5em;
  background: var(--roxo);
}
#mobile-main-menu {
  list-style: none;
  padding: 0;
  text-align: center;
}
.s-top a,
#mobile-main-menu a,
#main-menu a {
  font-family: 'Archivo', sans-serif;
  text-transform: uppercase;
  text-decoration: none;
  margin-left: 40px;
  font-variation-settings: "wdth" 125;
}
#mobile-main-menu a {
  margin-left: 0;
  display: inline-block;
  margin-top: 1em;
}
.s-top.shown {
  display: initial;
}

.s-top a:hover span,
#main-menu a:focus,
#main-menu a:active,
#main-menu a:hover,
#main-menu .current_page_item a {
  display: inline-block;
  border-top: 2px solid #fff;
}

.s-top a span,
#main-menu a {
  display: inline-block;
  border-top: 2px solid rgba(0,0,0,0);
}

.show-busca {
  position: relative;
  top: 25px;
}

#main-search-form {
  transition: top .5s ease;
  position: absolute;
  z-index: 3;
  color: var(--grafite);
  background: var(--bege);
  width: 100%;
  left: 0;
  text-align: center;
  padding: 3.5em 0 1em 0;
  top: 50px;
}
#main-search-form #s {
  background: none;
  border: 0;
  border-bottom: 1px solid var(--grafite);
  color: var(--grafite);
  padding: 0.5em 1em 0.5em 0.2em;
  border-radius: 0px;
  margin-right: 0.5em;
  width: 70%;
  max-width: 545px;
}
#main-search-form ::placeholder {
  color: var(--grafite);
  opacity: 1;
}
#main-search-form button {
  border-radius: 0;
  text-transform: uppercase;
  padding: 0.4em 1.25em;
}
#main-search-form .hide-busca {
  color: var(--grafite);
  position: absolute;
  top: 4em;
  right: 3em;
}

.tag-filters-title {
  display: block;
  font-family: "Work Sans", sans-serif;
  font-size: 1.2em;
  font-weight: 500;
  margin-bottom: 0.85em;
}
.tag-filters {
  padding: 0;
  margin-bottom: 4em;
  display: flex;
  flex-wrap: wrap;
  gap: 0.85em 1em;
  list-style: none;
}
.tag-filters li {
  font-size: 1.2em;
  position: relative;
  display: inline-block;
  margin-right: 0;
  padding-right: 1em;
  max-width: min(16rem, 100%);
}
.tag-filters li a {
  display: inline-block;
  position: relative;
  text-decoration: none;
  padding: 0.2em;
  color: var(--grafite);
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.tag-filters li a:hover {
  color: var(--roxo);
  text-decoration: underline;
}
.tag-filters li:after {
  transform: skew(-15deg);
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 1px;
  background: var(--preto);
}
.tag-filters li.active a,
.tag-filters li a:hover {
  color: var(--branco);
  font-weight: bold;
}
.tag-filters li.active a:before,
.tag-filters li a:hover:before {
  transform: skew(-15deg);
  content: '';
  position: absolute;
  top: 0;
  right: 0em;
  height: 100%;
  width: 100%;
  background: var(--vermelho);
  z-index: -1;
}
.tag-filter-form {
  max-width: 430px;
  margin-bottom: 4em;
}
.tag-filter-select {
  background: var(--branco);
  border: 1px solid var(--grafite);
  border-radius: 4px;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.tag-filter-select:after {
  content: '';
  position: absolute;
  top: 50%;
  right: 1.15em;
  width: 0.58em;
  height: 0.58em;
  border-right: 2px solid var(--vermelho);
  border-bottom: 2px solid var(--vermelho);
  transform: translateY(-65%) rotate(45deg);
  pointer-events: none;
}
.tag-filter-select select {
  appearance: none;
  background: transparent;
  border: 0;
  color: var(--grafite);
  cursor: pointer;
  font-size: 1.2em;
  font-weight: 600;
  line-height: 1.25;
  min-height: 3em;
  padding: 0.7em 3em 0.7em 1.05em;
  width: 100%;
}
.tag-filter-select:hover,
.tag-filter-select:focus-within {
  border-color: var(--vermelho);
  outline: 2px solid var(--vermelho);
  outline-offset: 2px;
}
.tag-filter-select select:focus {
  outline: 0;
}
.tag-filter-submit {
  margin-top: 0.8em;
}

/* FOOTER */

.b2t-container {
  position: fixed;
  right: 1em;
  bottom: 4em;
  z-index: 4;
  width: 54px;
  height: 54px;
  box-shadow: 0 2px 4px 0 rgba(0,0,0,0.25);
}
.b2t-container {
  background: var(--grafite);
  padding: 0.5em;
}
.b2t-container:hover {
  background: var(--bege);
}
.b2t-container a i {
  padding: 0;
}
.b2t-container a {
  display: flex;
  flex-direction: column;
  text-transform: uppercase;
  justify-content: center;
  align-items: center;
  color: var(--bege);
  text-decoration: none;
}
.b2t-container a:hover {
  color: var(--grafite);
}
.s-footer {
  position: relative;
  background-color: var(--roxo);
  color: #fff;
  padding-top: 6em;
  clip-path: polygon(0 15%, 100% 0, 100% 100%, 0% 100%);
}

.s-footer .cp {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #fff;
  color: #fff;
  padding-top: 1em;
  margin-top: 3em;
}
.s-footer .cp a {
  color: #fff;
}
.s-footer .cp a:hover {
  color: var(--bege);
  text-decoration: underline;
}

.s-footer .f-menu {
  display: flex;
  justify-content: space-between;
}

#menu-menu {
  column-count: 2;
  column-gap: 4em;
  font-family: "Archivo", sans-serif;
  font-variation-settings: "wdth" 125;
}
#menu-menu a {
  font-size: 1.2em;
  line-height: 1.8em;
}
#menu-menu a:hover {
  color: var(--rosa);
  text-decoration: underline;
}

.s-footer .f-menu ol,
.s-footer .f-menu ul { 
  padding: 0;
  list-style: none;
}
#mobile-menu-list-container .social,
.s-footer .social {
  list-style: none;
  padding: 0;
  display: flex;
  font-size: 2em;
}
#mobile-menu-list-container .social {
  padding-top: 0.25em;
  padding-left: 1em;
}
#mobile-menu-list-container .social a {
  padding-right: 0.667em;
  filter: brightness(0) invert(1);
}
.s-footer .social a {
  margin-left: 0.5em;
}
.s-footer .f-menu a {
  color: #fff;
  text-decoration: none;
}
.s-footer .icon {
  filter: brightness(0) invert(1);
}
.s-footer .icon:hover {
  filter: brightness(0) saturate(100%) invert(58%) sepia(10%) saturate(1458%) hue-rotate(298deg) brightness(93%) contrast(92%);
}

.cookie-banner {
  position: fixed;
  right: 1em;
  bottom: 1em;
  left: auto;
  width: min(460px, calc(100% - 2em));
  z-index: 10;
  display: none;
  background: rgba(20,20,20,0.95);
  color: #fff;
  border-radius: 8px;
  box-shadow: 0 -4px 18px rgba(0,0,0,0.2);
}
.cookie-banner.shown {
  display: block;
}
.cookie-banner__content {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 1em;
  padding: 1em;
}
.cookie-banner__content p {
  margin: 0;
  font-size: 0.95em;
}
.cookie-banner__content a {
  color: #fff;
  text-decoration: underline;
}
.cookie-banner__content .btn {
  flex-shrink: 0;
}

.is-layout-flex {
  display: flex;
}
.is-vertical {
  flex-direction: column;
}


/* PAGE */

.page-text {
  position: relative;
}

.page__body {
  min-height: 300px
}

.page-text:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -70px;
  background: top left no-repeat url('../img/s-footer-1.svg');
  width: 200px;
  height: 250px;
  z-index: 2;
}

/* HOME */

#home-banner {
  max-height: 610px;
  position: relative;
  color: #fff;
  background: top left no-repeat url('../img/home-banner.png');
  background-size: cover;
  background-color: var(--roxo);
}
#home-banner:after {
  background: top left no-repeat url('../img/home-banner-lines.svg#svgView(preserveAspectRatio(none))');
  content: '';
  position: absolute;
  left: 0;
  bottom: -2em;
  width: 100%;
  height: 300px;
  z-index: 1;
}
#home-banner h2 {
  margin: 2.5em 0 3em 0;
  font-size: 3em;
  padding-right: 30%;
}
#home-banner figure {
  position: absolute;
  margin-top: 7em;
  right: 0;
  width: 500px;
  z-index: 2;
}

#home-porque {
  margin-top: 6.5em;
}
#home-porque h2 {
  color: var(--vermelho);
  font-size: 2.5em;
  width: 55%;
  margin-bottom: 2em;
}
#home-porque img {
  width: 95px;
  margin-top: 1em;
  margin-bottom: 2em;
}
#home-porque .is-layout-flex {
  justify-content: space-around;
  text-align: center;
  margin-bottom: 3em;
}
#home-porque h3 {
  font-size: 1.8em;
  text-transform: uppercase;
}
#home-porque p {
  text-align: left;
  font-size: 1.2em;
  margin: 1em 0 3em 0;
  padding: 0 4em;
}
#home-porque .wp-block-column {
  width: 33%;
}

#home-sobre {
  color: #fff;
  padding: 4em 0 6.5em 0;
  position: relative;
}
#home-sobre:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -100px;
  background: top left no-repeat url('../img/home-sobre-after.svg');
  width: 130px;
  height: 300px;
  z-index: 2;
}
#home-sobre:before {
  z-index: -1;
  content: '';
  position: absolute;
  top:0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--roxo);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 85%);
}
#home-sobre figure {
  position: absolute;
  left: 0;
  bottom: 5em;
}
#home-sobre #home-sobre-right {
  padding-left: 55%;
  padding-right: 2em;
}
#home-sobre h2 {
  margin-bottom: 0.5em;
}
#home-sobre h2 a {
  padding-bottom: 0.25em;
  display: block;
  padding-right: 120px;
  color: #fff;
  text-transform: uppercase;
  text-decoration: none;
  font-size: 2rem;
  background: no-repeat url('../img/link-arrow.svg');
  background-position-x: 100%;
  background-position-y: 0.125em;
  border-bottom: 2px solid transparent;
}
#home-sobre h2 a:hover {
  border-bottom: 2px solid #fff;
}
#home-sobre p {
  font-size: 1.2em;
  padding-bottom: 2em;
  border-bottom: 2px solid #fff;
  margin-bottom: 2em;
}
#home-sobre p:last-child {
  border-bottom: 0;
}

#home-confia {
  margin-top: 4em;
}
#home-confia h2 {
  color: var(--roxo);
  font-size: 2em;
}
#home-confia .confia-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin: 30px 0 5em;
  justify-content: center;
}
#home-confia .confia-grid .confia-box {
  width: 150px;
  height: 84px;
  background: transparent;
  margin-bottom: 0;
}
#home-confia .confia-grid .confia-box img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

#home-blog {
  position: relative;
  padding-bottom: 2em;
  margin-top: 6.5em;
}
#home-blog:before {
  z-index: -1;
  content: '';
  position: absolute;
  bottom:0;
  left: 0;
  width: 100%;
  height: 70%;
  background: var(--vermelho);
  clip-path: polygon(0 0, 100% 15%, 100% 100%, 0% 100%);
}
#home-blog h2 {
  color: var(--vermelho);
  text-transform: uppercase;
  font-size: 2em;
}
.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: 20px;
}
.blog-grid .blog-box:hover {
  border: 2px solid var(--roxo);
}
.blog-grid .blog-box {
  position: relative;
  border: 2px solid transparent;
  background: #fff;
  padding: 0.667em 0.667em 0 0.667em;
  text-decoration: none;
  z-index: 3;
}
.blog-grid .blog-box figure {
  overflow: hidden;
  height: 240px;
  clip-path: polygon(0 15%, 100% 0, 100% 100%, 0% 100%);
}
.blog-grid .blog-box:nth-child(even) figure {
  clip-path: polygon(0 0, 100% 15%, 100% 100%, 0% 100%);
}
.blog-grid .blog-box figure img {
  object-fit: cover;
  height: 100%;
  width: 100%;
}
.blog-grid .blog-box .tag {
  text-transform: uppercase;
  color: var(--grafite);
  font-size: 1em;
}
.blog-grid .blog-box h3 {
  font-family: "Work Sans", sans-serif;
  text-decoration: underline;
  color: var(--roxo);
  font-size: 1.25em;
  font-weight: 600;
}
.blog-grid .blog-box p {
  color: var(--grafite);
  font-size: 1em;
}
#home-blog .more {
  color: #fff;
  text-align: right;
  display: block;
  margin: 3em 0 1em 0;
  font-weight: 500;
  font-size: 1.2em;
}
#home-blog .more:hover {
  color: var(--rosa);
}


#home-contato a {
  font-weight: 500;
  font-size: 1.2em;
}
#home-contato {
  position: relative;
  background: top left no-repeat url('../img/home-contato.png');
  background-size: cover;
  padding: 5em 20em 7em 20em;
  margin-bottom: -3em;
}
#home-contato h2 {
  color: var(--roxo);
  font-size: 2em;
  margin-bottom: 0.5em;
}
#home-contato:before {
  content: "";
  position: absolute;
  left: 0;
  top: -160px;
  background: top left no-repeat url('../img/home-contato-before.svg');
  width: 200px;
  height: 315px;
  z-index: 2;
}
#home-contato:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -20px;
  background: top left no-repeat url('../img/s-footer-1.svg');
  width: 200px;
  height: 250px;
  z-index: 2;
}

/* page */
.breadcrumb {
  width: 100%;
}
.breadcrumb li {
  display: inline;
}
.breadcrumb li a {
  text-decoration: none;
  color: var(--grafite);
}
.breadcrumb li a:hover {
  text-decoration: underline;
}
.breadcrumb li:after {
  content: " / ";
}
.breadcrumb li {
  padding-left: 0.3em;
}
.breadcrumb li:first-child {
  padding-left: 0;
}
.breadcrumb li:last-child:after {
  content: "";
}
.page .page__head {
  max-height: 500px;
  padding: 5em 0 5em 0;
  margin-bottom: 3em;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 85%);
}
.page:not(.page-sobre) .page__head .breadcrumb-holder {
  position: relative;
  top: -0.5em;
}
.page .page__head h1 {
  margin-top: 0.667em;
  text-transform: uppercase;
  font-size: 3em;
  font-weight: 300;
}
.page .page__head {
  background-size: cover;
  background-position: center;
}
.page .page__body {
  position: relative;
}
.page .page__lines {
  margin-top: -12em;
  background: top left no-repeat url('../img/home-banner-lines.svg#svgView(preserveAspectRatio(none))');
  content: '';
  background-size: 100% 100%;
  width: 100%;
  height: 280px;
  z-index: 1;
  transform: scale(1,-1);
  pointer-events: none;
}


/* sobre */

.page-sobre .page__body {
  margin-top: -7.5em;
}

.page-sobre .page__head {
  padding: 4.5em 0 10em 0;
  height: 500px
}
.page-sobre .page__head .breadcrumb,
.page-sobre .page__head .breadcrumb a {
  color: #fff;
  font-weight: 300;
}
.page-sobre .page__head h1 {
  color: #fff;
}
.page-sobre .page__body h2 {
  color: var(--vermelho);
}
.page-sobre .page__body p {
  font-size: 1.1em;
}
.page-sobre:after {
  display: none;
}
.page-sobre .page__body .is-layout-flex .wp-block-column:first-child {
  width: 60%;
  padding-left: 10%;
}
.page-sobre .wp-block-columns p {
  font-size: 1.2em;
}
.page-sobre .wp-block-columns figure {
  position: relative;
  margin-top: 6.5em;
  left: 7em;
}

.page-sobre .equipe {
  padding: 10em 0 3em 7em;
}
.page-sobre .equipe:before {
  content: "";
  position: absolute;
  right: 0;
  margin-top: -12em;
  transform: scale(1,-1);
  background: center no-repeat url('../img/home-banner-lines.svg#svgView(preserveAspectRatio(none))');
  background-size: 100% 100%;
  width: 100%;
  height: 250px;
  z-index: 2;
}
.page-sobre .equipe .membro {
  display: flex;
  justify-content: space-between;
  margin-bottom: 5em;
}
.page-sobre .equipe .membro:nth-child(odd) {
  flex-direction: row-reverse;
}
.page-sobre .equipe .membro p,
.page-sobre .equipe .membro h3 {
  font-size: 1.2em;
  margin-bottom: 0.5em;
}
.page-sobre .equipe .membro h3 {
  font-weight: bold;
}
.page-sobre .equipe .membro figure {
  flex-shrink: 0;
  margin-right: 1em;
  width: 240px;
  height: 240px;
  position: relative;
}
.page-sobre .equipe .membro figure:after {
  content: "";
  position: absolute;
  left: -100px;
  bottom: -50px;
  background: center no-repeat url('../img/membro-odd-after.png');
  background-size: cover;
  width: 151px;
  height: 151px;
  z-index: 2;
}
.page-sobre .equipe .membro:nth-child(odd) figure {
  margin-right: 0;
  margin-left: 1em;
}
.page-sobre .equipe .membro:nth-child(odd) figure:after {
  left: initial;
  right: -100px;
  background: center no-repeat url('../img/membro-after.png');
}
.page-sobre .equipe .membro figure img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  clip-path: polygon(0 10%, 100% 0, 100% 100%, 0% 100%);
}
.page-sobre .equipe .membro:nth-child(odd) figure img {
  clip-path: polygon(0 0, 100% 10%, 100% 100%, 0% 100%);
}

/* biblioteca */
.page-biblioteca .page__head .container {
  display: flex;
}
.page-biblioteca .page__head h1 {
  width: 50%;
}
.page-biblioteca .page__head .desc {
  width: 50%;
  font-size: 1.2em;
  padding-top: 2em;
}
.page-biblioteca .biblioteca {
  margin-top: -3em;
  padding-bottom: 15em;
  display: grid;
  grid-gap: 2em;
  grid-template-columns: auto auto auto auto;
}
.page-biblioteca .biblioteca .material p,
.page-biblioteca .biblioteca .material h3 {
  font-size: 1.2em;
  color: var(--roxo);
  margin-bottom: 0.5em;
  line-height: 150%;
}
.page-biblioteca .biblioteca .material a {
  font-size: 1.1em;
  font-weight: 500;
}
.page-biblioteca .biblioteca .material h3 {
  font-family: "Work Sans", sans-serif;
  font-weight: 600;
}
.page-biblioteca .biblioteca .material figure {
  width: 100%;
  max-width: 262px;
  height: 400px;
  margin: 0 auto;
  position: relative;
}
.page-biblioteca .biblioteca .material figure img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
#modal-download {
  touch-action: none;
  display: none;
  z-index: 3;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255,255,255,0.8);
  backdrop-filter: blur(10px);
  justify-content: center;
  align-items: center;
}
#modal-download .modal-window {
  box-shadow: 0px 7px 15px 2px rgba(0,0,0,0.1);
  position: relative;
  padding: 4em;
  background: #fff;
  max-width: 800px;
  max-height: 600px;
}
#modal-download .modal-window h2 {
  margin-bottom: 0.5em;
}
#modal-download .modal-window p {
  font-size: 1.2em;
}
#modal-download #modal-close {
  position: absolute;
  top: 0.75em;
  right: 0.75em;
  color: var(--grafite);
  text-decoration: none;
  text-transform: uppercase;
}
#modal-download #modal-submit {
  margin-top: 1em;
}

/* blog */
.page-blog {
  padding-bottom: 6em;
}
.page-blog .tag-filters-title {
  margin-top: -3em;
}
.page-blog .page__head .container {
  display: flex;
}
.page-blog .page__head h1 {
  width: 50%;
}
.page-blog .page__head .desc {
  width: 50%;
  font-size: 1.2em;
  padding-top: 3em;
}

/* page-single */
.page-single {
  position: relative;
  padding-bottom: 4em;
}
.page-single .page__head {
  padding-bottom: 0;
  clip-path: initial;
}
.page-single .page__head .tag {
  text-transform: uppercase;
  margin-top: 4em;
}
.page-single .page__head h1 {
  text-transform: initial;
  margin: 0 0 0.25em 0;
}
.page-single .page__content li,
.page-single .page__content p {
  font-size: 1.2em;
}
.page-single .page__content h3 {
  font-size: 1.667em;
  font-family: "Work Sans", sans-serif;
  color: var(--vermelho);
  font-weight: 500;
  margin-top: 1.5em;
  margin-bottom: 0.5em;
}
.page-single .postagens-relacionadas h2 {
  font-size: 1.5em;
  color: var(--grafite);
  font-weight: 500;
  margin-top: 4.5em;
  margin-bottom: 1.5em;
}
.page-single .page__content p strong {
  font-weight: 600;
}
.page-single .page__content ul,
.page-single .page__content ol {
  margin: 1.5em 0 3em 0;
}
.page-single blockquote {
  color: var(--roxo);
  font-size: 1.5em;
  font-weight: 500;
  margin-bottom: 3em;
}
.page-single-projeto .right {
  padding-right: 3em;
}
.page-single .post-thumbnail {
  width: 100%;
  height: 450px;
  margin-bottom: 3em;
}
.page-single .post-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.page-single .col.left {
  padding-right: 2em;
}
.page-single .col.right {
  position: relative;
}
.page-single .row {
  align-items: flex-start;
}
.page-single .col.right:after {
  content: '';
  position: absolute;
  height: 100%;
  width: 1px;
  background: #000;
  top: 0;
  left: 2em;
}
.page-single.page-single-projeto .col.right:after {
  display: none;
}

.page-single-projeto .page__head {
  height: 140px;
}

.page-single-projeto .decor-cilinders {
  top: 45%;
  margin-top: 0;
}

.page-single.page-single-projeto .col.left {
  position: relative;
  padding-right: 1em;
  /*border-right: 1px solid var(--grafite);*/
}
.page-single.page-single-projeto .col.left:after {
  content: '';
  position: absolute;
  height: 100%;
  width: 1px;
  background: #000;
  top: 0;
  right: 0;
}
.left.col-lg-3 {
  width: 23%;
}
.page-single .col.right {
  /*border-left: 1px solid #000;*/
  margin-top: 22em;
  padding-left: 5.5em;
}
.page-single-projeto .col.right {
  margin-top: 0;
  border-right: 0;
}
.page-single .col.right h2 {
  font-size: 1.5em;
}
.page-single-projeto .col.right h2 {
  font-size: 2em;
}
.page-single .col.right .blog-grid {
  grid-template-columns: 100%;
}
.page-single-projeto .row {
  padding-bottom: 8em;
}
.page-single-projeto .col.left h2 {
  font-family: "Work Sans", sans-serif;
  text-transform: uppercase;
  font-size: 1.3em;
  font-weight: 600;
  color: var(--roxo);
}
.page-single-projeto .col.left h3 {
  font-family: "Work Sans", sans-serif;
  font-size: 1.2em;
  font-weight: 300;
  color: var(--cinza);
}
.page-single-projeto .col.left p {
  font-weight: 500;
}

.page-single-projeto blockquote:before {
  content: "“"; 
  position: absolute;
  top: -60px;
  left: 0;
  font-weight: 600;
  font-size: 9em;
  color: var(--vermelho);
}
.page-single-projeto blockquote {
  position: relative;
  font-weight: 500;
  padding-left: 5em;
  font-size: 1.2em;
  color: var(--grafite);
  margin: 3em 0;
}

.backlink {
  display: block;
  margin-bottom: 3em;
  font-weight: 500;
}
.backlink i {
  padding-right: 0.5em;
}

.page-projetos .page__head {
  height: 500px;
}
.page-projetos .page__body {
  position: relative;
}
.page-projetos .page__body:before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  background: top right no-repeat url('../img/home-contato-before.svg');
  width: 150px;
  height: 350px;
  z-index: 2;
}
.page-projetos .page__body:after {
  content: "";
  position: absolute;
  right: 0;
  top: 20%;
  background: top left no-repeat url('../img/home-sobre-after.svg');
  width: 200px;
  height: 300px;
  z-index: 2;
}
.projetos-grid-container h2 {
  color: #fff;
  font-size: 28pt;
}
.projetos-grid-container {
  position: relative;
  padding-top: 4em;
}
.projetos-grid-container:before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  height: 70%;
  width: 100%;
  background: var(--vermelho);
  z-index: -1;
  clip-path: polygon(0 0, 100% 0, 100% 70%, 0% 100%);
}
.projetos-grid-container .projetos-grid {
  margin-bottom: 4em;
  padding: 0;
  grid-template-columns: auto auto auto auto;
}
.projetos-grid .projetos-box {
  padding: 0.5em;
  border: 2px solid transparent;
}
.projetos-grid .projetos-box:hover {
  border: 2px solid var(--bege);
}
.projetos-grid-container .projetos-grid .projetos-box figure {
  height: 250px;
}
.projetos-grid-container .projetos-grid .projetos-box h3 {
  font-weight: 600;
}

/* search */
.search-section {
  padding-bottom: 8em;
}
.search-section .results {
  font-size: 1.5em;
  margin-bottom: 4em;
  margin-top: -4em;
}
.search-item {
  padding-bottom: 1em;
  border-bottom: 1px solid var(--grafite);
  margin-bottom: 1em;
  background: no-repeat url('../img/link-dark-arrow.svg');
  background-position: right 25px;
}
.search-item h3 {
  font-size: 1.2em;
  margin: 0;
}

/* contato */
.page-contato {
  padding-bottom: 8em;
}
.page-contato .page__body {
  margin-top: -6em;
}
.page-contato .left {
  font-size: 1.2em;
}
.page-contato .wp {
  color: var(--grafite);
  text-decoration: none;
}
.page-contato .left img {
  margin-right: 0.5em;
}

/* servicos */
.page-servicos .page__head .container {
  display: flex;
}
.page-servicos .page__head h1 {
  width: 50%;
  font-weight: 200;
}
.page-servicos .page__head .desc {
  width: 50%;
  font-size: 1.2em;
  padding-top: 2em;
}
.page-servicos .servicos-grid:before {
  content: "";
  position: absolute;
  right: 0;
  margin-top: -12em;
  transform: scale(1,-1);
  background: center no-repeat url('../img/home-banner-lines.svg#svgView(preserveAspectRatio(none))');
  background-size: auto;
  background-size: 100% 100%;
  width: 100%;
  height: 250px;
  z-index: 2;
}
.page-servicos .servicos-grid {
  padding-top: 10em;
  margin-top: 4em;
}
.page-servicos .servicos-list {
  list-style: none;
  padding: 0;
  margin-top: -3em;
}
.page-servicos .page__body {
  position: relative;
}
/*
.page-servicos .page__body:before {
  content: "";
  position: absolute;
  right: -40px;
  top: -10px;
  background: top left no-repeat url('../img/home-sobre-after.svg');
  width: 180px;
  height: 300px;
  z-index: 2;
}
*/
.page-servicos .servicos-list {
  display: flex;
  flex-direction: column;
  align-items:  flex-start;
}
.page-servicos .servicos-list li {
  display: inline-block;
  font-size: 1.2em;
  position: relative;
  margin-bottom: 0.5em;
  padding: 0.3em;
  padding-left: 1.3em;
  border-radius: 6px;
}
.page-servicos .servicos-list li strong {
  font-weight: 600;
}
.page-servicos .servicos-list li:before {
  content: '';
  position: absolute;
  background: var(--vermelho);
  left: 0.3em;
  top: calc(10px + .3em);
  width: 9px;
  height: 8px;
  clip-path: polygon(0% 0%, 75% 0%, 100% 50%, 75% 100%, 0% 100%);
}
.page-servicos .servicos-list li a {
  color: var(--grafite);
}
.page-servicos .servicos-list li:hover {
  background: var(--vermelho);
}
.page-servicos .servicos-list li:hover a strong,
.page-servicos .servicos-list li:hover a {
  color: white;
}
.page-servicos .servicos-list li:hover:before {
  background: white;
}
.servicos-grid .servicos-box {
  display: flex;
  margin-bottom: 1em;
}
.servicos-grid .servicos-box figure {
  width: 450px;
  height: 450px;
  flex-shrink: 0;
}
.servicos-grid .servicos-box figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 10% 100%);
}
.servicos-grid .servicos-box:nth-child(even) figure img {
  clip-path: polygon(10% 0, 100% 0, 100% 100%, 0% 100%);
}
.servicos-grid .servicos-box div {
  padding: 0em 7em 1em 2em;
}
.servicos-grid .servicos-box p, 
.servicos-grid .servicos-box li {
  font-size: 1.2em;
}
.servicos-grid .servicos-box h3 {
  display: inline-block;
  position: relative;
  /*padding: 0 0.65em 0 0.25em;
  margin-top: 2em;*/
  margin-bottom: 0;
  font-weight: bold;
  color: #fff;
  font-size: 2em;
  line-height: 1.1;
}
.servicos-grid .servicos-box h3 span {
  --cut-size: 0.9em;
  --pad-x: 0.3em;
  --pad-y: 0.08em;
  --cut-safe-gap: 0.35em;
  position: relative;
  font-size: 25px;
  line-height: inherit;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  padding: var(--pad-y) calc(var(--pad-x) + var(--cut-size) + var(--cut-safe-gap)) var(--pad-y) var(--pad-x);
  background:
    linear-gradient(var(--vermelho), var(--vermelho)) left / calc(100% - var(--cut-size) + 1px) 100% no-repeat,
    linear-gradient(
      to bottom right,
      var(--vermelho) 0%,
      var(--vermelho) 50%,
      transparent 50.5%,
      transparent 100%
    ) right / var(--cut-size) 100% no-repeat;
}
.page-template-page-servicos .s-footer {
  margin-top: -3em;
}
.page-servicos {
  overflow: hidden;
}

/* projetos */
.page-projetos .page__head a,
.page-projetos .page__head {
  color: #fff;
}
.page-projetos .page__head {
  height: 500px
}
.page-projetos .page__head .container {
  display: flex;
}
.page-projetos .page__head h1 {
  width: 50%;
}
.page-projetos .page__head .desc {
  width: 50%;
  font-size: 1.2em;
  padding-top: 2em;
  padding-bottom: 8em;
}
.page-projetos .page__body {
  padding-bottom: 8em;
}
.projetos-grid {
  display: grid;
  grid-template-columns: auto auto;
  grid-gap: 2em;
  padding: 0 12%;
}
.projetos-grid .projetos-box {
  text-decoration: none;
}
.projetos-grid .projetos-box figure {
  overflow: hidden;
  height: 450px;
  clip-path: polygon(0 10%, 100% 0, 100% 100%, 0% 100%);
}
.projetos-grid .projetos-box:nth-child(even) figure {
  clip-path: polygon(0 0, 100% 10%, 100% 100%, 0% 100%);
}
.projetos-grid .projetos-box figure img {
  object-fit: cover;
  height: 100%;
  width: 100%;
}
.projetos-grid .projetos-box .tag {
  text-transform: uppercase;
  color: var(--rosa);
  font-size: 1em;
  font-weight: 500;
}
.projetos-grid .projetos-box h3 {
  font-family: "Work Sans", sans-serif;
  text-decoration: underline;
  color: var(--roxo);
  font-size: 1.25em;
  font-weight: bold;
}
.projetos-grid .projetos-box p {
  color: var(--grafite);
  font-size: 1em;
}

/* Mobile-image swap for core/image blocks (see epa_render_block_mobile_image) */
.wp-block-image picture {
  display: block;
}
.wp-block-image picture img {
  width: 100%;
  height: auto;
}
