/* PÁGINA DE CONTATO */
.contato,
.escritorios__corpo,
.compliance,
.canal {
  position: relative;
  isolation: isolate;
  background-color: var(--bs-body-bg)
}

.contato {
  padding: 7.5rem 0 0
}

.contato::before,
.escritorios__corpo::before,
.compliance::before,
.canal::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: url('../imagens/contato/grade.webp') center/cover no-repeat;
  mix-blend-mode: difference;
  opacity: .02;
  pointer-events: none
}

.contato>.container {
  display: flex;
  flex-direction: column;
  gap: 4rem
}

.contato__titulo {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .25rem;
  text-align: center
}

.contato__titulo span {
  color: var(--bs-primary);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5
}

.contato__titulo h2 {
  margin: 0;
  color: var(--bs-heading-color);
  font-size: 2.25rem;
  font-weight: 600;
  line-height: 1.2
}

.contato__caixa {
  display: flex;
  flex-wrap: wrap;
  align-items: center
}

.contato__marca {
  flex: none;
  width: 40.625rem;
  height: 38.6875rem;
  margin-right: -5.9375rem;
  background: url('../imagens/contato/marca-cril.webp') center/100% 100% no-repeat
}

.contato__form {
  position: relative;
  flex: 1 1 21.875rem;
  padding: 2.5rem;
  border-radius: 1.5rem;
  background-color: var(--bs-white);
  box-shadow: 0 2px 3px rgba(27, 27, 27, .1), 0 4px 5px rgba(27, 27, 27, .1)
}

.contato-form {
  display: flex;
  flex-direction: column;
  gap: 2rem
}

.contato-form__linha {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem
}

.contato-form__linha>.contato-form__campo {
  flex: 1 1 15.625rem
}

.contato-form__campo {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  min-width: 0
}

.contato-form__label {
  color: var(--bs-heading-color);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5
}

.contato-form .form-control,
.contato-form .form-select {
  height: 3.1875rem;
  padding: 0 .75rem;
  border: 1px solid var(--light);
  border-radius: 1.5rem;
  background-color: var(--bs-body-bg);
  color: var(--bs-body-color);
  font-size: .875rem;
  line-height: 1.5;
  box-shadow: none
}

.contato-form .form-control::placeholder {
  color: var(--bs-body-color);
  opacity: 1
}

.contato-form .form-control:focus,
.contato-form .form-select:focus {
  border-color: var(--bs-primary);
  box-shadow: 0 0 0 .2rem rgba(var(--bs-primary-rgb), .15)
}

.contato-form .form-select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: none
}

.contato-form .contato-form__campo:has(.form-select) {
  position: relative
}

.contato-form .contato-form__campo:has(.form-select)::after {
  content: "";
  position: absolute;
  right: .75rem;
  bottom: 1.3rem;
  width: .93rem;
  height: .55rem;
  background-color: rgba(var(--bs-body-color-rgb), .5);
  pointer-events: none;
  -webkit-mask: url('../imagens/contato/seta-select.svg') center/contain no-repeat;
  mask: url('../imagens/contato/seta-select.svg') center/contain no-repeat
}

.contato-form textarea.form-control {
  height: auto;
  min-height: 4.6875rem;
  padding: 1rem .75rem 2.5rem;
  resize: vertical
}

.contato-form__enviar {
  width: 100%;
  padding: 1rem;
  border-radius: 1.5rem;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.5
}

.contato-map {
  display: block;
  width: 100%;
  min-height: 25rem;
  border: 0
}

@media screen and (max-width:991.98px) {
  .contato {
    padding-top: 4rem
  }

  .contato>.container {
    gap: 2.5rem
  }

  .contato__marca {
    display: none
  }

  .contato__form {
    padding: 1.5rem
  }
}

/* PÁGINA DE ESCRITÓRIOS */
.escritorios__titulo {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .25rem;
  min-height: 16.5625rem;
  padding: 0 1rem;
  text-align: center;
  background-color: var(--bs-body-bg)
}

.escritorios__titulo span {
  color: var(--bs-primary);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5
}

.escritorios__titulo p {
  max-width: 71.75rem;
  margin: 0;
  color: var(--bs-heading-color);
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.2
}

.escritorios__corpo {
  min-height: 67.5rem;
  padding: 7.5rem 0 15.5rem
}

.escritorios__corpo>.container {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 3rem 0
}

.escritorios__unidades {
  display: flex;
  flex: 1 1 20rem;
  flex-direction: column;
  gap: 2.5rem;
  padding-top: .2rem
}

.escritorio__titulo {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin: 0 0 .277rem;
  color: var(--dark);
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.2
}

.escritorio__titulo::before {
  content: "";
  flex: none;
  width: .5rem;
  height: .5rem;
  border-radius: .25rem;
  background-color: var(--secondary-color-dark)
}

.escritorio__texto {
  max-width: 31.5rem;
  margin: 0;
  color: var(--dark);
  font-size: 1.125rem;
  line-height: 1.4
}

.escritorios__mapa {
  flex: 0 1 45.5rem;
  max-width: 100%;
  height: auto
}

@media screen and (min-width:1200px) {
  .escritorios__corpo>.container {
    flex-wrap: nowrap
  }

  .escritorios__unidades {
    flex: 0 0 51rem
  }

  .escritorios__mapa {
    flex: 0 0 45.5rem;
    margin-right: -6rem
  }
}

@media screen and (max-width:991.98px) {
  .escritorios__titulo {
    min-height: 0;
    padding: 3rem 1rem
  }

  .escritorios__corpo {
    min-height: 0;
    padding: 3rem 0
  }
}

/* PÁGINA DE COMPLIANCE */
.compliance {
  padding: 3.75rem 0 7.5rem
}

.compliance>.container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 9rem
}

.compliance__intro {
  display: flex;
  align-items: center;
  gap: 5.5rem
}

.compliance__texto {
  flex: 0 1 45.375rem;
  margin: 0;
  color: var(--bs-heading-color);
  font-size: 1.125rem;
  line-height: 1.4
}

.compliance__selo {
  flex: none;
  width: 32.75rem;
  max-width: 100%;
  height: auto
}

.compliance__listas {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 2rem 7.125rem
}

.compliance__lista {
  display: flex;
  flex-direction: column;
  gap: 1.1875rem
}

.compliance__lista--documentos {
  width: 20.625rem
}

.compliance__lista--formularios {
  width: 24.5625rem
}

.compliance__lista h2 {
  margin: 0;
  color: var(--bs-primary);
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 1.2
}

.compliance__lista ul {
  margin: 0;
  padding-left: 1.5rem;
  color: var(--bs-body-color);
  font-size: 1.125rem;
  line-height: 1.4;
  list-style: disc
}

.compliance__lista a {
  color: inherit;
  text-decoration: underline
}

.compliance__lista a:hover {
  color: var(--bs-primary)
}

@media screen and (max-width:991.98px) {
  .compliance {
    padding: 3rem 0 4rem
  }

  .compliance>.container {
    gap: 3rem
  }

  .compliance__intro {
    flex-direction: column;
    gap: 2rem
  }

  .compliance__lista--documentos,
  .compliance__lista--formularios {
    width: 100%
  }
}

/* PÁGINA DO CANAL DE DENÚNCIAS */
.canal {
  --canal-controle: color-mix(in srgb, var(--primary-color-light) 17%, #fff);
  --canal-selo: color-mix(in srgb, var(--secondary-color) 14%, #fff);
  padding: 7.5rem 0
}

.canal__form {
  display: flex;
  flex-direction: column;
  gap: 1.8rem
}

.canal__cartao {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .956rem;
  padding: 2.2rem;
  border: 1px solid color-mix(in srgb, var(--primary-color-light) 11%, #fff);
  border-radius: .875rem;
  background-color: var(--bs-white);
  box-shadow: 0 10px 13px rgba(10, 47, 85, .07)
}

.canal__cartao>p {
  margin: 0;
  font-size: 1.125rem;
  line-height: 1.4;
  color: var(--bs-body-color)
}

.canal__selo {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .35rem .9rem;
  border-radius: 62rem;
  background-color: var(--canal-selo);
  color: var(--secondary-color-darker);
  font-size: .75rem;
  font-weight: 600;
  line-height: 1.5
}

.canal__selo-icone {
  flex: none;
  width: .9375rem;
  height: .9375rem;
  background-color: currentColor;
  -webkit-mask: url('../imagens/canal/escudo.svg') center/contain no-repeat;
  mask: url('../imagens/canal/escudo.svg') center/contain no-repeat
}

.canal__titulo {
  margin: 0;
  color: var(--primary-color-dark);
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.2
}

.canal__titulo span {
  color: var(--secondary-color-dark)
}

.canal__opcoes {
  display: flex;
  flex-wrap: wrap;
  gap: 0 1rem
}

.canal-pill {
  position: relative;
  display: inline-flex;
  margin-bottom: .4rem;
  cursor: pointer
}

.canal-pill input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer
}

.canal-pill span {
  display: inline-flex;
  padding: .5rem 1.4rem;
  border: 2px solid var(--canal-controle);
  border-radius: 62rem;
  color: var(--bs-heading-color);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5
}

.canal-pill input:checked+span {
  border-color: var(--secondary-color-dark);
  background-color: var(--canal-selo);
  color: var(--secondary-color-darker)
}

.canal-pill input:focus-visible+span {
  outline: 2px solid var(--bs-primary);
  outline-offset: 2px
}

.canal-grupo {
  display: flex;
  flex-direction: column;
  gap: .956rem;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0 0 1.5rem;
  border: 0
}

.canal-grupo legend {
  float: none;
  width: auto;
  margin: 0 0 .956rem;
  padding: .337rem 0 0;
  color: var(--bs-primary);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4
}

.canal-grupo--envolvidos legend {
  font-size: 2.25rem;
  font-weight: 600;
  line-height: 1.2
}

.canal-grupo>p {
  margin: 0;
  font-size: 1.125rem;
  line-height: 1.4;
  color: var(--bs-body-color)
}

.canal-campo {
  display: flex;
  flex-direction: column;
  gap: .4rem;
  min-width: 0
}

.canal-campo>label {
  color: var(--primary-color-dark);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5
}

.canal-campo__pergunta {
  color: var(--primary-color-dark);
  font-size: 1.125rem;
  line-height: 1.4
}

.canal-input {
  display: block;
  width: 100%;
  height: 2.774rem;
  padding: .65rem .9rem;
  border: 1px solid var(--canal-controle);
  border-radius: .5rem;
  background-color: var(--bs-body-bg);
  color: var(--bs-body-color);
  font-size: .85rem;
  line-height: 1.5
}

.canal-input:focus {
  border-color: var(--bs-primary);
  outline: 0;
  box-shadow: 0 0 0 .2rem rgba(var(--bs-primary-rgb), .15)
}

.canal-input--grande {
  height: 8.125rem;
  resize: vertical
}

.canal-input--medio {
  height: 5.625rem;
  resize: vertical
}

.canal-linha {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 1.3rem;
  padding-top: 1.3rem
}

.canal-grupo--envolvidos .canal-linha {
  grid-template-columns: repeat(3, minmax(0, 1fr))
}

.canal-linha>.canal-campo {
  padding-bottom: 1.3rem
}

.canal__divisor {
  width: 100%;
  margin: 0;
  border: 0;
  border-top: 1px dashed var(--canal-controle);
  opacity: 1
}

.canal-condicional {
  display: none;
  flex-direction: column;
  gap: 1rem;
  width: 100%
}

.canal-grupo--identificacao:has(input[name="identificar"][value="Sim"]:checked) .canal-condicional--identificacao,
.canal-grupo--envolvidos:has(input[name="envolvidos"][value="Sim"]:checked) .canal-condicional--envolvidos {
  display: flex
}

.canal__acoes {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem .972rem
}

.canal-botao {
  padding: .975rem 1.6rem;
  border: 2px solid transparent;
  border-radius: .375rem;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.4;
  transition: var(--transition)
}

.canal-botao--primario {
  background-color: var(--secondary-color-dark);
  color: var(--bs-white)
}

.canal-botao--primario:hover {
  background-color: var(--secondary-color-darker)
}

.canal-botao--contorno {
  border-color: var(--bs-primary);
  background-color: transparent;
  color: var(--bs-primary)
}

.canal-botao--contorno:hover {
  background-color: var(--bs-primary);
  color: var(--bs-white)
}

@media screen and (max-width:991.98px) {
  .canal {
    padding: 3rem 0
  }

  .canal__cartao {
    padding: 1.5rem
  }

  .canal-linha,
  .canal-grupo--envolvidos .canal-linha {
    grid-template-columns: minmax(0, 1fr)
  }

  .canal-pill span {
    align-items: center;
    min-height: 44px
  }

  .canal-input,
  .canal-botao {
    min-height: 44px
  }
}