Brand Identity System · 2026

Instituto
ibe.IA

Este documento define a identidade visual e a voz do IBEIA — Instituto Brasileiro de Educação em Inteligência Artificial. Use-o como referência para manter a marca consistente em todos os pontos de contato.

Pillar Card Card glass com tint de cor da marca

Missão

Democratizar o acesso à educação em Inteligência Artificial, capacitando qualquer pessoa a dominar IA, automação e ferramentas inteligentes.

Visão

Ser o maior instituto de educação em IA do Brasil e referência na América Latina em formação prática de Inteligência Artificial.

Valores

Resultado acima de tudo. Educação que transforma. Método prático. Acesso democrático à Inteligência Artificial.

Ver código
/* Pillars grid */
.intro__pillars {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 18px;
}

/* Pillar card — glass + accent tint */
.intro__pillar {
  padding: 30px 28px;
  /* Inherits from .glass--card */
}

/* Color-tinted gradient (blue variant) */
.intro__pillar--blue {
  background: linear-gradient(148deg,
    var(--g-2) 0%,
    color-mix(in srgb, var(--c-blue) 8%, var(--g-1)) 100%);
  box-shadow: var(--g-shadow-card);
  border-color: color-mix(in srgb, var(--c-blue) 22%, var(--g-border));
}

/* Purple variant */
.intro__pillar--purple {
  background: linear-gradient(148deg,
    var(--g-2) 0%,
    color-mix(in srgb, var(--c-purple) 8%, var(--g-1)) 100%);
  border-color: color-mix(in srgb, var(--c-purple) 22%, var(--g-border));
}

/* Green variant */
.intro__pillar--green {
  background: linear-gradient(148deg,
    var(--g-2) 0%,
    color-mix(in srgb, var(--c-green) 7%, var(--g-1)) 100%);
  border-color: color-mix(in srgb, var(--c-green) 22%, var(--g-border));
}

/* Accent icon */
.intro__pillar-icon {
  width: 40px; height: 40px;
  border-radius: var(--r-sm);
  display: flex;
  align-items: center;
  justify-content: center;
}

.intro__pillar-icon--blue {
  background: color-mix(in srgb, var(--c-blue) 16%, transparent);
  color: color-mix(in srgb, var(--c-blue) 60%, white);
  box-shadow: 0 0 16px color-mix(in srgb, var(--c-blue) 22%, transparent);
}

.intro__pillar h3 {
  font-family: var(--f-display);
  font-size: 17px;
  font-weight: 700;
  color: var(--text);
}

.intro__pillar p {
  font-size: 14px;
  line-height: 1.65;
  color: var(--text-2);
}
Stat Card Card de estatística com número gradiente
+25.000
Alunos no IBEIA
+R$106 MI
Faturados pelos alunos
+480
Prêmios de faturamento
Ver código
/* Stats grid */
.intro__stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.07);
}

/* Stat card */
.intro__stat {
  padding: 26px 28px 24px;
  background: var(--g-1);
  border: 1px solid var(--g-border);
  box-shadow: var(--g-shadow-card);
}

/* Left accent bar */
.intro__stat::before {
  content: '';
  position: absolute;
  left: 0; top: 20%; bottom: 20%;
  width: 2px;
  background: linear-gradient(180deg, transparent, var(--c-yellow-em), transparent);
  border-radius: 2px;
}

/* Gradient number */
.intro__stat-number {
  font-family: var(--f-display);
  font-size: clamp(24px, 3.2vw, 36px);
  font-weight: 900;
  letter-spacing: -0.02em;
  background: linear-gradient(135deg,
    var(--c-yellow-em) 0%,
    color-mix(in srgb, var(--c-yellow-em) 60%, white) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* 2nd stat: purple gradient */
.intro__stat:nth-child(2) .intro__stat-number {
  background: linear-gradient(135deg,
    var(--c-purple) 0%,
    color-mix(in srgb, var(--c-purple) 60%, white) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* 3rd stat: green gradient */
.intro__stat:nth-child(3) .intro__stat-number {
  background: linear-gradient(135deg,
    var(--c-green) 0%,
    color-mix(in srgb, var(--c-green) 60%, white) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.intro__stat-label {
  font-size: 12.5px;
  color: var(--text-2);
  font-weight: 500;
  letter-spacing: 0.01em;
}

Paleta de cores

A paleta do ibe.IA é ousada e moderna. O azul como cor primária transmite confiança e tecnologia; o roxo adiciona personalidade; o verde CTA converte.

Palette Strip Visão geral de todas as cores da marca
Ver código
/* Full-width palette strip */
.palette-strip {
  display: flex;
  border-radius: var(--r-md);
  overflow: hidden;
  height: 56px;
  border: 1px solid var(--g-border-dim);
  box-shadow: var(--g-shadow-card);
}

.ps-slab {
  flex: 1;
  transition: flex var(--t-slow);
  cursor: pointer;
}

.ps-slab:hover { flex: 2.5; }

/* Color values */
.ps-slab--black     { background: var(--c-black); }    /* #1C1C1C */
.ps-slab--cream     { background: var(--c-cream); }    /* #FBF9F4 */
.ps-slab--blue      { background: var(--c-blue); }     /* #0058D4 */
.ps-slab--purple    { background: var(--c-purple); }   /* #AF6DFF */
.ps-slab--green-cta { background: var(--c-greenCta); } /* #84CC16 */
.ps-slab--green     { background: var(--c-green); }    /* #63D059 */
.ps-slab--red       { background: var(--c-red); }      /* #F84F2E */
.ps-slab--yellow-em { background: var(--c-yellowEm); } /* #FACC15 */
.ps-slab--yellow    { background: var(--c-yellow); }   /* #FFB801 */
.ps-slab--gray-dark { background: var(--c-grayDark); } /* #27272A */
Color Swatch Card de cor com hex, RGB e variável CSS
Cores base
#1C1C1C
Preto
Fundo principal, textos
RGB 28, 28, 28
#FBF9F4
Branco
Textos sobre fundo escuro
RGB 251, 249, 244
#0058D4
Azul
Cor primária da marca
RGB 0, 88, 212
#AF6DFF
Roxo
Destaques, hover, personalidade
RGB 175, 109, 255
Ver código
/* Color swatches grid */
.color-swatches {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 14px;
}

/* Individual swatch */
.swatch {
  border-radius: var(--r-md);
  overflow: hidden;
  border: 1px solid var(--g-border);
  background: var(--g-1);
  backdrop-filter: var(--g-blur);
  box-shadow: var(--g-shadow-card);
  cursor: pointer;
  transition: transform var(--t-fast), box-shadow var(--t-fast);
}

.swatch:hover {
  transform: translateY(-2px);
  box-shadow: var(--g-shadow-hover);
}

/* Color preview area */
.swatch__color { height: 100px; }

/* Per-color backgrounds */
.sc--blue   { background: var(--c-blue); }
.sc--purple { background: var(--c-purple); }
.sc--black  { background: var(--c-black); }
.sc--cream  { background: var(--c-cream); }

/* Swatch info */
.swatch__info { padding: 14px 16px; }

.swatch__label {
  font-family: var(--f-display);
  font-size: 14px;
  font-weight: 700;
  color: var(--text);
}

.swatch__name {
  font-family: var(--f-mono);
  font-size: 11px;
  color: var(--text-3);
  letter-spacing: 0.04em;
}

.swatch__role {
  font-size: 11.5px;
  color: var(--text-2);
}

.swatch__values {
  font-family: var(--f-mono);
  font-size: 10.5px;
  color: var(--text-3);
}
Action & Status Colors Cores de ação, sucesso, erro e destaque
Cores de ação & status
#84CC16
Verde CTA
Botões primários, calls-to-action
RGB 132, 204, 22
#63D059
Verde
Sucesso, aprovado, positivo
RGB 99, 208, 89
#F84F2E
Vermelho
Alertas, erros, urgência
RGB 248, 79, 46
#FACC15
Amarelo Ênfase
Highlights em texto, stats
RGB 250, 204, 21
#FFB801
Amarelo
Atenção, conquistas, prêmios
RGB 255, 184, 1
Ver código
/* Action & status color values */
.sc--green-cta { background: var(--c-greenCta); } /* #84CC16 — CTA */
.sc--green     { background: var(--c-green); }    /* #63D059 — Success */
.sc--red       { background: var(--c-red); }      /* #F84F2E — Error */
.sc--yellow-em { background: var(--c-yellowEm); } /* #FACC15 — Emphasis */
.sc--yellow    { background: var(--c-yellow); }   /* #FFB801 — Attention */
Neutral Colors Superfícies e bordas
Neutros
#F5F0E8
Creme
Fundos de seções modo claro
RGB 245, 240, 232
#27272A
Cinza Escuro
Bordas, separadores, cards
RGB 39, 39, 42
Ver código
/* Neutral color values */
.sc--cream-alt { background: var(--c-creamAlt); } /* #F5F0E8 — Light mode bg */
.sc--gray-dark { background: var(--c-grayDark); } /* #27272A — Borders */
Clique em qualquer cor para copiar o valor hex para a área de transferência.

Tipografia

Quatro famílias tipográficas com papéis bem definidos — cada uma com personalidade própria, juntas formam a voz visual do ibe.IA.

Font Family Card Grid de famílias tipográficas com specimen
Display
Sora
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz 0–9
Sora
400 · 600 · 700 · 800
Títulos, headings principais, UI de destaque
Google Fonts
Corpo & UI
Plus Jakarta Sans
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz 0–9
Plus Jakarta Sans
400 · 500 · 600 · 700 · 800
Corpo de texto, UI, descrições, botões
Google Fonts
Mono & Código
JetBrains Mono
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz 0–9
JetBrains Mono
400 · 500 · 700
Hexadecimais, código, valores técnicos, labels
Google Fonts
Script & Decorativo
Yellowtail
ibe.IA — Inteligência Artificial · Educação · Automação
Yellowtail
400 (regular)
Detalhes decorativos, personalidade, destaques especiais
Google Fonts
Ver código
/* Font family grid */
.type-families {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

/* Font family card (extends .glass--card) */
.type-family {
  padding: 32px 28px 24px;
  display: flex;
  flex-direction: column;
}

/* Role badge */
.type-family__role {
  font-family: var(--f-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-3);
  margin-bottom: 24px;
}

/* Sora specimen */
.tfs--sora {
  font-family: var(--f-display);
  font-weight: 800;
  font-size: clamp(56px, 6.5vw, 82px);
  letter-spacing: -0.04em;
  color: var(--text);
  line-height: 0.88;
}

/* Plus Jakarta Sans specimen */
.tfs--jakarta {
  font-family: var(--f-body);
  font-weight: 700;
  font-size: clamp(22px, 2.6vw, 36px);
  letter-spacing: -0.025em;
}

/* JetBrains Mono specimen */
.tfs--mono {
  font-family: var(--f-mono);
  font-weight: 500;
  font-size: clamp(20px, 2.4vw, 32px);
  color: var(--text);
}

/* Yellowtail specimen */
.tfs--script {
  font-family: var(--f-script);
  font-weight: 400;
  font-size: clamp(48px, 6vw, 76px);
}

/* Alphabet tester */
.type-family__alpha {
  font-size: 11px;
  letter-spacing: 0.04em;
  color: var(--text-3);
  line-height: 1.7;
  border-top: 1px solid var(--g-border-dim);
  padding-top: 16px;
}

/* Meta row */
.type-family__meta {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.type-family__name {
  font-family: var(--f-display);
  font-size: 14px;
  font-weight: 700;
}

.type-family__weights {
  font-family: var(--f-mono);
  font-size: 10.5px;
  color: var(--text-3);
  letter-spacing: 0.04em;
}

@media (max-width: 768px) {
  .type-families { grid-template-columns: 1fr; }
}
Hierarquia tipográfica
Type Scale Hierarquia tipográfica — 6 níveis
Display · 58px · 800
Sora · letter-spacing −0.03em
A maior plataforma
H2 · 40px · 700
Sora · letter-spacing −0.02em
Seção do brand book
H3 · 22px · 700
Plus Jakarta Sans
Subtítulo de seção
Body · 17px · 400
Plus Jakarta Sans · lh 1.78
Texto corrido para descrições e parágrafos. Mantenha line-height 1.6–1.8 para boa legibilidade em leitura contínua.
Label · 11px · 500
JetBrains Mono · uppercase
01 — label de seção
Mono · 14px · 500
JetBrains Mono
#0058D4 · rgb(0, 88, 212)
Ver código
/* Type scale container (glass panel) */
.type-scale {
  border-radius: var(--r-lg);
  border: 1px solid var(--g-border);
  background: var(--g-1);
  backdrop-filter: var(--g-blur);
  box-shadow: var(--g-shadow-card);
  overflow: hidden;
}

.type-scale__item {
  padding: 24px 32px;
  border-bottom: 1px solid var(--g-border-dim);
  display: grid;
  grid-template-columns: 172px 1fr;
  align-items: center;
  gap: 48px;
}

/* Display — 58px */
.ts-display {
  font-family: var(--f-display);
  font-size: clamp(24px, 3.8vw, 48px);
  font-weight: 800;
  line-height: 1.04;
  letter-spacing: -0.03em;
  color: var(--text);
}

/* H2 — 40px */
.ts-h2 {
  font-family: var(--f-display);
  font-size: clamp(20px, 2.8vw, 34px);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.02em;
}

/* H3 — 22px */
.ts-h3 {
  font-family: var(--f-body);
  font-size: clamp(15px, 1.8vw, 19px);
  font-weight: 700;
  line-height: 1.3;
}

/* Body — 17px */
.ts-body {
  font-family: var(--f-body);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.78;
  color: var(--text-2);
}

/* Label — 11px */
.ts-label {
  font-family: var(--f-mono);
  font-size: 10.5px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--c-blue) 55%, white);
}

/* Mono — 14px */
.ts-mono {
  font-family: var(--f-mono);
  font-size: 13px;
  font-weight: 500;
  color: color-mix(in srgb, var(--c-blue) 55%, white);
}
Exemplo de pairing
Font Pairing Sora + Yellowtail + Plus Jakarta Sans
Sora + Yellowtail + Plus Jakarta Sans
Aprenda No-Code
do zero ao avançado
O IBEIA é o Instituto Brasileiro de Educação em Inteligência Artificial. Junte-se a mais de 100 mil alunos que já transformaram sua carreira dominando IA, automação e ferramentas inteligentes.
IBEIA · IA · Educação
Ver código
/* Pairing container (glass panel) */
.type-pairing {
  border-radius: var(--r-lg);
  border: 1px solid var(--g-border);
  background: var(--g-1);
  backdrop-filter: var(--g-blur);
  box-shadow: var(--g-shadow-card);
  padding: 40px 44px;
  position: relative;
}

/* Specular highlight */
.type-pairing::before {
  content: '';
  position: absolute;
  top: 0; left: 4%; right: 4%;
  height: 1px;
  background: var(--g-specular);
}

/* Headline — Sora bold */
.type-pairing__headline {
  font-family: var(--f-display);
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.04;
  color: var(--text);
}

/* Sub-headline — Yellowtail */
.type-pairing__sub {
  font-family: var(--f-script);
  font-size: clamp(20px, 2.5vw, 28px);
  color: var(--accent-2);
  line-height: 1.1;
}

/* Body text — Plus Jakarta Sans */
.type-pairing__body {
  font-family: var(--f-body);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.78;
  color: var(--text-2);
  max-width: 560px;
}

/* Tag — mono badge */
.type-pairing__tag {
  font-family: var(--f-mono);
  font-size: 10.5px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--accent);
  padding: 4px 10px;
  border: 1px solid var(--g-border);
  border-radius: var(--r-xs);
}

Iconografia

Usamos Lucide Icons como biblioteca padrão — ícones outline com traço consistente, estilo limpo e moderno. Combinam perfeitamente com a tipografia e a identidade do ibe.IA.

Icon System Lucide Icons — tamanhos e cores

Lucide Icons — biblioteca padrão

lucide.dev
zap
star
sparkles
rocket
bot
cpu
workflow
layers
users
target
trending-up
check-circle
Ver código
/* Icon library: Lucide Icons (outline, 1.5px stroke) */
/* CDN: unpkg.com/lucide-static@latest */

/* Icon sizes */
.icon--ui         { width: 16px; height: 16px; }  /* inline UI */
.icon--highlight  { width: 24px; height: 24px; }  /* section highlights */
.icon--decorative { width: 40px; height: 40px; }  /* hero decorative */

/* Icon colors — always brand palette */
color: var(--c-blue);    /* primary actions */
color: var(--c-purple);  /* secondary/decorative */
color: var(--text-3);    /* muted/UI */

/* Icon grid */
.icon-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
  gap: 8px;
}

.icon-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 16px 8px;
  border-radius: var(--r-sm);
  transition: background var(--t-fast);
}

.icon-item:hover {
  background: var(--g-1);
}

/* Rules */
/* ✅ Always: outline style, 1.5px stroke weight */
/* ❌ Never: filled icons, mixed stroke weights */
/* ✅ Color: brand palette only (blue, purple, gray) */
/* ❌ Never: black, arbitrary colors */
Icon Rules Tamanho, cor, estilo e traço
Tamanho mínimo
16px em UI; 24px para destaque; 40px+ para ícones decorativos
Cor padrão
Azul --c-blue para ícones de destaque; roxo --c-purple para contextos especiais; cinza para utilitários
Estilo
Exclusivamente outline — nunca filled. Consistência visual é prioridade.
Peso do traço
Padrão Lucide: 1.5px — não altere o stroke-width dos ícones
Ver código
/* Icon rule card (extends .glass--card) */
.icon-rules {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 14px;
}

.icon-rule {
  padding: 24px 20px;
  /* glass--card provides: */
  /* background: var(--g-2); */
  /* backdrop-filter: var(--g-blur); */
  /* border: 1px solid var(--g-border); */
  /* border-radius: var(--r-lg); */
  /* box-shadow: var(--g-shadow-card); */
}

.icon-rule__title {
  font-family: var(--f-display);
  font-size: 14px;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 6px;
}

.icon-rule__desc {
  font-size: 12.5px;
  color: var(--text-2);
  line-height: 1.55;
}

Fotografia & Imagens

As imagens do ibe.IA devem transmitir ambição, resultado e movimento. Pessoas reais comemorando conquistas, telas de produtos e tecnologia em ação.

Photo Guidelines Diretrizes de fotografia — aprovado vs evitar
Aprovado
  • Pessoas reais em contexto de trabalho ou celebração
  • Screenshots de produtos com resultados visíveis (faturamento, métricas)
  • Fundo escuro ou neutro que não compete com o conteúdo
  • Tom quente e energético
  • Contraste alto e cores vibrantes
  • Imagens de produto com UI limpa e legível
Evitar
  • Stock photos genéricas sem contexto real
  • Imagens com logos de concorrentes visíveis
  • Paleta de cores que conflita com a identidade
  • Imagens de baixa resolução ou mal iluminadas
  • Pessoas em poses artificiais ou não naturais
  • Filtros pesados que distorcem as cores da marca
Ver código
/* Photo guideline card (extends .glass--card) */
.photo-guidelines {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.photo-guideline {
  padding: 28px 24px;
  border-radius: var(--r-lg);
}

/* Approved badge — green */
.photo-guideline__badge--approved {
  color: var(--c-green);
  background: color-mix(in srgb, var(--c-green) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--c-green) 25%, transparent);
  border-radius: 100px;
  padding: 4px 12px;
  font-family: var(--f-mono);
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

/* Rejected badge — red */
.photo-guideline__badge--rejected {
  color: var(--c-red);
  background: color-mix(in srgb, var(--c-red) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--c-red) 25%, transparent);
}
Tratamento de imagem
Image Treatments Sobreposições de cor para imagens
Dark Base
Para overlays em imagens de fundo
Blue Tint
Para destaques e banners hero
Purple Tint
Para seções criativas e especiais
Green CTA
Para seções de resultado e conversão
Gold Tint
Para conquistas e depoimentos
Ver código
/* Photo treatment card */
.photo-treatments {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 14px;
}

.photo-treatment {
  border-radius: var(--r-md);
  overflow: hidden;
  border: 1px solid var(--g-border);
}

/* Treatment swatch */
.photo-treatment__swatch {
  height: 120px;
  border-radius: var(--r-md) var(--r-md) 0 0;
}

/* Treatment colors */
.photo-treatment__swatch--dark   { background: var(--c-black); }
.photo-treatment__swatch--blue   { background: var(--c-blue); }
.photo-treatment__swatch--purple { background: var(--c-purple); }
.photo-treatment__swatch--green  { background: var(--c-green); }
.photo-treatment__swatch--gold   { background: var(--c-yellow); }

/* Apply over image: */
.image-treatment {
  position: relative;
}
.image-treatment::after {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--treatment-color);
  mix-blend-mode: multiply;
  opacity: 0.4;
  border-radius: inherit;
}

.photo-treatment__info {
  padding: 14px 16px;
  background: var(--g-1);
}

.photo-treatment__name {
  font-family: var(--f-display);
  font-size: 13px;
  font-weight: 700;
  color: var(--text);
}

.photo-treatment__desc {
  font-size: 11.5px;
  color: var(--text-2);
}

Voz & Tom

A voz do ibe.IA é direta, ambiciosa e humana. Falamos como um mentor que já chegou lá e quer que você chegue também — sem enrolação, sem promessas vazias.

Personality Traits 5 traços de personalidade da marca
Direto
Vai ao ponto. Sem rodeios, sem jargão desnecessário.
Ambicioso
Fala em resultados reais e grandes metas.
Humano
Pessoas reais, histórias reais, conquistas reais.
Confiante
Afirmações fortes, sem hesitação ou qualificadores.
Inclusivo
Qualquer pessoa pode criar com tecnologia.
Ver código
/* Personality traits grid */
.personality-traits {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 14px;
}

/* Trait card (extends .glass--card) */
.trait {
  padding: 24px 20px;
  display: flex;
  flex-direction: column;
  transition: transform 380ms cubic-bezier(0.34, 1.56, 0.64, 1),
              box-shadow 380ms ease;
}

.trait:hover {
  transform: translateY(-3px);
  border-color: color-mix(in srgb, var(--c-purple) 38%, transparent);
}

.trait__icon {
  color: var(--accent-2);
  width: 22px; height: 22px;
  margin-bottom: 16px;
}

.trait__name {
  font-family: var(--f-display);
  font-size: 15px;
  font-weight: 700;
  color: var(--text);
  letter-spacing: -0.01em;
}

.trait__desc {
  font-size: 12.5px;
  color: var(--text-2);
  line-height: 1.55;
}
Copy: certo vs. errado
Copy Examples Errado vs correto — guia de escrita
Evitar

"Aprenda a criar soluções tecnológicas inovadoras utilizando metodologias no-code avançadas para transformar seus processos de negócio de forma eficiente."

Usar

"Crie seu primeiro app hoje. Sem código. Sem enrolação. Do zero ao faturamento."

Evitar

"Potencialmente, com dedicação e esforço, você poderá talvez alcançar resultados positivos em sua jornada de aprendizado."

Usar

"Nossos alunos já geraram mais de R$106 milhões. O próximo pode ser você."

Ver código
/* Copy examples — do/don't pairs */
.copy-examples {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.copy-example {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.copy-col {
  padding: 20px 22px;
  border-radius: var(--r-lg);
  border: 1px solid;
  backdrop-filter: blur(8px);
}

/* Wrong — red tint */
.copy-col--wrong {
  background: color-mix(in srgb, var(--c-red) 5%, transparent);
  border-color: color-mix(in srgb, var(--c-red) 18%, transparent);
}

/* Right — green tint */
.copy-col--right {
  background: color-mix(in srgb, var(--c-green-cta) 5%, transparent);
  border-color: color-mix(in srgb, var(--c-green-cta) 18%, transparent);
}

.copy-col__label {
  font-family: var(--f-mono);
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.copy-col--wrong .copy-col__label { color: var(--c-red); }
.copy-col--right .copy-col__label { color: var(--c-green-cta); }

@media (max-width: 600px) {
  .copy-example { grid-template-columns: 1fr; }
}
Vocabulário da marca
Vocabulary Grid Termos que usamos vs evitamos
Usamos
  • Instituto
  • Inteligência Artificial
  • IA
  • Agente de IA
  • Automação
  • Método
  • Resultado
  • Campo de batalha
  • Virada de chave
  • Educação em IA
Evitamos
  • Curso (preferimos "Instituto")
  • Fácil / Simples demais
  • Disrupto / Disruptivo
  • Sinergia
  • Jornada de aprendizado
  • Conteúdo exclusivo
  • Aprenda no seu ritmo
  • Revolucionário
Ver código
/* Vocabulary grid — two columns */
.vocab-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.vocab-col {
  border-radius: var(--r-lg);
  overflow: hidden;
  /* extends .glass--card */
}

.vocab-col__title {
  padding: 14px 20px;
  font-family: var(--f-mono);
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  border-bottom: 1px solid var(--g-border-dim);
}

/* "Usamos" column — green */
.vocab-col:first-child .vocab-col__title { color: var(--c-green-cta); }
.vocab-col:first-child:hover {
  border-color: color-mix(in srgb, var(--c-green-cta) 35%, transparent);
}

/* "Evitamos" column — red */
.vocab-col:last-child .vocab-col__title { color: var(--c-red); }
.vocab-col:last-child:hover {
  border-color: color-mix(in srgb, var(--c-red) 35%, transparent);
}

.vocab-col ul li {
  padding: 9px 20px 9px 22px;
  font-size: 13.5px;
  color: var(--text-2);
  border-bottom: 1px solid var(--g-border-dim);
}

@media (max-width: 600px) {
  .vocab-grid { grid-template-columns: 1fr; }
}

Exemplos de aplicação

Referências de como a identidade ibe.IA se aplica nos diferentes pontos de contato com a marca.

Post para redes sociais
Social Media Post Mockup de post para feed e stories
No Code + IA
Crie seu agente de IA hoje.
Sem escrever uma linha de código.
Entre no IBEIA →
ibe.IA
+R$106 MI
faturados pelos nossos alunos
O próximo pode ser você.
ibeia.com.br
Ver código
/* Social post card */
.mockup-social {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.mockup-social__post {
  border-radius: var(--r-lg);
  border: 1px solid rgba(255, 255, 255, 0.09);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.07),
    0 1px 2px rgba(0, 0, 0, 0.30),
    0 8px 32px rgba(0, 0, 0, 0.28);
  overflow: hidden;
}

/* Square post background — dark aurora */
.mockup-social__bg {
  width: 300px;
  height: 300px;
  background:
    radial-gradient(ellipse 68% 52% at 108% -8%,
      color-mix(in srgb, var(--c-purple) 28%, transparent) 0%, transparent 62%),
    radial-gradient(ellipse 58% 58% at -8% 112%,
      color-mix(in srgb, var(--c-blue) 20%, transparent) 0%, transparent 65%),
    color-mix(in srgb, var(--c-black) 78%, black);
  padding: 24px;
}

/* Badge — frosted glass pill */
.mockup-social__top-badge {
  font-size: 9px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  padding: 5px 12px;
  border-radius: 100px;
  background: rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.11);
}

/* Headline */
.mockup-social__headline {
  font-family: var(--f-display);
  font-size: 19px;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: -0.025em;
  color: rgba(255, 255, 255, 0.90);
}

/* Accent text */
.mockup-social__headline span {
  color: color-mix(in srgb, var(--c-purple) 60%, var(--c-cream));
  text-shadow: 0 0 22px color-mix(in srgb, var(--c-purple) 32%, transparent);
}
Card de produto / curso
Product Card Card de curso/produto com tag e badge
No Code
Criação de Apps com Bubble
Do zero ao app publicado. Sem código, sem complicação.
IA & Agentes
Agentes de IA com n8n
Automatize processos completos com agentes inteligentes.
Automações
Automações com Make
Conecte ferramentas e escale no piloto automático.
Ver código
/* Product card grid */
.mockup-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
}

/* Product card (extends .glass--card) */
.mockup-card {
  border-radius: var(--r-lg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.mockup-card__header {
  height: 140px;
  padding: 16px;
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--c-blue) 18%, var(--g-1)),
    color-mix(in srgb, var(--c-purple) 12%, var(--g-1)));
}

.mockup-card__tag {
  font-family: var(--f-mono);
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  padding: 4px 10px;
  border-radius: 100px;
  background: color-mix(in srgb, var(--c-blue) 20%, transparent);
  color: color-mix(in srgb, var(--c-blue) 70%, white);
  border: 1px solid color-mix(in srgb, var(--c-blue) 25%, transparent);
}

/* Yellow variant */
.mockup-card--yellow .mockup-card__tag {
  background: color-mix(in srgb, var(--c-yellow) 20%, transparent);
  color: var(--c-yellow);
  border-color: color-mix(in srgb, var(--c-yellow) 25%, transparent);
}

.mockup-card__body { padding: 18px 20px; }

.mockup-card__title {
  font-family: var(--f-display);
  font-size: 16px;
  font-weight: 700;
  color: var(--text);
  letter-spacing: -0.01em;
}

.mockup-card__footer {
  padding: 14px 20px;
  border-top: 1px solid var(--g-border-dim);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.mockup-card__badge {
  font-family: var(--f-mono);
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
Email / Newsletter
Email Newsletter Template de e-mail com header, body e CTA

Oi, [Nome] 👋

Você está a 1 passo de criar seu primeiro agente de IA

Na aula de hoje você vai aprender como configurar um agente que responde clientes, agenda reuniões e qualifica leads — tudo no automático.

Assistir aula agora →
Ver código
/* Email container */
.mockup-email {
  max-width: 480px;
  border-radius: var(--r-lg);
  border: 1px solid var(--g-border);
  background: var(--g-1);
  backdrop-filter: var(--g-blur);
  box-shadow: var(--g-shadow-card);
  overflow: hidden;
}

.mockup-email__header {
  padding: 24px 28px;
  border-bottom: 1px solid var(--g-border-dim);
  background: var(--g-2);
}

.mockup-email__body { padding: 28px; }

.mockup-email__headline {
  font-family: var(--f-display);
  font-size: 20px;
  font-weight: 700;
  color: var(--text);
}

.mockup-email__cta {
  display: inline-block;
  padding: 10px 24px;
  background: var(--c-blue);
  color: var(--c-cream);
  border-radius: var(--r-sm);
  font-family: var(--f-body);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}

.mockup-email__footer {
  padding: 16px 28px;
  border-top: 1px solid var(--g-border-dim);
  font-size: 11px;
  color: var(--text-3);
}

Componentes

Componentes prontos para uso em qualquer projeto. Copie o HTML e aplique as variáveis CSS de tokens.css.

Botões

btn · sólido CTA principal — fundo sólido, border-radius pill
Ver código
<button class="btn btn--primary">Começar agora →</button>
<button class="btn btn--secondary">Saiba mais →</button>
<button class="btn btn--ghost">Ver detalhes →</button>
btn · sólido highlight CTA de destaque — fundo sólido com glow giratório externo (shimmer)
Ver código
<div class="btn-highlight-container">
  <div class="btn-highlight-shimmer-wrap" aria-hidden="true">
    <div class="btn-highlight-shimmer btn-highlight-shimmer--green"></div>
  </div>
  <button class="btn btn--primary">Começar agora →</button>
</div>
btn · liquid glass Glassmorphism premium — backdrop-filter blur + inset highlight por cor
Ver código
<button class="btn-glass btn-glass--green">
  <span class="btn-glass__shimmer"></span>
  Começar agora →
</button>
btn · liquid glass highlight Glassmorphism premium com glow giratório externo (shimmer) para CTAs de destaque
Ver código
<div class="btn-highlight-container">
  <div class="btn-highlight-shimmer-wrap" aria-hidden="true">
    <div class="btn-highlight-shimmer btn-highlight-shimmer--green"></div>
  </div>
  <button class="btn-glass btn-glass--green">
    <span class="btn-glass__shimmer"></span>
    Começar agora →
  </button>
</div>
btn · glass + ícone Ícone Lucide embutido + texto. Variante icon-only para ações compactas
Ver código
<button class="btn-glass btn-glass--green btn-glass--icon">
  <span class="btn-glass__shimmer"></span>
  <i data-lucide="zap" class="btn-glass__icon"></i>
  Automatizar agora
</button>
<button class="btn-glass btn-glass--icon-only btn-glass--neutral">
  <span class="btn-glass__shimmer"></span>
  <i data-lucide="heart" class="btn-glass__icon"></i>
</button>
btn · glass tamanhos Small / Default / Large — proporções consistentes em escala
Ver código
<button class="btn-glass btn-glass--green btn-glass--sm">Pequeno →</button>
<button class="btn-glass btn-glass--green">Padrão →</button>
<button class="btn-glass btn-glass--green btn-glass--lg">Grande →</button>
btn · glass estados Disabled e loading — visual glass preservado, interatividade bloqueada
Ver código
<button class="btn-glass btn-glass--green" disabled>
  Desabilitado
</button>
<button class="btn-glass btn-glass--purple btn-glass--loading">
  <span class="btn-glass__spinner"></span>
  Carregando
</button>

Badges

badge Status, categorias e destaques
No-Code IA Automações Novo
Ver código
<span class="badge badge--purple">No-Code</span>
<span class="badge badge--green">IA</span>
<span class="badge badge--yellow">Automações</span>
<span class="badge badge--red">Novo</span>

Feature Cards

feature-card Ícone + título + descrição. Variantes: escuro, roxo, bordado

Automações

Automatize processos repetitivos com IA.

Agentes IA

Crie agentes que trabalham por você 24/7.

Aplicativos

Sistemas completos sem escrever código.

Ver código
<div class="feature-cards">
  <div class="feature-card feature-card--dark">
    <i data-lucide="zap" class="feature-card__icon"></i>
    <h4 class="feature-card__title">Automações</h4>
    <p class="feature-card__desc">Automatize processos repetitivos com IA.</p>
  </div>
</div>

Bento Grid

bento-grid Grid assimétrico de features — padrão da seção 'O que vou receber'

Plataforma Exclusiva

Acesso completo ao ambiente de aprendizado.

Trilhas

Percursos sob medida.

Tutor IA

Suporte com IA treinada.

Mentorias Ao Vivo

Encontros semanais com professores.

Ver código
<div class="bento">
  <div class="bento__card bento__card--wide">
    <i data-lucide="monitor" class="bento__icon"></i>
    <h4 class="bento__title">Plataforma Exclusiva</h4>
    <p class="bento__desc">Acesso completo ao ambiente de aprendizado.</p>
  </div>
  <div class="bento__card">...</div>
</div>

Pricing Card

pricing-card Preço riscado + cupom com desconto + parcelamento grande + CTA
−42% OFF
de R$2.582 por apenas
R$ 1.497

Use o cupom DESCONTO200 e pague

12× R$127
ou R$1.297 à vista
Ver código
<div class="pricing-card">
  <span class="pricing-card__discount-tag">−42% OFF</span>
  <div class="pricing-card__header">
    <span class="pricing-card__from">de <s>R$2.582</s> por apenas</span>
    <div class="pricing-card__price-row">
      <span class="pricing-card__price-currency">R$</span>
      <span class="pricing-card__price">1.497</span>
    </div>
  </div>
  <div class="pricing-card__coupon">
    <p class="pricing-card__coupon-text">Use o cupom <strong class="pricing-card__code">DESCONTO200</strong> e pague</p>
    <div class="pricing-card__installment">
      <span class="pricing-card__x">12×</span>
      <span class="pricing-card__value">R$127</span>
    </div>
    <span class="pricing-card__cash">ou R$1.297 à vista</span>
  </div>
  <button class="pricing-card__cta">QUERO ME INSCREVER →</button>
</div>

Value Stack (Seção de Preços)

value-stack Checklist com itens e preços + Pricing Card ao lado
  • Curso Appmakers — Vibe Coding & No Code R$997
  • Curso Automakers — Agentes IA R$997
  • Tutor IA Incalculável
  • VALOR TOTAL: R$2.582,00
Ver código
<div class="value-stack__scene">
  <ul class="value-stack__list">
    <li class="value-stack__item">
      <span class="value-stack__label">
        <span class="value-stack__check"></span>
        Curso Appmakers
      </span>
      <span class="value-stack__price">R$997</span>
    </li>
    <li class="value-stack__total">
      <span class="value-stack__total-label">VALOR TOTAL:</span>
      <span class="value-stack__total-value">R$2.582,00</span>
    </li>
  </ul>
</div>

FAQ Accordion

faq-accordion Lista expansível de perguntas e respostas com ícone + — liquid glass
Quero saber mais sobre o curso +

Aqui vai a resposta detalhada sobre o curso e seus conteúdos. O programa cobre automação, IA e no-code do zero ao avançado.

Qual a carga horária? +

O curso tem mais de 200 horas de conteúdo prático, incluindo aulas gravadas, mentorias ao vivo e projetos reais.

Preciso saber programar? +

Não! O método IBEIA foi criado para quem não tem background técnico. Você aprenderá a dominar IA e automação com ferramentas visuais e práticas.

Ver código
<div class="faq">
  <details class="faq__item">
    <summary class="faq__question">
      Pergunta aqui <span class="faq__icon">+</span>
    </summary>
    <div class="faq__body">
      <p class="faq__answer">Resposta aqui.</p>
    </div>
  </details>
</div>

Trust Badges

trust-badges 3 selos de confiança: pagamento, acesso, garantia
PAGAMENTO SEGURO Seus dados protegidos e compra 100% segura.
ACESSO IMEDIATO Login enviado ao seu e-mail logo após a compra.
GARANTIA DE 15 DIAS 100% do seu dinheiro de volta sem burocracia.
Ver código
<div class="trust-badges">
  <div class="trust-badge">
    <i data-lucide="shield-check" class="trust-badge__icon"></i>
    <span class="trust-badge__title">PAGAMENTO SEGURO</span>
    <span class="trust-badge__desc">Seus dados protegidos.</span>
  </div>
</div>

Social Proof Bar

social-proof-bar 3 pills com ícone + texto curto — prova social horizontal
Ver código
<div class="social-proof-bar">
  <span class="sp-pill"><i data-lucide="book-open" class="sp-pill__icon"></i> Curso Completo</span>
  <span class="sp-pill"><i data-lucide="users" class="sp-pill__icon"></i> Mentorias Ao Vivo</span>
  <span class="sp-pill"><i data-lucide="shield" class="sp-pill__icon"></i> Garantia 15 dias</span>
</div>

Stats Banner

stats-banner Número grande em destaque — glassmorphism premium, dark e light
Mais de 10.000 alunos formados na América Latina
Ver código
<div class="stats-banner">
  <span class="stats-banner__label">Mais de</span>
  <span class="stats-banner__number">10.000</span>
  <span class="stats-banner__sub">alunos formados na América Latina</span>
</div>

Logo Strip

logo-strip Faixa horizontal de logos de parceiros ou ferramentas
Make Lovable n8n Supabase Bolt Cursor
Ver código
<div class="logo-strip">
  <div class="logo-strip__track">
    <span class="logo-strip__item">Make</span>
    <span class="logo-strip__sep"></span>
    <span class="logo-strip__item">Lovable</span>
    <span class="logo-strip__sep"></span>
    <!-- duplicate items for seamless loop -->
  </div>
</div>

Stat Card com Ranking

stat-card Cards de ranking em múltiplas cores — escuro e claro
#2
Profissão mais
promissora
R$8.500/mês
Fonte: IBGE 2024
#1
Área mais
contratada
R$12k/mês
LinkedIn 2024
38%
Crescimento
anual do setor
+6.400 vagas
IDC Brasil 2024
94%
Taxa de
empregabilidade
Tech & IA
FIESP 2024
47k
Vagas abertas
em automação
BR · 2024
Catho · SINE
Ver código
<!-- Variantes de cor disponíveis -->
<div class="stat-card">              <!-- roxo (padrão) -->
<div class="stat-card stat-card--blue">    <!-- azul -->
<div class="stat-card stat-card--green">   <!-- verde -->
<div class="stat-card stat-card--yellow">  <!-- amarelo -->
<div class="stat-card stat-card--light">   <!-- claro / branco -->

Data Highlight Card

data-highlight Stat grande à direita com fonte de dados — para prova de mercado
340%
de crescimento em vagas No Code nos últimos 2 anos
Fonte: LinkedIn Jobs 2024
Ver código
<div class="data-highlight">
  <div class="data-highlight__visual">
    <i data-lucide="trending-up" class="data-highlight__icon"></i>
  </div>
  <div class="data-highlight__content">
    <div class="data-highlight__stat">340%</div>
    <div class="data-highlight__desc">crescimento em vagas No Code</div>
    <span class="data-highlight__source">Fonte: LinkedIn Jobs 2024</span>
  </div>
</div>

Testimonial Cards

testimonial-card Foto + nome + resultado em destaque — depoimento de aluno
JS

"Saí do zero e hoje faturei R$12k no primeiro mês com automações."

João Silva +R$12.000 em 30 dias
Ver código
<div class="testimonial-card">
  <div class="testimonial-card__avatar">JS</div>
  <div class="testimonial-card__body">
    <p class="testimonial-card__quote">"Depoimento do aluno aqui."</p>
    <div class="testimonial-card__author">
      <strong>Nome do Aluno</strong>
      <span class="testimonial-card__result">Resultado em destaque</span>
    </div>
  </div>
</div>

Guarantee Block

guarantee-block Selo de garantia + texto em caixa bordada + CTA

Garantia Incondicional de 15 Dias

15 DIAS

Se em 15 dias você não estiver satisfeito, devolvemos 100% do seu investimento. Sem perguntas, sem burocracia.

Ver código
<div class="guarantee-block">
  <h3 class="guarantee-block__title">Garantia Incondicional de 15 Dias</h3>
  <div class="guarantee-block__seal">
    <i data-lucide="shield-check" class="guarantee-block__icon"></i>
    <span>15 DIAS</span>
  </div>
  <p class="guarantee-block__text">Texto da garantia aqui.</p>
  <button class="btn btn--primary">GARANTIR MINHA VAGA →</button>
</div>

Tool Tag Cloud

tool-tag-cloud Tags agrupadas por categoria de ferramentas
No-Code
Lovable Bolt Bubble
Agentes IA
n8n Make Zapier
Design
Figma Canva
Ver código
<div class="tool-tag-cloud">
  <div class="tool-tag-group">
    <span class="tool-tag-group__label">No-Code</span>
    <div class="tool-tag-group__tags">
      <span class="tool-tag">Lovable</span>
      <span class="tool-tag">Bolt</span>
    </div>
  </div>
</div>

Hero Section

hero Headline + destaque colorido + subtexto + CTA principal
+10.000 alunos América Latina

Qualquer pessoa pode criar Aplicativos e Agentes de IA sem programar.

A maior escola No Code & IA da América Latina.

Ver código
<section class="hero">
  <div class="hero__eyebrow">
    <span class="sp-pill">+10.000 alunos</span>
  </div>
  <h1 class="hero__title">
    Headline principal com <em class="hero__highlight">destaque colorido</em>.
  </h1>
  <p class="hero__sub">Subtexto de suporte.</p>
  <button class="btn btn--primary">CTA principal →</button>
</section>

Chat Bubbles

chat-bubbles Bolhas de dor/frustração — usadas na seção de identificação do problema
"Quero criar um app mas não sei programar"
"Já tentei aprender código e desisti"
"Tenho uma ideia mas não sei por onde começar"
Ver código
<div class="chat-bubbles">
  <div class="chat-bubble chat-bubble--left">Mensagem do usuário</div>
  <div class="chat-bubble chat-bubble--right">Outra mensagem</div>
</div>

Founder / Bio

founder-bio Foto + nome + título + bio + badges de credenciais
RN

Renato Asse

Founder & CEO, IBEIA

Empreendedor serial, educador e especialista em IA & Automação. Ajudou mais de 10.000 pessoas a dominarem Inteligência Artificial.

Forbes Under 30 10k+ alunos Speaker
Ver código
<div class="founder-bio">
  <div class="founder-bio__avatar">RN</div>
  <div class="founder-bio__content">
    <h4 class="founder-bio__name">Nome</h4>
    <p class="founder-bio__title">Título</p>
    <p class="founder-bio__text">Bio aqui.</p>
    <div class="founder-bio__badges">
      <span class="tool-tag">Badge</span>
    </div>
  </div>
</div>

Final Closer

final-closer Headline em caps + urgência + CTA único centralizado

ÚLTIMA CHANCE

Sua vida pode mudar
nos próximos 30 dias.

Junte-se a mais de 10.000 alunos que já transformaram suas carreiras.

Ver código
<div class="final-closer">
  <p class="final-closer__eyebrow">ÚLTIMA CHANCE</p>
  <h2 class="final-closer__title">Sua vida pode mudar<br>nos próximos 30 dias.</h2>
  <p class="final-closer__sub">Subtexto de urgência aqui.</p>
  <button class="btn btn--primary">GARANTIR MINHA VAGA →</button>
</div>

News / Article Cards

news-card Cards de prova social com headline de notícia + fonte
Folha de S.Paulo

"No Code cresce 340% e vira tendência entre empreendedores brasileiros"

Exame

"Ferramentas de IA permitem criar apps em minutos sem escrever código"

Ver código
<div class="news-cards">
  <div class="news-card">
    <span class="news-card__source">Nome do Veículo</span>
    <p class="news-card__headline">"Manchete da notícia aqui"</p>
  </div>
</div>

Footer

footer Rodapé com logo, tagline, links de navegação e CNPJ
Ver código
<footer class="doc-footer">
  <div class="doc-footer__brand">
    <span class="doc-footer__logo">ibe.IA</span>
    <span class="doc-footer__tagline">Tagline aqui.</span>
  </div>
  <div class="doc-footer__meta">
    <span class="doc-footer__cnpj">CNPJ: XX.XXX.XXX/0001-XX</span>
    <span class="doc-footer__copy">© 2025 IBEIA.</span>
  </div>
</footer>

Background

O sistema de background do ibe.IA opera em dois modos: escuro (padrão) e claro. Cada camada é definida por variáveis CSS semânticas que garantem contraste, hierarquia e coesão visual.

Dark Mode Background Sistema de camadas para tema escuro
Modo Escuro
Padrão
--bg #1C1C1C
--bg-2 #171717
--surface #252525
--surface-2 #2E2E2E
--bg Fundo principal do corpo #1C1C1C
--bg-2 Fundo alternado de seções #171717
--surface Cards, painéis, modais #252525
--surface-2 Superfícies elevadas, hover #2E2E2E
--border Bordas, divisores #363636
Ver código
/* Dark theme background system */
body {
  background: var(--bg-body);
}

/* --bg-body composição (dark): */
background:
  radial-gradient(ellipse 100% 65% at 5% -5%,
    rgba(0, 88, 212, 0.09) 0%, transparent 55%),
  radial-gradient(ellipse 75% 55% at 96% 5%,
    rgba(175, 109, 255, 0.07) 0%, transparent 52%),
  radial-gradient(ellipse 60% 50% at 50% 100%,
    rgba(99, 208, 89, 0.05) 0%, transparent 52%),
  radial-gradient(ellipse 45% 40% at 82% 65%,
    rgba(255, 184, 1, 0.03) 0%, transparent 48%),
  radial-gradient(ellipse 35% 30% at 18% 75%,
    rgba(0, 88, 212, 0.04) 0%, transparent 45%),
  #08080e;

/* Semantic surface tokens (dark) */
--bg:        #1C1C1C;
--bg-2:      #171717;
--surface:   #252525;
--surface-2: #2E2E2E;
--border:    #363636;
--text:      #FBF9F4;
--text-2:    #B2B2B2;
--text-3:    #8A8A8A;

/* Ambient orb opacities */
--orb-1-op: 0.06;
--orb-2-op: 0.05;
--orb-3-op: 0.04;

/* Noise overlay */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  background: url('/assets/noise.svg');
  opacity: 0.028;
  pointer-events: none;
  z-index: 9999;
}
Light Mode Background Sistema de camadas para tema claro
Modo Claro
Alternativo
--bg #FBF9F4
--bg-2 #F3EFE8
--surface #FFFFFF
--surface-2 #ECE9E3
--bg Fundo principal — creme #FBF9F4
--bg-2 Fundo alternado — creme escuro #F3EFE8
--surface Cards, painéis, modais #FFFFFF
--surface-2 Superfícies elevadas #ECE9E3
--border Bordas, divisores #DDD9D1
Ver código
/* Light theme background system */
/* --bg-body composição (light): */
background:
  radial-gradient(ellipse 60% 45% at 0% 0%,
    rgba(0, 88, 212, 0.04) 0%, transparent 60%),
  radial-gradient(ellipse 55% 40% at 100% 0%,
    rgba(175, 109, 255, 0.03) 0%, transparent 55%),
  linear-gradient(160deg, #FFFFFF 0%, #FDFCFF 100%);

/* Semantic surface tokens (light) */
--bg:        #FBF9F4;
--bg-2:      #F3EFE8;
--surface:   #FFFFFF;
--surface-2: #ECE9E3;
--border:    #DDD9D1;
--text:      #1C1C1C;
--text-2:    #6A6461;
--text-3:    #A09C98;

/* Ambient orb opacities (reduced) */
--orb-1-op: 0.03;
--orb-2-op: 0.03;
--orb-3-op: 0.02;

Anatomia das camadas

1
Fundo da página --bg + --bg-2 — alternados a cada seção via classes .section--dark e .section--cream
2
Orbs de luz ambiente 4 esferas com cores da paleta, blur(80–100px), position fixed, z-index: 1. Animação de flutuação lenta (20–30s).
3
Canvas de partículas Partículas mínimas em <canvas>, z-index: 0. Densidade baixa para não competir com o conteúdo.
4
Textura de ruído Overlay fractalNoise SVG com opacidade 2,8% (escuro) / 1,8% (claro) via body::before. Adiciona profundidade orgânica.

Regras de uso

Background Rules
Use sempre variáveis CSS

Sempre use var(--bg), var(--surface) e similares. Nunca hardcode valores hexadecimais diretamente no código de componentes.

Alterne seções sistematicamente

Use .section--dark para seções ímpares e .section--cream para pares. Isso cria ritmo visual e separa conteúdo naturalmente.

Não remova os orbs de luz

Os orbs ambiente são parte da identidade visual. Removê-los torna o background plano e sem personalidade. Ajuste opacidade se necessário, mas não elimine.

Não use brancos puros no dark mode

No modo escuro, use --text (#FBF9F4) ao invés de #FFFFFF. O creme quente é parte da identidade — branco puro parece frio e genérico.

Ver código
/* Background rules */
/* ✅ Always use CSS variables for bg/surface/text */
/* ✅ Keep noise overlay (body::before, opacity 0.028) */
/* ✅ Keep ambient orbs (opacity 0.04-0.06) */
/* ❌ Never remove noise texture */
/* ❌ Never use solid black (#000) as background */
/* ❌ Never make orbs opacity > 0.10 */
Alternância de tema

O tema é controlado pelo atributo data-theme no elemento <html>. O script theme-toggle.js persiste a preferência no localStorage e respeita prefers-color-scheme.

html[data-theme="light"] { --bg: #FBF9F4; … }

Seções Alternadas

Todas as páginas do ibe.IA são construídas com um ritmo visual de seções alternadas: seções transparentes (com blobs, grid e noise de fundo visíveis) intercaladas com seções opacas (com background sólido + gradiente + blob interno). Essa cadência cria profundidade, respiro e hierarquia visual.

Ritmo da Página

Transparente Blobs + grid + noise visíveis
Opaca Variação 1–5
Transparente Blobs + grid + noise visíveis
Opaca Variação 1–5
Transparente Blobs + grid + noise visíveis
Opaca Variação 1–5

Seção Transparente

A seção transparente não possui background próprio — o fundo da página (#08080e) com seus blobs flutuantes, grid sutil e noise texture ficam visíveis através da seção. Todo o conteúdo vive em z-index acima das camadas de fundo.

Seção Transparente Background herdado da página — blobs, grid e noise visíveis
// seção transparente

Título da Seção

Conteúdo com blobs e grid visíveis ao fundo. As camadas de atmosfera da página passam através da seção.

Ver código
<!-- Estrutura da página (BrandLayout / page wrapper) -->
<body style="background: #08080e;">
  <!-- Camadas de fundo (fixas na página) -->
  <div class="bg-grid" aria-hidden="true"></div>
  <div class="bg-blobs" aria-hidden="true">
    <div class="bg-blob bg-blob--1"></div>
    <div class="bg-blob bg-blob--2"></div>
    <div class="bg-blob bg-blob--3"></div>
  </div>
  <div class="bg-noise" aria-hidden="true"></div>

  <!-- Seção transparente — sem background próprio -->
  <section class="section-transparent">
    <div class="container">
      <h2>Título da Seção</h2>
      <p>Conteúdo aqui...</p>
    </div>
  </section>
</body>

/* CSS da seção transparente */
.section-transparent {
  position: relative;
  z-index: 2;
  padding: 5rem 1.5rem;
  /* Sem background — herda o fundo da página */
  /* Blobs, grid e noise ficam visíveis */
}

/* Grid de fundo da página (fixo) */
.bg-grid {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,0.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.018) 1px, transparent 1px);
  background-size: 48px 48px;
}

/* Blobs flutuantes (fixos) */
.bg-blobs {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}
.bg-blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(120px);
  will-change: transform;
  animation: float 20s ease-in-out infinite;
}

/* Noise overlay */
.bg-noise {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.028;
  mix-blend-mode: overlay;
  background-image: url("/assets/noise.svg");
  background-repeat: repeat;
  background-size: 256px 256px;
}

Seções Opacas — 5 Variações

As seções opacas bloqueiam a visão dos blobs e grid — possuem background sólido com gradiente diagonal, uma borda sutil colorida (top + bottom), e um blob interno grande e difuso que tinge a seção com a cor temática. Cada variação usa uma cor da paleta.

Variação 1 — Deep Teal Gradiente teal escuro com blob ciano
// variação 1 — deep teal

Título da Seção

Seção opaca com gradiente teal. O blob ciano cria uma atmosfera fria e profissional.

Ver código
/* Variação 1: Deep Teal */
.section-opaque--v1 {
  position: relative;
  overflow: hidden;
  padding: 3.5rem 1.5rem 4rem;
  background: linear-gradient(135deg, #041f1e 0%, #08080e 50%, #0a2a28 100%);
  border-top: 1px solid rgba(0, 229, 204, 0.15);
  border-bottom: 1px solid rgba(0, 229, 204, 0.15);
}

/* Blob interno */
.section-opaque--v1 .bg-effects {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}
.section-opaque--v1 .blob {
  position: absolute;
  width: 50%;
  height: 120%;
  top: -10%;
  left: 25%;
  border-radius: 50%;
  filter: blur(80px);
  opacity: 0.4;
  background: radial-gradient(circle,
    rgba(0, 229, 204, 0.3), transparent 70%);
}

/* Conteúdo acima do blob */
.section-opaque--v1 .container {
  position: relative;
  z-index: 1;
}
Variação 2 — Royal Purple Gradiente púrpura com blob violeta
// variação 2 — royal purple

Título da Seção

Seção opaca com gradiente púrpura. O blob violeta reforça a cor accent secundária da marca.

Ver código
/* Variação 2: Royal Purple */
.section-opaque--v2 {
  position: relative;
  overflow: hidden;
  padding: 3.5rem 1.5rem 4rem;
  background: linear-gradient(135deg, #1a0a2e 0%, #08080e 50%, #1e0e35 100%);
  border-top: 1px solid rgba(153, 69, 255, 0.15);
  border-bottom: 1px solid rgba(153, 69, 255, 0.15);
}

.section-opaque--v2 .blob {
  background: radial-gradient(circle,
    rgba(153, 69, 255, 0.3), transparent 70%);
}
Variação 3 — Midnight Blue Gradiente azul profundo com blob azul celeste
// variação 3 — midnight blue

Título da Seção

Seção opaca com gradiente azul meia-noite. O blob azul celeste conecta com o accent principal da marca.

Ver código
/* Variação 3: Midnight Blue */
.section-opaque--v3 {
  position: relative;
  overflow: hidden;
  padding: 3.5rem 1.5rem 4rem;
  background: linear-gradient(135deg, #060d1f 0%, #08080e 50%, #0a1230 100%);
  border-top: 1px solid rgba(80, 160, 255, 0.15);
  border-bottom: 1px solid rgba(80, 160, 255, 0.15);
}

.section-opaque--v3 .blob {
  background: radial-gradient(circle,
    rgba(80, 160, 255, 0.25), transparent 70%);
}
Variação 4 — Emerald Dark Gradiente esmeralda com blob verde
// variação 4 — emerald dark

Título da Seção

Seção opaca com gradiente esmeralda. O blob verde combina com o verde vibrante da paleta.

Ver código
/* Variação 4: Emerald Dark */
.section-opaque--v4 {
  position: relative;
  overflow: hidden;
  padding: 3.5rem 1.5rem 4rem;
  background: linear-gradient(135deg, #071a0e 0%, #08080e 50%, #0a2012 100%);
  border-top: 1px solid rgba(99, 208, 89, 0.15);
  border-bottom: 1px solid rgba(99, 208, 89, 0.15);
}

.section-opaque--v4 .blob {
  background: radial-gradient(circle,
    rgba(99, 208, 89, 0.25), transparent 70%);
}
Variação 5 — Warm Charcoal + Amber Gradiente carvão quente com blob âmbar
// variação 5 — warm charcoal + amber

Título da Seção

Seção opaca com gradiente carvão quente. O blob âmbar cria calor e aconchego, ideal para social proof.

Ver código
/* Variação 5: Warm Charcoal + Amber */
.section-opaque--v5 {
  position: relative;
  overflow: hidden;
  padding: 3.5rem 1.5rem 4rem;
  background: linear-gradient(135deg, #1a1408 0%, #08080e 50%, #201a0a 100%);
  border-top: 1px solid rgba(255, 184, 1, 0.15);
  border-bottom: 1px solid rgba(255, 184, 1, 0.15);
}

.section-opaque--v5 .blob {
  background: radial-gradient(circle,
    rgba(255, 184, 1, 0.2), transparent 70%);
}

Anatomia da Seção Opaca

1
Gradiente diagonal 135° linear-gradient(135deg, [cor-escura] 0%, #08080e 50%, [cor-escura] 100%) — a cor central é sempre o preto base da página
2
Bordas top + bottom 1px solid rgba([cor], 0.15) — linhas sutis que demarcam a transição entre seções
3
Blob interno difuso radial-gradient com filter: blur(80px), opacity: 0.4, posicionado centralmente — tinge a seção sem dominar
4
Conteúdo em z-index: 1 Todo o conteúdo da seção (texto, cards, marquees) vive acima do blob interno

Regras de Uso

Alternating Sections Rules
Sempre alterne: transparente → opaca → transparente

Nunca coloque duas seções opacas seguidas. O ritmo de alternância é obrigatório para manter a respiração visual.

Varie as cores entre seções opacas

Não repita a mesma variação em seções opacas consecutivas. Use variações diferentes para criar diversidade visual ao longo da página.

Hero e Footer são sempre transparentes

A primeira e última seção da página são sempre transparentes, com os blobs e grid visíveis, para manter a imersão atmosférica nos extremos.

Não invente gradientes fora da paleta

Use apenas as 5 variações definidas: Deep Teal, Royal Purple, Midnight Blue, Emerald Dark e Warm Charcoal + Amber. Cada uma foi calibrada para harmonizar com #08080e.

Não aumente a opacidade do blob interno

O blob opera em opacity: 0.4 com blur(80px). Aumentar a opacidade torna a seção pesada e quebra a sutileza da identidade.

Ver código
/* ── Estrutura HTML de seção opaca (qualquer variação) ── */
<section class="section-opaque section-opaque--v[1-5]">
  <!-- Efeitos de fundo -->
  <div class="bg-effects" aria-hidden="true">
    <div class="blob"></div>
  </div>

  <!-- Conteúdo -->
  <div class="container">
    <h2>Título</h2>
    <p>Conteúdo aqui...</p>
  </div>
</section>

/* ── CSS compartilhado entre todas as variações ── */
.section-opaque {
  position: relative;
  overflow: hidden;
  padding: 3.5rem 1.5rem 4rem;
}

.section-opaque .bg-effects {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

.section-opaque .blob {
  position: absolute;
  width: 50%;
  height: 120%;
  top: -10%;
  left: 25%;
  border-radius: 50%;
  filter: blur(80px);
  opacity: 0.4;
}

.section-opaque .container {
  position: relative;
  z-index: 1;
}

/* ── As 5 variações ── */

/* V1: Deep Teal */
.section-opaque--v1 {
  background: linear-gradient(135deg, #041f1e 0%, #08080e 50%, #0a2a28 100%);
  border-top: 1px solid rgba(0, 229, 204, 0.15);
  border-bottom: 1px solid rgba(0, 229, 204, 0.15);
}
.section-opaque--v1 .blob {
  background: radial-gradient(circle, rgba(0,229,204,0.3), transparent 70%);
}

/* V2: Royal Purple */
.section-opaque--v2 {
  background: linear-gradient(135deg, #1a0a2e 0%, #08080e 50%, #1e0e35 100%);
  border-top: 1px solid rgba(153, 69, 255, 0.15);
  border-bottom: 1px solid rgba(153, 69, 255, 0.15);
}
.section-opaque--v2 .blob {
  background: radial-gradient(circle, rgba(153,69,255,0.3), transparent 70%);
}

/* V3: Midnight Blue */
.section-opaque--v3 {
  background: linear-gradient(135deg, #060d1f 0%, #08080e 50%, #0a1230 100%);
  border-top: 1px solid rgba(80, 160, 255, 0.15);
  border-bottom: 1px solid rgba(80, 160, 255, 0.15);
}
.section-opaque--v3 .blob {
  background: radial-gradient(circle, rgba(80,160,255,0.25), transparent 70%);
}

/* V4: Emerald Dark */
.section-opaque--v4 {
  background: linear-gradient(135deg, #071a0e 0%, #08080e 50%, #0a2012 100%);
  border-top: 1px solid rgba(99, 208, 89, 0.15);
  border-bottom: 1px solid rgba(99, 208, 89, 0.15);
}
.section-opaque--v4 .blob {
  background: radial-gradient(circle, rgba(99,208,89,0.25), transparent 70%);
}

/* V5: Warm Charcoal + Amber */
.section-opaque--v5 {
  background: linear-gradient(135deg, #1a1408 0%, #08080e 50%, #201a0a 100%);
  border-top: 1px solid rgba(255, 184, 1, 0.15);
  border-bottom: 1px solid rgba(255, 184, 1, 0.15);
}
.section-opaque--v5 .blob {
  background: radial-gradient(circle, rgba(255,184,1,0.2), transparent 70%);
}

Referência Rápida

Variação Cor Temática Gradiente Borda Blob
V1 — Deep Teal #00E5CC #041f1e → #08080e → #0a2a28 rgba(0,229,204, 0.15) rgba(0,229,204, 0.3)
V2 — Royal Purple #9945FF #1a0a2e → #08080e → #1e0e35 rgba(153,69,255, 0.15) rgba(153,69,255, 0.3)
V3 — Midnight Blue #50A0FF #060d1f → #08080e → #0a1230 rgba(80,160,255, 0.15) rgba(80,160,255, 0.25)
V4 — Emerald Dark #63D059 #071a0e → #08080e → #0a2012 rgba(99,208,89, 0.15) rgba(99,208,89, 0.25)
V5 — Warm Charcoal #FFB801 #1a1408 → #08080e → #201a0a rgba(255,184,1, 0.15) rgba(255,184,1, 0.2)

Barra de Progresso

A barra de progresso de leitura fica fixa no topo da página e indica quanto o usuário percorreu do Brand Book. É um elemento funcional e expressivo — carrega toda a paleta da marca em um único traço.

Progress Bar Barra de progresso com gradiente e dot animado
72%
Ver código
/* Progress bar container */
.pb-showcase__bar-container {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: color-mix(in srgb, var(--c-blue) 8%, transparent);
}

/* Progress bar fill — brand gradient */
.pb-showcase__bar {
  height: 100%;
  background: linear-gradient(90deg,
    var(--c-blue),
    var(--c-purple),
    #C49AFF,
    var(--c-green)
  );
  background-size: 200% 100%;
  animation: progress-shimmer 3s linear infinite;
  border-radius: 0 2px 2px 0;
  box-shadow:
    0 0 12px rgba(175, 109, 255, 0.55),
    0 0 4px rgba(0, 88, 212, 0.4);
}

@keyframes progress-shimmer {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* Leading dot */
.pb-showcase__dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: radial-gradient(circle,
    rgba(255,255,255,0.9) 0%, var(--c-purple) 60%);
  box-shadow:
    0 0 12px 4px rgba(175, 109, 255, 0.85),
    0 0 24px 8px rgba(175, 109, 255, 0.35);
}

Anatomia do componente

1
Gradiente linear 4 cores
2
Shimmer animado (3s loop)
3
Glow radial (roxo + azul)
4
Ponto de progresso com halo
Altura
3px
Position
fixed; top: 0; left: 0
z-index
9999
Transição
width 80ms linear
Animação
progress-shimmer 3s linear ∞
will-change
width

Gradiente da marca

Gradient Stops 4 color stops do gradiente da barra
--c-blue #0058D4 0%
--c-purple #AF6DFF 33%
purple-light #C49AFF 66%
--c-green #63D059 100%
global.css
.scroll-progress {
  position: fixed;
  top: 0; left: 0;
  height: 3px;
  width: 0%;
  background: linear-gradient(
    90deg,
    var(--c-blue),
    var(--c-purple),
    #C49AFF,
    var(--c-green)
  );
  background-size: 200% 100%;
  animation: progress-shimmer 3s linear infinite;
  z-index: 9999;
  box-shadow:
    0 0 12px rgba(175, 109, 255, 0.55),
    0 0 4px  rgba(0, 88, 212, 0.4);
}
Ver código
/* Gradient color stops */
/* Stop 1: 0%   — var(--c-blue)    #0058D4 */
/* Stop 2: 40%  — var(--c-purple)  #AF6DFF */
/* Stop 3: 70%  — #C49AFF          lavender blend */
/* Stop 4: 100% — var(--c-green)   #63D059 */

background: linear-gradient(90deg,
  var(--c-blue) 0%,
  var(--c-purple) 40%,
  #C49AFF 70%,
  var(--c-green) 100%
);

Ponto de progresso

Progress Dot Anatomy Core, halo e glow do dot
Pseudoelemento ::after
Elemento .scroll-progress::after
Tamanho 8 × 8px
Posição right: -3px; top: 50%
Background radial-gradient(white → roxo)
Glow interno 0 0 12px 4px rgba(175,109,255,0.85)
Glow externo 0 0 24px 8px rgba(175,109,255,0.35)
Ver código
/* Dot core */
.pb-dot-core {
  width: 9px; height: 9px;
  border-radius: 50%;
  background: white;
}

/* Inner halo */
.pb-dot-halo {
  width: 20px; height: 20px;
  border-radius: 50%;
  background: radial-gradient(circle,
    color-mix(in srgb, var(--c-purple) 40%, transparent) 0%,
    transparent 70%);
}

/* Outer halo */
.pb-dot-halo--outer {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: radial-gradient(circle,
    color-mix(in srgb, var(--c-purple) 15%, transparent) 0%,
    transparent 70%);
}

/* Glow shadow */
box-shadow:
  0 0 6px 2px rgba(255,255,255, 0.5),
  0 0 16px 4px color-mix(in srgb, var(--c-purple) 40%, transparent);
scroll-spy.js — atualização da largura
const bar = document.getElementById('scrollProgress');
window.addEventListener('scroll', () => {
  const scrolled = window.scrollY;
  const total = document.body.scrollHeight - window.innerHeight;
  const pct = total > 0 ? (scrolled / total) * 100 : 0;
  bar.style.width = pct + '%';
}, { passive: true });