@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Roboto:wght@400;700&display=swap");

:root {
  --bg: #000;
  --bg-light: #fff;
  --text: #fff;
  --text-dark: #000;
  --text-muted: #7a7a7a;
  --accent: #01c3cc;
  --border: rgba(170, 170, 170, 0.8);
  --font-sans: "Montserrat", system-ui, -apple-system, sans-serif;
  --font-body: "Roboto", system-ui, sans-serif;
  --header-height: 80px;
  --max-width: 1300px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

::selection {
  background-color: #01c3cc;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: 17px;
  line-height: 28px;
  font-weight: 300;
  background: var(--bg);
  color: var(--text);
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
}

.slug-trabalhos .site-header,
.slug-diretores .site-header,
.type-jobs .site-header__inner {
  background-color: #01c3cc !important;
  color: #fff !important;
}

.slug-diretores:not(.slug-diretores-index) .site-header{
  background-color: transparent !important;
  position: absolute;
}

/* About (A Farra) */
.section--wrapper2 {
  padding-bottom: 2rem;
  position: relative;
  color: #fff;
  text-align: center;
}

.o-que-fazemos .section--wrapper2 {
  margin-top: -15vw;
}

@media (min-width: 700px) {
  .o-que-fazemos .section--wrapper2 {
    margin-top: -220px;
  }
}

@media (min-width: 1025px) {
  .o-que-fazemos .section--wrapper2 {
    margin-top: -150px;
  }
}

.quem-somos-inner {
  margin: 2.5rem auto 4.5rem;
  color: #fff;
  text-align: center;
}

@media (min-width: 1025px) {
  .quem-somos-inner {
    max-width: 782px;
  }
}

.o-que-fazemos__list {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-left: auto;
  margin-right: auto;
  max-width: 1000px;
  list-style-type: none;
  flex-wrap: wrap;
  flex: 1 1 auto;
  padding: 0;
}

.o-que-fazemos__list li {
  margin-bottom: 6rem;
  flex-basis: 50%;
}

@media (min-width: 600px) {
  .o-que-fazemos__list li {
    flex-basis: 25%;
  }
}

.o-que-fazemos__list li span {
  display: inline-block;
  line-height: 1;
  max-width: 200px;
  font-weight: bold;
  text-transform: uppercase;
}

.logoCats {
  display: block;
  margin: 0 auto 1rem;
  height: 100px;
  max-width: none;
  width: auto;
}

.team-members {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

@media (min-width: 1025px) {
  .team-members {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    margin: 0 auto;
    justify-content: space-between;
    gap: 2rem;
  }
}

.team-member {
  text-align: center;
}

.team-member__photo {
  width: 100%;
  height: auto;
  overflow: hidden;
  height: 350px;
  margin: 0;
  padding: 0;
}

.team-member__image {
  position: relative;
  display: block;
  width: 100%;
  /* height: 100%; */
  overflow: hidden;
}

.team-member__photo img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  transform: scale(1.03);
  transition: transform 1s ease;
}

.team-member--founder:hover .team-member__photo img {
  transform: scale(1);
}

.team-member__social-overlay {
  position: absolute;
  inset: 0;
  box-sizing: border-box;
  z-index: 1;
  pointer-events: none;
  max-height: 350px;
}

.team-member__social-overlay-outer {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.team-member--founder:hover .team-member__social-overlay-outer {
  opacity: 1;
  transform: translateY(0);
}

.team-member__social-overlay-inner {
  width: 100%;
  padding: 0 10%;
  box-sizing: border-box;
}

.team-member__social-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0 22px;
}

.team-member__social-icon a {
  display: inline-flex;
  color: #fff;
  pointer-events: auto;
  transition: color 0.2s ease;
}

.team-member__social-icon a:hover {
  color: rgba(255, 255, 255, 0.8);
}

.team-member__social-icon svg {
  display: block;
}

.team-member__name {
  margin: 1rem 0 0.5rem;
  font-size: 17px;
  line-height: 1.470588235294118em;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  font-weight: 700;
}

.team-member__job {
  margin: 0;
  line-height: 23px;
  opacity: 0.9;
}

#founders {
  margin-bottom: 70px;
}

@media (max-width: 499px) {
  #founders {
    margin-top: 20px;
  }
}

@media (min-width: 1025px) {
  #founders {
    margin-top: -50px;
    z-index: 2;
    position: relative;
  }
}

.service--wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 4rem;
  width: 100%;
}

.service--item {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  margin: 1rem;
  padding: 2rem;
  border: solid 1px #fff;
  border-radius: 50px;
  gap: 1.5rem;
  /* width: 100%; */
  flex-wrap: wrap;
}

@media (min-width: 1025px) {
  .service--item {
    margin: 2em 0;
    justify-content: space-between;
    min-height: 250px;
    flex-wrap: nowrap;
    min-width: 45%;
  }
}

.service--item h2 {
  color: #fff;
  text-align: left;
  width: 100%;
  font-size: 1.5rem;
  line-height: 1.342857142857143em;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  font-weight: 700;
  margin: 0;
}

@media (min-width: 1025px) {
  .service--item h2 {
    font-size: 2rem;
    max-width: 255px;
  }
}

.service--body {
  width: 100%;

  letter-spacing: 1px;
  font-weight: 300;
}

@media (min-width: 1025px) {
  .service--body {
    width: 450px;
    text-align: right;
  }
}

img,
video,
iframe {
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
}

h1 {
  font-size: 45px;
  line-height: 1.177777777777778em;
  letter-spacing: 0.08em;
}

h2 {
  font-size: 35px;
  line-height: 1.342857142857143em;
  letter-spacing: 0.13em;
}

h3 {
  font-size: 29px;
  line-height: 1.310344827586207em;
  letter-spacing: 0.13em;
}

h4 {
  font-size: 23px;
  line-height: 1.521739130434783em;
  letter-spacing: 0.13em;
}

h5 {
  font-size: 17px;
  line-height: 1.470588235294118em;
  letter-spacing: 0.13em;
}

h6 {
  font-size: 12px;
  line-height: 1.5em;
  letter-spacing: 0.13em;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-sans);
  font-weight: 700;
  text-transform: uppercase;
  margin: 0 0 0.5em;
}

p {
  margin: 10px 0;
}

@media (max-width: 680px) {
  h1 {
    font-size: 35px;
  }

  h2 {
    font-size: 33px;
  }

  h3 {
    font-size: 28px;
  }

  h5 {
    font-size: 15px;
  }

  .team-member__name,
  .job-item__caption h2,
  .post-item h2 {
    font-size: 15px;
  }
}

.bn-editor {
  background-color: transparent !important;
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.site-layout {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.site-main {
  flex: 1;
  width: 100%;
}

.container {
  width: 100%;
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 2rem;
}

/* Header */
.site-header {
  /* position: absolute; */
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  overflow: visible;
}

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 1.25rem 2rem;
  min-height: var(--header-height);
  position: relative;
  overflow: visible;
  transition: background-color 0.24s ease, color 0.24s ease;
}

.route-home .site-header:not(.is-scrolled) .site-header__inner,
.route-page.slug-home .site-header:not(.is-scrolled) .site-header__inner,
.route-diretores .site-header:not(.is-scrolled) .site-header__inner {
  background: transparent;
}

/* .site-header:not(.is-scrolled) .site-header__inner {
  background: #000;
} */

.site-header.is-fixed .site-header__inner {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  max-width: none;
  background: rgba(0, 0, 0, 0.92);
  overflow: visible;
}

.route-jobs .site-header__inner {
  background: rgba(2, 195, 204, 1);
}

.site-header.is-scrolled .site-header__inner {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  max-width: none;
  background: #fff;
  backdrop-filter: none;
  overflow: visible;
}

.route-jobs .site-header.is-scrolled .site-header__inner {
  background: rgba(2, 195, 204, 1);
}

.site-brand {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 48px;
}

.site-brand .site-brand__logo {
  height: 48px;
  width: auto;
  display: none; /* only one variant visible at a time */
}

/*
 * Exactly one logo per header:
 * 1) scrolled + white bar → black
 * 2) #01c3cc bar → white
 * 3) home (not white scrolled) → blue
 * 4) default → white
 */

/* 4) Default: white */
.site-brand .site-brand__logo--light {
  display: block;
}

/* 3) Home top (transparent over hero): blue */
.route-home .site-header:not(.is-scrolled) .site-brand .site-brand__logo--light,
.route-home .site-header:not(.is-scrolled) .site-brand .site-brand__logo--dark,
.route-page.slug-home .site-header:not(.is-scrolled) .site-brand .site-brand__logo--light,
.route-page.slug-home .site-header:not(.is-scrolled) .site-brand .site-brand__logo--dark {
  display: none;
}

.route-home .site-header:not(.is-scrolled) .site-brand .site-brand__logo--blue,
.route-page.slug-home .site-header:not(.is-scrolled) .site-brand .site-brand__logo--blue {
  display: block;
}

/* 2) Cyan #01c3cc → white (trabalhos / diretores index / jobs) */
.slug-trabalhos .site-header .site-brand .site-brand__logo--dark,
.slug-trabalhos .site-header .site-brand .site-brand__logo--blue,
.slug-diretores .site-header:not(.is-scrolled) .site-brand .site-brand__logo--dark,
.slug-diretores .site-header:not(.is-scrolled) .site-brand .site-brand__logo--blue,
.type-jobs .site-header .site-brand .site-brand__logo--dark,
.type-jobs .site-header .site-brand .site-brand__logo--blue,
.route-jobs .site-header .site-brand .site-brand__logo--dark,
.route-jobs .site-header .site-brand .site-brand__logo--blue {
  display: none;
}

.slug-trabalhos .site-header .site-brand .site-brand__logo--light,
.slug-diretores .site-header:not(.is-scrolled) .site-brand .site-brand__logo--light,
.type-jobs .site-header .site-brand .site-brand__logo--light,
.route-jobs .site-header .site-brand .site-brand__logo--light {
  display: block;
}

/* 1) Scrolled white bar → black (wins over home blue and over trabalhos when bar turns white) */
.site-header.is-scrolled .site-brand .site-brand__logo--light,
.site-header.is-scrolled .site-brand .site-brand__logo--blue {
  display: none;
}

.site-header.is-scrolled .site-brand .site-brand__logo--dark {
  display: block;
}

/* Jobs stay #01c3cc when scrolled → keep white logo */
.type-jobs .site-header.is-scrolled .site-brand .site-brand__logo--dark,
.type-jobs .site-header.is-scrolled .site-brand .site-brand__logo--blue,
.route-jobs .site-header.is-scrolled .site-brand .site-brand__logo--dark,
.route-jobs .site-header.is-scrolled .site-brand .site-brand__logo--blue {
  display: none;
}

.type-jobs .site-header.is-scrolled .site-brand .site-brand__logo--light,
.route-jobs .site-header.is-scrolled .site-brand .site-brand__logo--light {
  display: block;
}

/* Trabalhos: cyan at top stays white; when scrolled bar is white → black (rule 1 applies).
   Override the always-cyan slug-trabalhos white-logo when is-scrolled. */
.slug-trabalhos .site-header.is-scrolled .site-brand .site-brand__logo--light,
.slug-trabalhos .site-header.is-scrolled .site-brand .site-brand__logo--blue {
  display: none;
}

.slug-trabalhos .site-header.is-scrolled .site-brand .site-brand__logo--dark {
  display: block;
}

.site-header__center {
  flex: 1;
  display: none;
  justify-content: center;
  overflow: visible;
}

.site-nav {
  overflow: visible;
}

.site-header__actions {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.site-nav > ul {
  display: flex;
  align-items: center;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-nav > ul > li {
  position: relative;
}

.site-nav > ul > li > a {
  position: relative;
  display: inline-block;
  padding: 0 15px;
  font-size: 12px;
  font-weight: 700;
  line-height: 23px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  transition: color 0.2s ease;
}

.route-home .site-header:not(.is-scrolled) .site-nav > ul > li > a,
.route-page.slug-home .site-header:not(.is-scrolled) .site-nav > ul > li > a,
.route-diretores .site-header:not(.is-scrolled) .site-nav > ul > li > a,
.site-header:not(.is-scrolled) .site-nav > ul > li > a {
  color: #fff;
}

.route-home .site-header:not(.is-scrolled) .site-nav > ul > li > a:hover,
.route-home .site-header:not(.is-scrolled) .site-nav > ul > li.is-active > a,
.route-page.slug-home .site-header:not(.is-scrolled) .site-nav > ul > li > a:hover,
.route-page.slug-home .site-header:not(.is-scrolled) .site-nav > ul > li.is-active > a,
.route-diretores .site-header:not(.is-scrolled) .site-nav > ul > li > a:hover,
.route-diretores .site-header:not(.is-scrolled) .site-nav > ul > li.is-active > a,
.site-header:not(.is-scrolled) .site-nav > ul > li > a:hover,
.site-header:not(.is-scrolled) .site-nav > ul > li.is-active > a {
  color: rgba(255, 255, 255, 0.8);
}

.site-header.is-scrolled .site-nav > ul > li > a {
  color: #000;
}

.type-jobs .site-header.is-scrolled .site-nav > ul > li > a {
  color: #fff;
}

.site-header.is-scrolled .site-nav > ul > li > a:hover,
.site-header.is-scrolled .site-nav > ul > li.is-active > a {
  color: #545454;
}

.route-jobs .site-nav > ul > li > a,
.route-jobs .site-header.is-scrolled .site-nav > ul > li > a {
  color: #fff;
}

.route-jobs .site-nav > ul > li > a:hover,
.route-jobs .site-nav > ul > li.is-active > a,
.route-jobs .site-header.is-scrolled .site-nav > ul > li > a:hover,
.route-jobs .site-header.is-scrolled .site-nav > ul > li.is-active > a {
  color: rgba(255, 255, 255, 0.8);
}

.site-nav__submenu {
  display: none;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  min-width: 220px;
  margin: 0.75rem 0 0;
  padding: 0.75rem 0;
  list-style: none;
  background: rgba(0, 0, 0, 0.95);
  border: 1px solid rgba(255, 255, 255, 0.12);
  z-index: 200;
}

.site-nav__item--has-submenu:hover > .site-nav__submenu,
.site-nav__item--has-submenu:focus-within > .site-nav__submenu {
  display: block;
}

.site-header.is-scrolled .site-lang-switcher .site-lang-link {
  color: #000;
}

.site-header.is-scrolled .site-social-links a {
  color: #000;
}

.route-jobs .site-header.is-fixed .site-header__inner {
  background: rgba(2, 195, 204, 1);
}

.site-nav__submenu a {
  display: block;
  padding: 0.5rem 1rem;
  font-size: 10px;
  font-weight: 700;
  line-height: 24px;
  letter-spacing: 3px;
  text-transform: uppercase;
  white-space: nowrap;
}

.site-nav__submenu a:hover {
  background: rgba(1, 195, 204, 0.15);
}

[x-cloak] {
  display: none !important;
}

.site-lang-switcher {
  display: flex;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-lang-link {
  opacity: 0.6;
  transition: opacity 0.2s ease;
}

.site-lang-link.is-active,
.site-lang-link:hover {
  opacity: 1;
}

.site-social-links {
  display: none;
  align-items: center;
  gap: 0.75rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-social-links a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  opacity: 0.85;
  transition: opacity 0.2s ease, color 0.2s ease;
}

.site-social-links a:hover {
  opacity: 1;
  color: var(--accent);
}

.site-social-links svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
}

.site-header--dark .site-social-links a {
  color: #fff;
}

.site-header--light .site-social-links a {
  color: #000;
}

/* Mobile header (Astro: headermobile + navmobile) */
.edgtf-mobile-header {
  display: none;
  position: relative;
  z-index: 110;
}

.edgtf-mobile-header-inner {
  position: relative;
  background-color: #fff;
  border-bottom: 1px solid rgba(170, 170, 170, 0.8);
}

.edgtf-mobile-header-holder {
  position: relative;
  z-index: 2;
  height: 70px;
}

.edgtf-mobile-header .edgtf-grid {
  height: 100%;
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 2rem;
}

.edgtf-mobile-header .edgtf-vertical-align-containers {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  padding: 0;
}

.edgtf-mobile-header .edgtf-position-left {
  max-width: calc(100% - 50px);
}

.edgtf-mobile-logo-wrapper a {
  display: flex;
  align-items: center;
}

.edgtf-mobile-logo-wrapper .site-brand__logo {
  height: 48px;
  width: auto;
  max-width: 180px;
  display: none; /* only one visible */
}

/* Mobile header is always white → black logo only */
.edgtf-mobile-logo-wrapper .site-brand__logo--dark {
  display: block;
}

.edgtf-mobile-menu-opener {
  position: relative;
  height: 100%;
  z-index: 2;
}

.edgtf-mobile-menu-opener a {
  display: flex;
  align-items: center;
  height: 100%;
  padding-right: 10px;
  color: #000;
}

.edgtf-hm-lines {
  position: relative;
  display: block;
  width: 15px;
  height: 10px;
}

.edgtf-hm-line {
  position: absolute;
  left: 0;
  height: 2px;
  width: 100%;
  background-color: currentColor;
  border-radius: 12px;
  transition: width 0.3s ease;
}

.edgtf-line-1 {
  top: 0;
}

.edgtf-line-2 {
  top: 4px;
}

.edgtf-line-3 {
  bottom: 0;
}

.edgtf-mobile-nav {
  display: block;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease-out;
  background-color: #fff;
  border-bottom: 1px solid rgba(170, 170, 170, 0.8);
}

.edgtf-mobile-nav.is-open {
  max-height: 50vh;
  overflow: auto;
}

.edgtf-mobile-nav ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

.edgtf-mobile-nav li {
  position: relative;
  padding: 0;
  margin: 0;
}

.edgtf-mobile-nav li a {
  position: relative;
  display: block;
  padding: 13px 0 9px;
  margin: 0;
  font-size: 10px;
  font-weight: 700;
  line-height: 24px;
  text-transform: uppercase;
  color: #989898;
  border-bottom: 1px solid rgba(170, 170, 170, 0.8);
}

.edgtf-mobile-nav li a:hover,
.edgtf-mobile-nav li.edgtf-active-item > a {
  color: #000;
}

.edgtf-mobile-nav .edgtf-grid > ul > li > a {
  padding-left: 4px;
  font-size: 12px;
  letter-spacing: 0.2em;
}

.edgtf-mobile-nav .submenu ul {
  margin-left: 15px;
}

.edgtf-mobile-nav .submenu {
  max-height: 100%;
}

.edgtf-mobile-nav .submenu li a {
  font-size: 10px;
  font-weight: 700;
  line-height: 24px;
  letter-spacing: 0.35em;
}

.edgtf-mobile-nav .submenu li.edgtf-active-item > a {
  color: #545454;
}

.edgtf-mobile-nav .submenu.hide {
  max-height: 0;
  overflow: hidden;
}

.edgtf-mobile-nav > .edgtf-grid > ul > li:last-child > a {
  border-bottom: none;
}

.edgtf-mobile-nav .has-submenu {
  position: relative;
}

.edgtf-mobile-nav .has-submenu > a::before {
  content: "";
  position: absolute;
  right: 10px;
  top: 50%;
  width: 20px;
  height: 20px;
  margin-top: -10px;
  background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pjxzdmcgdmlld0JveD0iMCAwIDMyIDMyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDpub25lO3N0cm9rZTojMDAwO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2Utd2lkdGg6MnB4O308L3N0eWxlPjwvZGVmcz48dGl0bGUvPjxnIGlkPSJjaGV2cm9uLWJvdHRvbSI+PGxpbmUgY2xhc3M9ImNscy0xIiB4MT0iMTYiIHgyPSI3IiB5MT0iMjAuNSIgeTI9IjExLjUiLz48bGluZSBjbGFzcz0iY2xzLTEiIHgxPSIyNSIgeDI9IjE2IiB5MT0iMTEuNSIgeTI9IjIwLjUiLz48L2c+PC9zdmc+");
  background-repeat: no-repeat;
  background-position: center;
  transform: rotate(0);
  transition: transform 0.5s ease-in-out;
}

.edgtf-mobile-nav .has-submenu > a.active::before {
  transform: rotate(180deg);
}

/* Hero / Home */
.hero {
  position: relative;
  width: 100%;
  background: #000;
}

.hero-video {
  position: relative;
  width: 100%;
  padding-top: 180%;
}

.hero-video::before {
  content: "";
  position: absolute;
  inset: 0;
  background: transparent;
  z-index: 1;
  pointer-events: none;
}

.hero-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
  z-index: 0;
}

.firstfold {
  padding: 5rem 2rem;
}

.firstfold h3 {
  max-width: 650px;
  margin: 0;
  color: #fff;
  font-size: 180%;
  line-height: 1.2;
  letter-spacing: normal;
  text-transform: uppercase;
  word-wrap: break-word;
}

.firstfold h3 span {
  color: var(--accent);
}

.firstfold__intro {
  margin-top: 3rem;
}

.firstfold .entry-content {
  color: #fff;
}

.firstfold .entry-content p {
  margin: 0;
  font-size: inherit;
  line-height: 1.5;
}

.firstfold .entry-content p:nth-child(odd) {
  color: #fff;
}

.firstfold .entry-content p:nth-child(even),
.firstfold .entry-content span {
  color: var(--accent);
}

.firstfold .entry-content p span {
  color: var(--accent);
}

.firstfold .block-editor-content .bn-block-column-list {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}

.firstfold .block-editor-content h3 {
  max-width: 650px;
  margin: 0;
  color: #fff;
  font-size: 180%;
  line-height: 1.2;
  letter-spacing: normal;
  text-transform: uppercase;
  overflow-wrap: normal;
  word-break: normal;
}

.firstfold .block-editor-content h3 span {
  color: var(--accent);
}

.firstfold .block-editor-content .bn-block-column {
  flex: 1 1 auto;
  overflow: visible;
  overflow-x: visible;
}

/* Clients grid */
.clients {
  margin: 5rem 2rem;
}

.clients__title {
  margin: 0 0 3rem;
  color: #fff;
  text-align: center;
}

.clients__list {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-around;
  max-width: var(--max-width);
  margin: 0 auto;
  gap: 1rem;
}

.client-item {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 40%;
  min-height: 150px;
  margin: 0;
}

.client-item img {
  width: auto;
  /* max-width: 160px; */
  max-height: 120px;
  height: auto;
  object-fit: contain;
}

/* Page banner */
.page-banner {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background-size: cover;
  background-position: center;
  text-align: center;
}

.page-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    0deg,
    rgba(0, 0, 0, 1) 0%,
    rgba(0, 0, 0, 0.4) 10%,
    rgba(0, 0, 0, 0) 20%
  );
}

.page-banner__content {
  position: relative;
  z-index: 1;
  max-width: 856px;
  padding: 2rem;
}

.page-banner h1 {
  color: #fff;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.page-banner__intro {
  margin-top: 1.5rem;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.13em;
  line-height: 1.5em;
  text-transform: none;
}

.page-content {
  background: #fff;
  color: var(--text-dark);
}

.page-content .container {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.page-content .entry-content {
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 28px;
  font-weight: 300;
  color: var(--text-muted);
}

/* Jobs grid */
.jobs-grid {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  background: #000;
}

.job-item {
  flex: 1 1 100%;
  overflow: hidden;
}

.job-item__link {
  display: block;
}

.job-item__figure {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  max-height: 384px;
  overflow: hidden;
}

.job-item__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.03);
  transition: transform 1s ease;
}

.job-item:hover .job-item__image {
  transform: scale(1);
}

.job-item__caption {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  padding: 1rem;
  background: rgba(0, 0, 0, 0.65);
}

.job-item__caption h2 {
  color: #fff;
  font-size: 17px;
  line-height: 1.470588235294118em;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  font-weight: 700;
  margin: 0;
}

/* Directors grid */
.directors-grid {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  background: #000;
}

.director-item {
  flex: 1 1 100%;
}

.director-item__figure {
  align-items: baseline;
}

/* Portfolio single */
.portfolio-inner {
  background: #fff;
  color: var(--text-dark);
}

@media (min-width: 1025px) {
  .portfolio-inner {
    padding: 10rem 0 5rem;
  }
}

.portfolio-inner__grid {
  display: grid;
  gap: 2rem;
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 0 2rem 0;
}

.portfolio-inner__media {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.video-wrapper {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.video-wrapper--horizontal {
  aspect-ratio: 16 / 9;
}

.video-wrapper--vertical {
  max-width: 360px;
  margin: 0 auto;
  aspect-ratio: 9 / 16;
}

.video-wrapper iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.portfolio-inner__sidebar {
  position: relative;
}

.job-header h1 {
  order: 2;
  font-size: 29px;
  line-height: 1.310344827586207em;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  font-weight: 700;
  margin: 0;
}

.job-header__categories {
  order: 1;
  font-size: 12px;
  line-height: 1.5em;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--text-muted);
  margin: 0;
}

.portfolio-inner .entry-content {
  margin-top: 40px;
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 28px;
  font-weight: 300;
  color: rgb(122, 122, 122);
}

.ficha-tecnica {
  margin-top: 2rem;
  padding: 3rem 0 2rem;
  border-top: 1px solid var(--border);
  list-style: none;
  padding-left: 0;
}

.ficha-tecnica li {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1rem;
  line-height: 1.2;
}

.ficha-tecnica b {
  flex: 0 0 35%;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--text-dark);
}

.ficha-tecnica span {
  flex: 1;
}

.job-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  width: 100%;
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 5rem 2rem 0;
  border-top: 1px solid var(--border);
}

.job-pagination__link {
  display: flex;
  align-items: flex-end;
  gap: 1rem;
  flex: 1 1 100%;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-dark);
}

.job-pagination__link small {
  position: absolute;
  margin-top: -1.75rem;
  font-weight: 400;
  text-transform: capitalize;
  letter-spacing: 0.04em;
  color: var(--text-muted);
}

.job-pagination__link::before {
  content: "";
  display: block;
  flex: 0 0 80px;
  width: 80px;
  height: 50px;
  background-color: #000;
  background-image: var(--job-pagination-thumb);
  background-size: cover;
  background-position: center;
}

.job-pagination__link--next {
  justify-content: flex-end;
  text-align: right;
}

.job-pagination__link--next::before {
  order: 2;
}

@media (min-width: 1024px) {
  .job-pagination {
    justify-content: space-between;
  }

  .job-pagination__link {
    position: relative;
    flex: 0 1 calc(50% - 1rem);
    max-width: calc(50% - 1rem);
  }
}

/* Director single */
.director-reel {
  position: relative;
  width: 100%;
  background: var(--accent);
  color: #fff;
  text-align: center;
}

.director-reel__video {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.director-reel__video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.director-profile {
  padding: 5rem 2rem;
  background: #000;
}

.director-profile__inner {
  display: grid;
  gap: 3rem;
  max-width: 1080px;
  margin: 0 auto;
}

.director-profile__photo img {
  display: block;
  width: 100%;
  max-width: 500px;
  height: auto;
}

.director-profile__bio {
  color: #fff;
  text-align: justify;
}

.director-profile__bio .entry-content {
  color: #fff;
  font-size: 17px;
  line-height: 28px;
  font-weight: 300;
}

.director-social {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  list-style: none;
  margin: 2rem 0 0;
  padding: 0;
}

.director-social a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border: 1px solid #fff;
  border-radius: 50%;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 700;
  transition: background 0.2s ease, color 0.2s ease;
}

.director-social a:hover {
  background: #fff;
  color: #000;
}

/* Footer */
.farra-footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #fff;
  color: #000;
}

.farra-footer--dark {
  background: #000;
  color: #fff;
}

.farra-footer__inner {
  width: 100%;
  margin: 0 auto;
  max-width: 300px;
  padding: 7rem 0 5rem;
}

.farra-footer__inner > .farra-footer__logo,
.farra-footer__inner > .farra-footer__column {
  margin-bottom: 1rem;
}

.farra-footer__logo {
  text-align: center;
  margin-bottom: 3rem;
}

.farra-footer__logo a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 120px;
}

.farra-footer__logo img {
  width: 270px;
  max-width: 100%;
  height: auto;
}

.farra-footer__widget {
  margin: 0;
}

.farra-footer__widget p {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: #000;
}

.farra-footer__widget b {
  display: inline-block;
  margin-bottom: 0.5rem;
  font-weight: 700;
}

.farra-footer__widget a {
  color: inherit;
}

.farra-footer__widget a:hover {
  color: var(--accent);
}

.farra-footer--dark .farra-footer__widget p {
  color: #fff;
}

.farra-footer--dark .farra-footer__widget a:hover {
  color: var(--accent);
}

.socialmedia-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 300px;
  margin: 110px auto;
}

.social--item {
  display: flex;
  align-items: center;
  justify-content: center;
}

.social--item svg {
  display: block;
  width: 38px;
  height: 38px;
  fill: #08bdc7;
}

.social--item svg path {
  fill: #08bdc7;
}

.social--item.tiktok svg {
  width: 35px;
  height: 35px;
}

.farra-footer__copyright {
  width: 100%;
  text-align: center;
  padding: 0 2rem 2rem;
  font-size: 12px;
  opacity: 0.7;
}

.farra-footer__copyright a {
  color: inherit;
}

.farra-footer__copyright a:hover {
  color: var(--accent);
}

/* Archive / search / single generic */
.archive-header,
.search-header {
  padding: 4rem 0 2rem;
  text-align: center;
}

.archive-header h1,
.search-header h1 {
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.post-list {
  padding-bottom: 4rem;
}

.post-item {
  padding: 2rem 0;
}

.post-item + .post-item {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.post-item h2 {
  font-size: 17px;
  line-height: 1.470588235294118em;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  font-weight: 700;
  margin: 0;
}

.post-item h2 a:hover {
  color: var(--accent);
}

.post-item-date {
  color: var(--text-muted);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.entry-single {
  padding: 4rem 0;
}

.entry-single header {
  text-align: center;
  margin-bottom: 2rem;
}

.entry-single header h1 {
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.entry-content a {
  color: var(--accent);
}

.error-page {
  padding: 6rem 2rem;
  text-align: center;
}

.error-page h1 {
  font-size: 4rem;
  color: var(--accent);
}

.pagination {
  display: flex;
  justify-content: center;
  gap: 1.5rem;
  padding: 2rem 0 4rem;
}

.pagination a {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.pagination a:hover {
  color: var(--accent);
}

/* Block editor content */
.block-editor-content img {
  max-width: 100%;
  height: auto;
}

@media (min-width: 641px) {
  .client-item {
    flex-basis: 33%;
  }
}

@media (min-width: 700px) {
  .job-item,
  .director-item {
    flex: 1 1 50%;
    max-width: 50%;
  }
}

@media (min-width: 1025px) {
  .site-header__center {
    display: flex;
  }

  .site-social-links {
    display: flex;
  }

  .edgtf-mobile-header {
    display: none !important;
  }

  .hero-video {
    padding-top: 56.25%;
  }

  .firstfold {
    display: flex;
    max-width: var(--max-width);
    padding: 5rem 2rem;
    margin: 5rem auto;
    gap: 0;
  }

  .firstfold h3,
  .firstfold__intro {
    flex: 1 1 50%;
  }

  .firstfold .block-editor-content .bn-block-column-list {
    flex-direction: row;
    align-items: flex-start;
    max-width: var(--max-width);
    width: 100%;
    margin: 0 auto;
    gap: 0;
  }

  /* 52% title / 48% text — no cell scroll, keep ENTRETENIMENTO on one line */
  .firstfold .block-editor-content .bn-block-column {
    overflow: visible;
    overflow-x: visible;
    min-width: 0;
  }

  .firstfold .block-editor-content .bn-block-column:first-child {
    flex: 0 0 52%;
    max-width: 52%;
    padding-right: 10px;
  }

  .firstfold .block-editor-content .bn-block-column:last-child {
    flex: 0 0 48%;
    max-width: 48%;
    margin-left: 0;
  }

  .firstfold .block-editor-content .bn-block-column .bn-block-outer,
  .firstfold .block-editor-content .bn-block-column .bn-block,
  .firstfold .block-editor-content .bn-block-column .bn-block-content {
    overflow: visible;
  }

  .firstfold .block-editor-content h3 {
    max-width: none;
    font-size: 60px;
    text-align: right;
  }

  .firstfold h3 {
    font-size: 60px;
    text-align: right;
  }

  .firstfold__intro {
    margin-top: 0;
    margin-left: 80px;
  }

  .home-br h3 {
    font-size: 47px;
  }

  .home-br h3 span:first-child {
    font-size: 61px;
    white-space: nowrap;
  }

  #article_br {
    margin-left: 36px;
  }

  .clients {
    margin-top: 0;
    margin-bottom: 6rem;
  }

  .client-item {
    flex: 1 1 11%;
    margin: 1em;
  }

  .director-profile__inner {
    grid-template-columns: 1fr 1fr;
    align-items: start;
  }
}

@media (min-width: 1024px) {
  .job-item,
  .director-item {
    flex: 1 1 33.333%;
    max-width: 33.333%;
  }

  .job-item__caption {
    display: flex;
    align-items: center;
    justify-content: center;
    inset: 0;
    opacity: 0;
    background: rgba(0, 0, 0, 0.3);
    transition: opacity 0.2s linear;
  }

  .job-item:hover .job-item__caption {
    opacity: 1;
  }

  .job-item__figure::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 9;
    background: transparent;
    transition: background 0.2s linear;
  }

  .job-item:hover .job-item__figure::before {
    background: rgba(0, 0, 0, 0.7);
  }

  .portfolio-inner__grid {
    grid-template-columns: 2fr 1fr;
    align-items: start;
  }

  .farra-footer {
    padding-top: 2rem;
    box-sizing: border-box;
  }

  .farra-footer__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    height: 200px;
    max-width: 1250px;
    margin: 0 auto;
    padding: 0 2rem;
    min-height: 0;
    box-sizing: border-box;
  }

  .farra-footer__inner > .farra-footer__logo,
  .farra-footer__inner > .farra-footer__column {
    display: flex;
    flex-direction: column;
    flex: 0 0 25%;
    max-width: 25%;
    margin-bottom: 0;
    box-sizing: border-box;
  }

  .farra-footer__logo {
    margin-bottom: 0;
    text-align: center;
  }

  .farra-footer__column--location .farra-footer__widget {
    margin-left: 40px;
  }

  .farra-footer__column--business {
    align-items: center;
  }

  .farra-footer__column--contacts {
    height: 100%;
    justify-content: space-between;
  }

  .farra-footer__widget--stack b {
    margin-bottom: 0;
  }
}

@media (min-width: 1024px) and (max-width: 1300px) {
  .farra-footer__inner {
    max-width: 1000px;
  }
}

@media (min-width: 1025px) {
  .route-jobs .site-main {
    padding-top: 5.5rem;
  }

  .site-nav > ul > li.site-nav__item--has-submenu {
    position: static;
  }

  .site-nav__submenu {
    position: absolute;
    top: calc(100% - 1rem);
    left: 50%;
    width: 100vw;
    margin: 0 0 0 -50vw;
    padding: 1.25rem 2% 1em;
    display: none;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    max-width: none;
    min-width: 0;
    transform: none;
    background: transparent;
    border: 0;
    z-index: 110;
  }

  .site-nav__submenu::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1.25rem;
  }

  .site-nav__item--has-submenu.is-submenu-open > .site-nav__submenu,
  .site-nav__item--has-submenu:hover > .site-nav__submenu,
  .site-nav__item--has-submenu:focus-within > .site-nav__submenu {
    display: flex;
  }

  .site-header.is-scrolled .site-nav__submenu {
    background: #fff;
  }

  .type-jobs .site-header .site-nav__submenu,
  .slug-trabalhos .site-header:not(.is-scrolled) .site-nav__submenu {
    background-color: #01c3cc !important;
  } 

  .site-nav__submenu li {
    border: 1px solid #fff;
    border-radius: 20px;
    min-width: 100px;
    margin: 0 0.2rem;
    transition: background-color 0.2s ease, color 0.2s ease;
  }

  .site-nav__submenu a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 2em;
    min-height: 32px;
    line-height: 1.5;
    letter-spacing: 1px;
    font-size: 10px;
    text-align: center;
    background: transparent;
  }

  .site-nav__submenu li:hover {
    background: #000;
    color: #fff !important;
  }

  .site-nav__submenu li:hover a {
    color: #fff !important;
  }

  .site-nav__submenu li a:hover {
    color: #fff !important;
  }

  .site-header.is-scrolled .site-nav__submenu li {
    border-color: #000;
  }

  .site-header.is-scrolled .site-nav__submenu a {
    color: #000;
  }

  .type-jobs .site-header.is-scrolled .site-nav__submenu li {
    border-color: #fff;
  }

  .type-jobs .site-header.is-scrolled .site-nav__submenu a {
    color: #fff;
  }

  .route-jobs .site-nav__submenu,
  .route-jobs .site-header.is-scrolled .site-nav__submenu {
    background: rgba(2, 195, 204, 1);
  }

  .route-jobs .site-nav__submenu li {
    border-color: #fff;
  }

  .route-jobs .site-nav__submenu a {
    color: #fff;
  }

  .route-jobs .site-nav__submenu li:hover {
    background: #fff;
    color: #000;
  }

  .route-jobs .site-nav__submenu li:hover a {
    color: #000;
  }
}

@media (max-width: 1024px) {
  .site-header {
    display: none;
  }

  .edgtf-mobile-header {
    display: block;
  }

  .edgtf-mobile-header .edgtf-grid {
    padding: 0 1.25rem;
  }
}
