• Home

    Escolha seu Plano

    Carreiras Alura

    Evolua com profundidade técnica, direção clara e aplicação prática.

    Jornadas guiadas do básico ao avançado com checkpoints práticos, desenhadas para quem busca profundidade e protagonismo técnico.

    Iniciante

    Comece do zero com uma trilha clara e progressiva.

    Fundamentos práticos para dar os primeiros passos com segurança e construir uma base sólida.

    Intermediário

    Continue sua evolução com cursos que conectam fundamentos, ferramentas e prática profissional. Ganhe autonomia, e avance para projetos mais completos.

    Avançado

    Aprofunde temas técnicos e estratégicos para enfrentar desafios mais complexos. Explore boas práticas, arquitetura, performance com visão profissional.

    Cursos

    Ver mais cursos de Back-end
    • Pensamento computacional: fundamentos da computação e lógica de programação
    • Lógica de programação: mergulhe em programação com JavaScript
    • DDD: fundamentos do design orientado a domínio
    • ASP.NET: autenticação e autorização em APIs e aplicações web
    • Microsserviços: migração de monólitos e modularização

    Cursos

    Ver mais cursos de Dados
    • Python para Dados: primeiros passos
    • Excel: domine o editor de planilhas
    • Engenharia de Dados: Orquestração de Pipelines com Apache Airflow
    • Power BI Desktop: construindo meu primeiro dashboard
    • Governança e Arquitetura de Dados

    Cursos

    Ver mais cursos de Inteligência Artificial
    • IA: Explorando o Potencial da Inteligência Artificial Generativa
    • Engenharia de Prompt: Criando Prompts Eficazes para IA Generativa
    • Claude para Análise de Dados: prompts, integrações e automações
    • Agno: criando agentes e sistemas multiagente
    • Engenharia de software na era da IA: segurança de aplicações com agentes, MCPs e código gerado por IA

    Cursos

    Ver mais cursos de Front-end
    • HTML e CSS: ambiente, estrutura e estilo
    • React: realizando testes avançados com Jest e Testing Library
    • React: integrando TypeScript em projetos
    • JavaScript: aprendendo a programar
    • React: aplicando arquiteturas de Micro frontends

    Cursos

    Ver mais cursos de DevOps
    • Sistema Operacional Linux: fundamentos e administração prática
    • Containers e Docker: empacotamento, isolamento e gestão
    • Redes: dos conceitos iniciais à criação de uma intranet
    • Linux: gerenciando diretórios, arquivos, permissões e processos
    • Cibersegurança: Fundamentos e práticas integradas

    Cursos

    Ver mais cursos de UX & Design
    • UX Research: mapeando a experiência da pessoa usuária
    • UX/UI Design: Entregando produtos digitais com IA
    • UI Design: Prototipação e animações interativas
    • Figma: Conhecendo o programa
    • Product Design: métricas e ciclo de vida do produto

    Cursos

    Ver mais cursos de Gestão & Negócios
    • Canva: Criação de landing pages e e-mail marketing
    • Agilidade: como ela pode ajudar a criar um time de alta performance
    • Google Analytics 4: Extrair insights e configurar eventos
    • Management 3.0: gerencie o ambiente, não as pessoas
    • Automação de processos com n8n: Inteligência de dados para Marketing

    Cursos

    Ver mais cursos de Mobile
    • React Native: Estilização e Layouts com Flexbox e StyleSheet
    • Flutter: Graphql e suporte offline
    • Android com Gemini: Trabalhando com textos e imagens na IA
    • Dart: trabalhando com orientação a objetos
    • React Native: Dominando Listas com FlatList e ScrollView

    Carreiras

    Ver mais carreiras
    • Especialista em IA
    • Engenharia de IA
    • Ai native software engineering
    • Arquitetura de Soluções com IA
    • AI Product Design
    • Engenharia de Machine Learning
    • Desenvolvimento Front-End React
    • Engenharia de Dados
    • Cloud Security
    • Social Media Marketing
    • Engenharia de Agentes de IA

    Cursos

    • Engenharia de Prompt: Prompts Eficazes para IA Generativa
    • Claude Code: Criando sua Primeira Aplicação
    • Python: Crie sua Primeira Aplicação
    • Git e GitHub: Compartilhando e Colaborando
    • N8N: Fluxos de Trabalho Avançados

    Cursos

    • Copilot Studio: Solução Multiagentes
    • Padrões de API HTTP e Modelagem de APIs
    • Python para Análise de Dados com SQL
    • Docker: Criando e Gerenciando Containers
    • Design com IA: Otimizando o Processo Criativo

    Cursos

    • Model Context Protocol (MCP)
    • Spec-Driven Development: Dev Assistido por Agentes
    • Arquitetura de Sistemas Distribuídos com Java
    • Governança de Modelos e Reprodutibilidade
    • Pentest: Vulnerabilidades em Aplicações Web

    Escolha seu Plano

    Skills & Go

    O Skills & Go é para Tech Leads, Product Managers, estrategistas e early adopters que transformam ideias em soluções de alto impacto. Em cursos ao vivo e 100% online, você domina a nova era da IA em tempo real.

    Aulas ao vivo

    Saiba mais
    • Agentic Engineering: orquestre múltiplos agentes com confiabilidade
    • Building AI Products: transforme ideias em produtos reais com IA
    • AI Data Strategy: transforme dados em decisões estratégicas com IA

    Escolha seu Plano

    Eventos Alura

    Nossos eventos são pensados para quem quer estar à frente das mudanças em tecnologia, IA e inovação. Em experiências presenciais, você acompanha tendências e se conecta com especialistas que estão moldando o futuro.

    Próximos eventos

    • Imersão Engenharia de Software: Dev na Era da IA
    • IA Conference
    • Alura Signals
  • Talent Lab
  • IA

    Escolha seu Plano

    Conteúdos gratuitos

    Explore conteúdos gratuitos para aprender tecnologia no seu ritmo. Encontre artigos com conteúdos técnicos para aprender na prática, notícias para acompanhar as principais tendências do mercado e o Alura Labs, com análises e reflexões de especialistas sobre tecnologia, IA e carreira.

    Conteúdos gratuitos

    • Artigos
    • Notícias
    • Alura Labs
  • Para Empresas
Ver planos
Links principais
  • Planos e Promoções
  • Links complementares do menu mobile
  • Talent lab
  • Inteligência Artificial
  • Pós Graduações
  • Para Empresas
  • Sobre a Alura
  • Grupo Alun
  • Entrar
    • Home
    • Carreiras
    • Skills & Go
    • Talent Lab
    • Inteligência Artificial
    • Pós Graduações
    • Artigos
    • Sobre a Alura
    • Grupo Alun
    LoginContato
    • LinkedIn
    • Instagram
    • YouTube
    1. Página inicial
    2. Front-end
    3. CSS Border: como usar sem cometer erros com agentes

    CSS Border: como usar sem cometer erros com agentes

    11 min11 minutos de leitura

    11 min11 minutos de leitura

    Publicado: 25/03/2026

    Última atualização: 30/04/2026

    1. O espaço que um elemento ocupa (e onde a borda entra nisso)
    2. border-style: o ponto de partida de tudo
    3. O shorthand `border` (escreva menos, erre menos)
    4. Propriedades lógicas de borda: `border-block` e `border-inline`
    5. `border-image`: usando imagens como borda
    6. `border-radius`: arredondando cantos
    7. `corner-shape` e `border-shape`: o que está chegando
    8. `box-shadow`: não é borda, mas vive perto
    9. `:hover` e `transition`: bordas que reagem
    10. Trabalhando com agentes de IA: o que muda na prática

    Borda no CSS parece uma coisa simples, e na maioria das vezes é. Mas já perdi mais tempo do que gostaria debugando layout por causa de uma `border: 2px solid` que eu não pensei direito antes de aplicar. 

    Hoje eu uso agentes de IA para escrever boa parte do meu CSS. Mas justamente por isso, eu preciso saber o que está acontecendo por baixo. Se o agente gera algo e eu não sei avaliar, o problema não é do agente, é meu. 

    O espaço que um elemento ocupa (e onde a borda entra nisso) 

    Antes de falar de borda, vale lembrar como o CSS organiza o espaço de um elemento. Todo elemento HTML tem três camadas ao redor do conteúdo: `padding` (espaço interno), `border` (a borda em si) e `margin` (espaço externo). 

    A borda fica ali no meio, entre o padding e a margin. Parece detalhe, mas quando você esquece disso e pede para o agente "adicionar uma borda de 4px", de repente o layout inteiro se desloca. E você fica sem entender por quê. 

    Uma coisa que ajuda muito: se você usa `box-sizing: border-box` (e deveria, na maioria dos casos), a borda é contada dentro da largura total do elemento. Sem isso, a borda é somada por fora, e aí o elemento fica maior do que você esperava. 

    Banner do Guia Tático Alura sobre carreira em tecnologia, destacando o mapa da carreira tech. A imagem convida a explorar diferentes caminhos profissionais, comparar possibilidades e encontrar a próxima fase da carreira na área de tecnologia, com chamada “Explore o mapa”.

    border-style: o ponto de partida de tudo 

    A propriedade `border-style` define o visual da borda. E ela é obrigatória para a borda aparecer. Sério, você pode definir cor e largura o quanto quiser, mas se não tiver um `border-style`, não vai aparecer nada. 

    Esses são os valores disponíveis: 

    ```css 
    .elemento { 
    border-style: solid; /* linha contínua — o mais comum */ 
    border-style: dashed; /* tracejado */ 
    border-style: dotted; /* pontilhado */ 
    border-style: double; /* duas linhas paralelas */ 
    border-style: groove; /* efeito de "sulco", depende da cor */ 
    border-style: ridge; /* oposto do groove, parece elevado */ 
    border-style: inset; /* faz o elemento parecer pressionado */ 
    border-style: outset; /* faz o elemento parecer levantado */ 
    border-style: none; /* nenhuma borda, mesmo com largura e cor definidas */ 
    border-style: hidden; /* similar ao none, mas tem comportamento especial em tabelas */ 
    } 
    ```

    Na prática, `solid` e `dashed` cobrem uns 90% dos casos. Os outros (`groove`, `ridge`, `inset`, `outset`) existem desde os primórdios do CSS e raramente aparecem em projetos modernos, mas é bom saber que estão aí. 

    Sobre `none` vs `hidden`: ambos escondem a borda, mas `hidden` tem um truque. Em tabelas com `border-collapse: collapse`, o `hidden` "vence" outras bordas adjacentes. Se você nunca trabalhou com tabelas estilizadas no CSS, pode ignorar isso por enquanto. 

    O shorthand `border` (escreva menos, erre menos) 

    Você pode definir largura, estilo e cor numa linha só: 

    ```css 
    .elemento { 
    border: 2px solid blue; 
    } 
    ```

    Isso é equivalente a: 

    ```css 
    .elemento { 
    border-width: 2px; 
    border-style: solid; 
    border-color: blue; 
    } 
    ```

    Algumas coisas que vale saber sobre o shorthand: 

    A ordem dos valores não importa. `border: solid 2px blue` funciona igual a `border: blue 2px solid`. O CSS é esperto o suficiente para entender o que é largura, o que é estilo e o que é cor. 

    Você não precisa passar os três valores. `border: solid` funciona (usa largura `medium` e cor `currentColor` por padrão). `border: 2px dotted` também funciona. Mas sem o `border-style`, nada aparece. 

    E se você não definir a cor, o CSS usa `currentColor`, que é a cor do texto do elemento. Então se o texto é preto, a borda vai ser preta. Parece mágico, mas é só o comportamento padrão. 

    Borda em um lado só 

    Nem sempre você quer borda nos quatro lados. Para isso existem as propriedades por lado: 

    ```css 
    .elemento { 
    border-top: 3px solid #333; /* só em cima */ 
    border-bottom: 1px dashed #ccc; /* só embaixo */ 
    border-left: 4px solid blue; /* só na esquerda */ 
    border-right: none; /* sem borda na direita */ 
    } 
    ```

    Essas propriedades são as chamadas "propriedades físicas", elas se referem a lados fixos do elemento (top, bottom, left, right). Funcionam perfeitamente quando seu layout é sempre da esquerda para a direita, de cima pra baixo. 

    Mas e quando não é? É aí que entram as propriedades lógicas. 

    Propriedades lógicas de borda: `border-block` e `border-inline` 

    Se você trabalha (ou vai trabalhar) com layouts que precisam funcionar em diferentes direções de leitura, como sites em árabe (direita para a esquerda) ou japonês (vertical), as propriedades lógicas são a forma moderna de lidar com bordas. 

    Em vez de pensar em "cima/baixo/esquerda/direita", você pensa em "bloco" e "inline": 

    ```css 
    .elemento { 
    /* aplica borda no início e fim do eixo de bloco (normalmente top e bottom) */ 
    border-block: 2px solid #333; 
    /* aplica borda no início e fim do eixo inline (normalmente left e right) */ 
    border-inline: 1px dashed #ccc; 
    } 
    ```

    E se precisar de mais controle: 

    ```css 
    .elemento { 
    border-block-start: 2px solid blue; /* normalmente = border-top */ 
    border-block-end: 1px solid red; /* normalmente = border-bottom */ 
    border-inline-start: 3px dashed green; /* normalmente = border-left em LTR */ 
    border-inline-end: 3px dashed green; /* normalmente = border-right em LTR */ 
    } 
    ```

    "Normalmente" porque quando o `writing-mode` ou `direction` muda, essas propriedades se adaptam automaticamente. Então se o site é em árabe (`direction: rtl`), o `border-inline-start` vira a borda da direita, sem você mudar uma linha de CSS. 

    Na prática, se o seu projeto é 100% português/inglês e sem previsão de internacionalização, `border-left` e `border-right` continuam funcionando. Mas as propriedades lógicas já têm suporte total em todos os browsers modernos, então não tem motivo técnico para não usar. É uma questão de criar o hábito. 

    `border-image`: usando imagens como borda 

    A propriedade `border-image` permite colocar uma imagem como borda de um elemento. Parece simples, mas tem umas pegadinhas: 

    ```css 
    .elemento { 
    border: 30px solid transparent; 
    border-image: url("borda-customizada.png") 150 round; 
    } 
    ```

    Primeiro: você precisa definir um `border` antes, com `border-style` (geralmente `solid`) e uma largura. A largura do `border` determina o espaço que a imagem vai ocupar. Quando a `border-image` é aplicada, ela substitui visualmente o estilo e a cor, mas eles ainda precisam estar definidos no CSS para funcionar. É contraintuitivo, eu sei. 

    O valor `150` ali é o `border-image-slice`, ele define como a imagem é "cortada" para encaixar nos cantos e lados. E `round` é o `border-image-repeat`, que diz como a imagem se repete nas bordas. 

    Honestamente, `border-image` é o tipo de propriedade que eu quase nunca escrevo na mão. Normalmente eu descrevo o efeito que quero para o agente e peço para ele gerar. Mas se eu não soubesse que essa propriedade existe e como ela funciona por baixo, eu não saberia nem o que pedir. 

    `border-radius`: arredondando cantos 

    Essa é simples e você provavelmente já usa: 

    ```css 
    .elemento { 
    border: 2px solid blue; 
    border-radius: 8px; 
    } 
    ```

    Aplica arredondamento nos quatro cantos. Se quiser valores diferentes para cada canto: 

    ```css 
    .elemento { 
    border-radius: 8px 0 0 8px; /* top-left, top-right, bottom-right, bottom-left */ 
    } 
    ```

    E o clássico pra fazer um círculo: 

    ```css 
    .circulo { 
    width: 100px; 
    height: 100px; 
    border-radius: 50%; 
    } 
    ```

    O `border-radius` funciona mesmo sem `border`, ele arredonda o fundo, a sombra, o overflow, tudo. Então sim, você pode ter um elemento sem borda visível mas com cantos arredondados. 

    `corner-shape` e `border-shape`: o que está chegando 

    Se você acompanha as novidades do CSS, talvez já tenha visto `corner-shape` e `border-shape` aparecendo por aí. As duas ainda são experimentais, mas vale saber o que fazem, até para não se assustar se o agente sugerir alguma delas. 

    O `corner-shape` vai além do arredondamento padrão do `border-radius`. Com ele, dá para criar cantos com formatos diferentes, cortes angulares, "squircles" (aquele meio-termo entre quadrado e círculo que a Apple adora) e outros formatos. 

    Já o `border-shape` é ainda mais ambicioso. Ele permite que o contorno inteiro do elemento tenha formas não retangulares, como recortes, extrusões, formatos como estrelas. Coisas que antes só eram possíveis com `clip-path` ou hacks com pseudo-elementos. 

    As duas fazem parte do módulo CSS Borders and Box Decorations Level 4 e já aparecem no Chrome. Mas são experimentais, não estão prontas para a produção. Se o agente sugerir uma dessas, você já sabe que precisa checar o suporte antes de usar. 

    `box-shadow`: não é borda, mas vive perto 

    Muita gente confunde borda com sombra, e faz sentido. Visualmente, às vezes parecem a mesma coisa. Mas `box-shadow` é uma propriedade separada que adiciona sombra ao redor do elemento: 

    ```css 
    .elemento { 
    box-shadow: 4px 8px 12px 0 rgba(0, 0, 0, 0.15); 
    /* offset-x | offset-y | blur | spread | cor */ 
    } 
    ```

    Os dois primeiros valores são o deslocamento horizontal e vertical da sombra. O terceiro é o blur (desfoque). O quarto é o spread (expansão da sombra, opcional). E o último é a cor. 

    Uma coisa legal: `box-shadow` respeita o `border-radius`. Então se o elemento tem cantos arredondados, a sombra acompanha. 

    E um truque que aparece bastante: usar `box-shadow` com spread e sem blur para criar uma "borda extra" que não afeta o layout (já que box-shadow não ocupa espaço): 

    ```css 
    .elemento { 
    box-shadow: 0 0 0 3px blue; /* parece uma borda de 3px, mas é sombra */ 
    } 
    ```

    Isso é útil quando você quer um efeito de borda no `:focus` sem deslocar o layout. 

    `:hover` e `transition`: bordas que reagem 

    Você pode mudar a borda quando o usuário passa o mouse por cima do elemento: 

    ```css 
    .botao { 
    border: 2px solid #333; 
    transition: border-color 0.3s ease; 
    } 
    .botao:hover { 
    border-color: blue; 
    } 
    ```

    O `transition` aqui faz a mudança de cor ser suave, não instantânea. Sem ele, a borda pula de uma cor para outra sem transição. 

    Um erro comum: mudar a `border-width` no hover. Parece legal, mas a mudança de largura desloca o layout e faz o conteúdo "pular". Se você quer esse efeito de borda aparecendo no hover, uma alternativa melhor é usar `box-shadow` ou começar com uma borda transparente: 

    ```css 
    .botao { 
    border: 2px solid transparent; /* borda existe, mas invisível */ 
    transition: border-color 0.3s ease; 
    } 
    .botao:hover { 
    border-color: blue; /* agora aparece, sem mudar o tamanho */ 
    } 
    ```

    Trabalhando com agentes de IA: o que muda na prática 

    Se você usa Claude, Copilot ou qualquer outro agente para escrever CSS, esse conhecimento base é o que faz a diferença entre aceitar o output de olhos fechados e saber revisar o que veio. Copiar e colar não é o problema, o problema é não perceber quando o resultado tá errado. 

    Deixa-me contar umas situações que já aconteceram comigo. 

    Uma vez pedi "adiciona uma borda" e o layout inteiro quebrou. O agente colocou `border: 2px solid #333` num elemento que não usava `box-sizing: border-box`. A borda foi somada por fora, o elemento ficou 4px mais largo e estourou o grid. Se eu não soubesse como o box model funciona, teria ficado ali tentando coisas aleatórias. 

    Em outra situação, o agente sugeriu `border-left` num componente que precisava funcionar em RTL. Funcionava perfeitamente em português, mas quando testei em árabe, a borda ficou do lado errado. A correção foi trocar por `border-inline-start`, mas para saber que essa correção existe, eu precisava conhecer as propriedades lógicas. 

    Teve também a vez que pedi uma borda animada e veio uma mudança de `border-width` no hover. Funcionava, mas o conteúdo pulava. Eu sabia que o problema era layout shift e pedi para usar `box-shadow` no lugar. O agente corrigiu na hora, mas quem identificou o problema fui eu. 

    O agente acelera muito o trabalho, mas ele funciona melhor quando você sabe o que pedir e consegue olhar para o resultado com olho crítico. 

    Na hora de pedir algo relacionado a bordas, quanto mais contexto você der, melhor o resultado. Em vez de "adiciona uma borda", tenta algo como "adiciona uma borda inferior de 1px solid #e5e5e5 nesse card, levando em conta que o layout usa border-box e precisa funcionar em RTL". 

    Se o agente sugerir uma propriedade que você não conhece, pergunta. "O que faz `border-image-slice`?" é uma pergunta perfeitamente válida. Aliás, é exatamente para isso que o agente serve, não só para gerar código, mas para te explicar o que o código faz. 

    E quando o resultado visual não for o que você esperava, descreva o problema com precisão. "A borda tá errada" dá muito menos contexto do que "a borda inferior do card está aparecendo com 2px em vez de 1px no Chrome, e no Firefox não aparece nenhuma borda". 

    No fim das contas, você não precisa decorar todas essas propriedades. Eu mesmo consulto a MDN toda semana. O que importa é ter noção do terreno, saber que `border-style` é obrigatório, que propriedades lógicas existem, que mudar `border-width` no hover dá layout shift. Esse tipo de coisa fica com você e te ajuda independente da ferramenta que estiver usando. 

    Banner do Guia Tático Alura sobre carreira em tecnologia, destacando o mapa da carreira tech. A imagem convida a explorar diferentes caminhos profissionais, comparar possibilidades e encontrar a próxima fase da carreira na área de tecnologia, com chamada “Explore o mapa”.

    Avalie este artigo

    • Foto de Vinicios Neves

      Autor(a)

      Vinicios Neves

      Vinicios Neves, Tech Lead e Educador, mistura código e didática há mais de uma década. Especialista em TypeScript, lidera equipes full-stack em Portugal e inspira futuros desenvolvedores na FIAP e Alura. Com um pé no código e outro no ensino, ele prova que a verdadeira engenharia de software vai além das linhas de código. Além de, claro, ser senior em falar que depende.

    Explore por tópico

    • Back-end
    • Dados
    • DevOps
    • Front-end
    • Gestão & Negócios
    • Institucionais
    • Inteligência Artificial
    • Mobile
    • UX & Design

    Leia também

    • 30/10/2012

      Aplicando o progressive enhancement

      Ler mais
    • Alura
      07/12/2020

      Tipagem dinâmica com Javascript

      Ler mais
    • 15/04/2024

      Next.js: criando aplicações fullstack

      Ler mais
    Ver mais conteúdos

    Inscreva-se em nossa Newsletter

    Fique por dentro de conteúdos, insights e oportunidades do universo tech. Receba novidades e lançamentos direto no seu e-mail.

    Institucional

    • Sobre nós
    • Trabalhe Conosco
    • Para Empresas
    • Para Escolas
    • Política de Privacidade
    • Compromisso de Integridade
    • Termos de Uso
    • Canal de Ética
    • Código de Ética
    • Fale Conosco
    • Documentos Institucionais
    • Status
    Institucional
    • Sobre nós
    • Trabalhe Conosco
    • Para Empresas
    • Para Escolas
    • Política de Privacidade
    • Compromisso de Integridade
    • Termos de Uso
    • Canal de Ética
    • Código de Ética
    • Fale Conosco
    • Documentos Institucionais
    • Status

    A Alura

    • Como Funciona
    • Inteligência Artificial
    • Plataforma
    • Depoimentos
    • Instrutores(as)
    • Dev em <T>
    • Luri, a Inteligência Artificial da Alura
    • IA Conference
    • Cursos Imersivos
    • Perguntas Frequentes
    A Alura
    • Como Funciona
    • Inteligência Artificial
    • Plataforma
    • Depoimentos
    • Instrutores(as)
    • Dev em <T>
    • Luri, a Inteligência Artificial da Alura
    • IA Conference
    • Cursos Imersivos
    • Perguntas Frequentes

    Conteúdos

    • Alura Cases
    • Imersão Engenharia de Software: Dev na Era da IA
    • Artigos
    • Podcasts
    • Artigos de educação corporativa
    Conteúdos
    • Alura Cases
    • Imersão Engenharia de Software: Dev na Era da IA
    • Artigos
    • Podcasts
    • Artigos de educação corporativa
    Uma Empresa do GrupoLogo Grupo Alun

    Outras empresas do Grupo Alun

    • FIAP
    • STARTSE
    • PM3
    • LUMINA

    Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

    Redes Sociais & Apps

    instagram
    youtube
    tiktok
    x
    appStore
    googlePlay
    Uma Empresa do GrupoLogo Grupo Alun

    Outras empresas do Grupo Alun

    • FIAP
    • STARTSE
    • PM3
    • LUMINA

    Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

    Redes Sociais & Apps

    instagram
    youtube
    tiktok
    x
    appStore
    googlePlay
    Alura