/* =====================================================================
   Design system OSCEOC
   1 Tokens · 2 Base · 3 Componentes · 4 Site público · 5 Login/painel · 6 CMS
   Documentação: docs/design-system.md
   ===================================================================== */

/* Glacial Indifference não está no Google Fonts: coloque os arquivos em
   static/fonts/ (veja static/fonts/LEIAME.md). Sem eles, usa a Jost, parecida. */
@font-face {
  font-family: "Glacial Indifference";
  src: url("../fonts/GlacialIndifference-Regular.woff2") format("woff2");
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Glacial Indifference";
  src: url("../fonts/GlacialIndifference-Bold.woff2") format("woff2");
  font-weight: 700;
  font-display: swap;
}

/* ---------- 1. TOKENS ---------- */
:root {
  /* Marca */
  --indigo: #45478D;
  --indigo-claro: #5b5da8;
  --indigo-escuro: #36386f;
  --indigo-noite: #26274a;
  --laranja: #EF8C41;
  --laranja-claro: #f5a866;
  --laranja-escuro: #d97a2e;
  --laranja-botao: #bf5e0e; /* laranja com contraste AA para texto branco (botões de doação) */
  --laranja-texto: #b25a14; /* laranja legível em texto pequeno (contraste AA) */
  --dourado: #F9CC38;
  --dourado-claro: #fbd968;
  --dourado-escuro: #e0b420;
  --areia: #FBF6EE;
  --creme: #FDFDFD;

  /* Superfícies e texto */
  --fundo: var(--creme);
  --superficie: #ffffff;
  --texto: #2a2b52;
  --texto-suave: #64668c;
  --texto-inverso: #ffffff;
  --borda: #e7e3f1;
  --borda-forte: #b9b8d3;

  /* Feedback */
  --sucesso: #2e7d32;   --sucesso-fundo: #eaf6ec;
  --erro: #a3261b;      --erro-fundo: #fdecea;
  --alerta-fundo: #fff4d6; --alerta-texto: #7a5a00;
  --info-fundo: #eeeefb;

  /* Tipografia */
  --fonte-titulo: "Glacial Indifference", "Jost", "Trebuchet MS", "Helvetica Neue", Arial, sans-serif;
  --fonte-corpo: "Lustria", Georgia, "Times New Roman", serif;
  --t-xs: .8rem;  --t-sm: .9rem;  --t-base: 1.125rem;  --t-lg: 1.25rem;
  --t-xl: 1.6rem; --t-2xl: 2.2rem; --t-3xl: clamp(2.4rem, 5.2vw, 3.7rem);

  /* Espaçamento (escala de 4 pontos) */
  --e1: .25rem; --e2: .5rem; --e3: .75rem; --e4: 1rem; --e5: 1.5rem; --e6: 2rem; --e7: 3rem; --e8: 4.5rem;

  /* Formas */
  --raio-s: .5rem; --raio-m: 1rem; --raio-g: 1.5rem; --raio-xg: 2rem; --raio-pill: 999px;

  /* Elevação */
  --sombra-1: 0 1px 2px rgba(38, 39, 74, .06), 0 2px 8px rgba(38, 39, 74, .06);
  --sombra-2: 0 8px 24px rgba(38, 39, 74, .10);
  --sombra-3: 0 18px 44px rgba(38, 39, 74, .18);

  /* Movimento */
  --ease: cubic-bezier(.2, .7, .2, 1);
  --ease-entrada: cubic-bezier(.22, 1, .36, 1); /* easing do ScrollReveal/entrada de página */
  --dur: .25s;

  /* Zigue-zague decorativo (padrão da marca) */
  --zig: 16px;
}

/* ---------- 2. BASE ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 5rem; }
body {
  margin: 0;
  background: var(--fundo);
  color: var(--texto);
  font-family: var(--fonte-corpo);
  font-size: var(--t-base);
  line-height: 1.7;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }

h1, h2, h3, h4, .marca__nome, .menu, .botao, .etiqueta, label, .sobretitulo, th {
  font-family: var(--fonte-titulo);
}
h1 { font-size: var(--t-2xl); line-height: 1.12; color: var(--indigo); margin: 0 0 var(--e4); letter-spacing: -.015em; text-wrap: balance; }
h2 { font-size: clamp(1.55rem, 2.6vw, 1.95rem); line-height: 1.2; color: var(--indigo); margin: var(--e7) 0 var(--e3); letter-spacing: -.01em; text-wrap: balance; }
h3 { font-size: 1.15rem; line-height: 1.25; color: var(--indigo-escuro); margin: 0 0 var(--e1); }
p { margin: 0 0 var(--e4); text-wrap: pretty; }

a { color: var(--indigo); text-underline-offset: .18em; transition: color var(--dur) var(--ease); }
a:hover { color: var(--laranja-texto); }
:focus-visible { outline: 3px solid var(--dourado); outline-offset: 3px; border-radius: 4px; }
::selection { background: var(--laranja); color: #fff; }

.container { width: 100%; max-width: 70rem; margin: 0 auto; padding: 0 var(--e4); }
.conteudo { flex: 1; padding-top: var(--e6); padding-bottom: var(--e8); }
.muted { color: var(--texto-suave); }
.centro { text-align: center; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

/* ---------- 2b. EFEITOS (glass, glow, gradientes, decoração) ---------- */
/* Vidro fosco: navbar e cartões translúcidos sobre foto/gradiente. */
.glass { background: rgba(253, 253, 253, .7); backdrop-filter: blur(14px) saturate(1.4); -webkit-backdrop-filter: blur(14px) saturate(1.4); }
.glass-dark { background: rgba(69, 71, 141, .85); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
/* Combinado com .cartao (que já define um fundo sólido): garante que o vidro vença. */
.cartao.glass { background: rgba(253, 253, 253, .7); }
.cartao.glass-dark { background: rgba(69, 71, 141, .85); }

/* Brilhos suaves, para dar destaque a um botão ou selo sem pesar. */
.sun-glow { box-shadow: 0 0 60px -10px rgba(239, 140, 65, .5); }
.gold-glow { box-shadow: 0 0 40px -8px rgba(249, 204, 56, .6); }

/* Gradientes da marca. */
.gradient-warm { background: linear-gradient(135deg, var(--laranja) 0%, var(--dourado) 100%); }
.gradient-indigo { background: linear-gradient(135deg, var(--indigo) 0%, var(--indigo-claro) 100%); }

/* Par de círculos desfocados (sol + ouro): a decoração por trás de todo cabeçalho escuro do site. */
.decor-circulos { position: relative; isolation: isolate; overflow: hidden; }
.decor-circulos::before, .decor-circulos::after {
  content: ""; position: absolute; z-index: -1; border-radius: 50%; filter: blur(70px); pointer-events: none;
}
.decor-circulos::before { width: 22rem; height: 22rem; right: -6rem; top: -9rem; background: rgba(239, 140, 65, .18); }
.decor-circulos::after { width: 18rem; height: 18rem; left: -6rem; bottom: -8rem; background: rgba(249, 204, 56, .12); }

/* Flutuação sutil, só para elementos decorativos (ícones, símbolos). */
@keyframes float-slow { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.float-slow { animation: float-slow 8s ease-in-out infinite; }

/* ---------- 3. COMPONENTES ---------- */

/* Faixa de listras diagonais e zigue-zague (padrões da marca: usar com moderação) */
.faixa {
  height: 8px;
  background: repeating-linear-gradient(-45deg, var(--laranja) 0 10px, var(--dourado) 10px 20px, var(--indigo) 20px 30px);
}
.faixa--curta { width: 5rem; height: 6px; border-radius: 3px; }
.zigzag {
  height: var(--zig);
  background:
    linear-gradient(135deg, var(--zig-cor, var(--indigo-noite)) 25%, transparent 25%) calc(var(--zig) / -2) 0,
    linear-gradient(225deg, var(--zig-cor, var(--indigo-noite)) 25%, transparent 25%) calc(var(--zig) / -2) 0;
  background-size: var(--zig) var(--zig);
}

/* Botões */
.botao, .botao-link, .previa-botao { transition: background var(--dur) var(--ease), color var(--dur) var(--ease), transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease); }
.botao {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  margin-top: var(--e5);
  font-size: 1.05rem; font-weight: 700; line-height: 1.2;
  color: #fff; background: var(--indigo);
  border: 2px solid transparent; border-radius: var(--raio-pill);
  padding: .8rem 1.6rem;
  cursor: pointer; text-decoration: none;
  box-shadow: var(--sombra-1);
}
.botao:hover { background: var(--indigo-escuro); color: #fff; transform: translateY(-2px); box-shadow: var(--sombra-2); }
.botao--doe { background: var(--laranja-botao); }
.botao--doe:hover { background: #a34e0a; box-shadow: 0 0 60px -10px rgba(239, 140, 65, .5); }
.botao:active { transform: translateY(0); }
.botao--ouro { background: var(--dourado); color: var(--indigo-noite); }
.botao--ouro:hover { background: #fff; color: var(--indigo); box-shadow: 0 0 40px -8px rgba(249, 204, 56, .6); }
.botao--sec { background: transparent; color: var(--indigo); border-color: var(--indigo); box-shadow: none; margin-top: var(--e2); }
.botao--sec:hover { background: var(--indigo); color: #fff; }
.botao:disabled { opacity: .5; cursor: not-allowed; transform: none; box-shadow: none; }
a.botao { text-decoration: none; }

.botao-link { font: inherit; font-family: var(--fonte-titulo); background: none; border: 0; padding: 0; color: var(--indigo); text-decoration: underline; text-underline-offset: .2em; cursor: pointer; }
.botao-link:hover { color: var(--laranja-texto); }
.botao-link--destaque { font-weight: 700; }
.perigo, .botao-link.perigo { color: var(--erro); }

/* Cartões */
.cartao {
  background: var(--superficie);
  border: 1px solid var(--borda);
  border-radius: var(--raio-g);
  padding: var(--e5) 1.75rem;
  box-shadow: var(--sombra-1);
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
a.cartao:hover, .grade > .cartao:hover, .grade > .nivel:hover { transform: translateY(-3px); box-shadow: var(--sombra-2); }
.cartao h2, .cartao h3 { margin-top: 0; }
.cartao p:last-child { margin-bottom: 0; }
.cartao--form { max-width: 28rem; }
.cartao--larga { max-width: 38rem; }

.grade { display: grid; gap: var(--e5); margin: var(--e4) 0 var(--e6); }
.grade--2 { grid-template-columns: repeat(auto-fill, minmax(19rem, 1fr)); }
.grade--3 { grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); }
.grade--niveis { grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); }

/* Selos e etiquetas */
.etiqueta {
  display: inline-block; font-size: var(--t-xs); font-weight: 700; letter-spacing: .02em;
  background: var(--indigo); color: #fff; border-radius: var(--raio-pill); padding: .15rem .75rem; margin-right: var(--e1);
}
.etiqueta--suave { background: var(--alerta-fundo); color: var(--alerta-texto); }
.etiqueta--alerta { background: var(--laranja-escuro); color: #fff; }
.etiqueta--ok { background: var(--sucesso); color: #fff; }

/* Avisos */
.aviso { padding: var(--e3) var(--e4); border-radius: var(--raio-m); background: var(--info-fundo); border-left: 5px solid var(--indigo); margin-bottom: var(--e4); }
.aviso--error { background: var(--erro-fundo); border-left-color: var(--erro); color: #7a1b13; }
.aviso--success { background: var(--sucesso-fundo); border-left-color: var(--sucesso); color: #1f5a23; }
.aviso ul { margin: .4rem 0 0 1.2rem; padding: 0; }

/* Formulários */
label { display: block; font-weight: 700; margin: var(--e4) 0 .3rem; color: var(--indigo); font-size: .98rem; }
input[type=email], input[type=password], input[type=text], input[type=number], input[type=search], input[type=tel], input[type=date], select, textarea {
  width: 100%; font: inherit; color: var(--texto); background: #fff;
  padding: .7rem .9rem; border: 1.5px solid var(--borda-forte); border-radius: var(--raio-s);
  transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
input:hover, select:hover, textarea:hover { border-color: var(--indigo-claro); }
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--indigo); box-shadow: 0 0 0 4px rgba(69, 71, 141, .16); }
input[type=file] { font: inherit; max-width: 100%; }
input[type=checkbox] { accent-color: var(--indigo); width: 1.1rem; height: 1.1rem; }
.ajuda { font-size: var(--t-sm); color: var(--texto-suave); margin-top: .3rem; }
.ajuda ul { margin: .25rem 0 0 1.1rem; padding: 0; }
.erro-campo { color: var(--erro); margin: .3rem 0 0; font-size: var(--t-sm); }
.campo-check { display: flex; gap: .6rem; align-items: flex-start; margin-top: var(--e4); }
.campo-check input { margin-top: .3rem; flex: none; }
.campo-check label { margin: 0; font-weight: 400; color: var(--texto); font-family: var(--fonte-corpo); }
.armadilha { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Tabelas */
.tabela-rolagem { overflow-x: auto; margin-bottom: var(--e6); border-radius: var(--raio-m); box-shadow: var(--sombra-1); border: 1px solid var(--borda); background: #fff; }
.tabela { border-collapse: collapse; width: 100%; min-width: 30rem; }
.tabela th, .tabela td { text-align: left; padding: .8rem 1rem; border-bottom: 1px solid var(--borda); vertical-align: top; }
.tabela tbody tr:last-child > * { border-bottom: 0; }
.tabela tbody tr:hover { background: var(--areia); }
.tabela thead th { background: var(--indigo); color: #fff; font-size: var(--t-sm); letter-spacing: .03em; }
.tabela--painel { min-width: 40rem; }
.tabela--painel th[scope=row] { color: var(--indigo); }

/* Dados em lista (chave/valor) */
.dados { display: grid; gap: var(--e3) var(--e6); grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); margin: var(--e4) 0; }
.dados dt { font-family: var(--fonte-titulo); font-weight: 700; color: var(--laranja-texto); font-size: var(--t-xs); text-transform: uppercase; letter-spacing: .08em; }
.dados dd { margin: 0; word-break: break-word; }

/* Texto rico vindo do CMS */
.texto { max-width: 46rem; }
.texto > :first-child { margin-top: 0; }
.texto h1, .texto h2 { font-family: var(--fonte-titulo); color: var(--indigo); font-size: var(--t-xl); margin: var(--e5) 0 var(--e2); }
.texto blockquote { margin: var(--e4) 0; padding: var(--e2) var(--e4); border-left: 4px solid var(--laranja); background: var(--areia); border-radius: 0 var(--raio-s) var(--raio-s) 0; color: var(--texto-suave); }
.texto ul, .texto ol { padding-left: 1.4rem; }
.texto a { text-decoration-thickness: 2px; }

/* Animação de entrada ao rolar (fade-up); só ativa com JavaScript */
.js .revelar { opacity: 0; transform: translateY(24px); transition: opacity .7s var(--ease-entrada), transform .7s var(--ease-entrada); transition-delay: var(--atraso, 0s); }
.js .revelar.visivel { opacity: 1; transform: none; }

/* ---------- 4. SITE PÚBLICO ---------- */
.pular { position: absolute; left: -999px; top: 0; background: var(--dourado); color: var(--indigo-noite); padding: .6rem 1rem; z-index: 100; font-family: var(--fonte-titulo); font-weight: 700; border-radius: 0 0 var(--raio-s) 0; }
.pular:focus { left: 0; }

/* Marca */
.marca { display: inline-flex; align-items: center; gap: .75rem; }
.marca__logo { height: 3rem; width: auto; display: block; }
.marca__texto { display: inline-flex; flex-direction: column; line-height: 1.15; }
.marca__nome { font-size: 1.5rem; font-weight: 700; color: var(--indigo); letter-spacing: .05em; }
.marca__sub { font-size: .74rem; color: var(--laranja-texto); font-family: var(--fonte-corpo); }

/* Topo e menu */
.topo { border-bottom: 1px solid rgba(69, 71, 141, .08); position: sticky; top: 0; z-index: 40; }
.topo:not(.topo--painel) { background: rgba(253, 253, 253, .7); backdrop-filter: blur(14px) saturate(1.4); -webkit-backdrop-filter: blur(14px) saturate(1.4); }
.topo .container { max-width: 84rem; }
.topo__linha { display: flex; align-items: center; justify-content: space-between; gap: var(--e4); min-height: 4.75rem; }
.topo__marca { text-decoration: none; }
.menu { display: flex; flex-wrap: wrap; align-items: center; gap: .15rem .35rem; }
.menu a, .menu button {
  font-family: var(--fonte-titulo); font-size: .95rem; font-weight: 500; color: var(--indigo);
  text-decoration: none; padding: .45rem .7rem; white-space: nowrap; border-radius: var(--raio-pill);
  background: none; border: 0; cursor: pointer;
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease);
}
.menu a:hover, .menu button:hover { background: var(--areia); color: var(--laranja-texto); }
.menu a[aria-current="page"] { background: var(--info-fundo); font-weight: 700; }
.menu .menu__cta { background: var(--laranja-botao); color: #fff; font-weight: 700; margin-left: var(--e2); box-shadow: var(--sombra-1); }
.menu .menu__cta:hover { background: #a34e0a; color: #fff; }
.form-sair { margin: 0; }
.menu-toggle, .menu-botao { display: none; }

@media (max-width: 80rem) {
  .topo__linha { flex-wrap: wrap; padding-top: .4rem; padding-bottom: .4rem; }
  .menu-botao { display: flex; flex-direction: column; gap: 5px; padding: .7rem; cursor: pointer; margin-left: auto; border-radius: var(--raio-s); }
  .menu-botao span { width: 26px; height: 3px; background: var(--indigo); border-radius: 2px; transition: transform var(--dur) var(--ease), opacity var(--dur); }
  .menu-toggle:checked ~ .menu-botao span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
  .menu-toggle:checked ~ .menu-botao span:nth-child(2) { opacity: 0; }
  .menu-toggle:checked ~ .menu-botao span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
  .menu { display: none; flex-direction: column; align-items: stretch; width: 100%; padding: var(--e2) 0 var(--e3); gap: .1rem; }
  .menu a { padding: .7rem 1rem; }
  .menu .menu__cta { margin: var(--e2) 0 0; text-align: center; }
  .menu-toggle:checked ~ .menu { display: flex; }
  /* O topo fica preso no alto da tela: o menu aberto rola sozinho quando é maior que a tela do celular */
  .topo:not(.topo--painel) .menu-toggle:checked ~ .menu { max-height: calc(100dvh - 4.75rem); overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
  .menu-toggle:focus-visible ~ .menu-botao { outline: 3px solid var(--dourado); }
}

/* Cabeçalho das páginas internas (PageHeader): gradiente índigo + dois círculos desfocados + migalhas de pão */
.pagina-topo {
  position: relative; isolation: isolate; overflow: hidden; color: #fff;
  background: linear-gradient(135deg, var(--indigo) 0%, var(--indigo-escuro) 100%);
}
.pagina-topo::before, .pagina-topo::after { content: ""; position: absolute; border-radius: 50%; filter: blur(70px); pointer-events: none; }
.pagina-topo::before { width: 24rem; height: 24rem; right: -7rem; top: -12rem; background: rgba(239, 140, 65, .2); }
.pagina-topo::after { width: 20rem; height: 20rem; left: -6rem; bottom: -10rem; background: rgba(249, 204, 56, .13); }
.pagina-topo__interno { position: relative; z-index: 1; padding-top: var(--e5); padding-bottom: var(--e6); animation: entrada .7s var(--ease-entrada) both; }
.pagina-topo h1 { color: #fff; font-size: clamp(2rem, 4.2vw, 3rem); margin: var(--e3) 0 0; max-width: 42rem; }
.pagina-topo__sub { color: rgba(255, 255, 255, .78); font-size: var(--t-lg); max-width: 42rem; margin: var(--e3) 0 0; }
.migalhas { display: flex; flex-wrap: wrap; gap: .1rem .5rem; align-items: center; font-family: var(--fonte-titulo); font-size: .88rem; color: var(--texto-suave); }
.migalhas a { color: var(--texto-suave); text-decoration: none; }
.migalhas a:hover { color: var(--laranja-texto); text-decoration: underline; }
.migalhas [aria-current] { color: var(--indigo); font-weight: 700; }
.pagina-topo .migalhas, .pagina-topo .migalhas a { color: rgba(255, 255, 255, .6); }
.pagina-topo .migalhas a:hover { color: #fff; }
.pagina-topo .migalhas [aria-current] { color: var(--dourado); }

.sobretitulo {
  display: inline-flex; align-items: center; gap: .65rem;
  font-weight: 700; text-transform: uppercase; letter-spacing: .14em; margin: 0 0 var(--e3); font-size: .78rem; color: var(--laranja-texto);
}
.sobretitulo::before { content: ""; width: 1.6rem; height: 2px; background: var(--laranja); flex: none; }
.sobretitulo.centro::after { content: ""; width: 1.6rem; height: 2px; background: var(--laranja); flex: none; }
.sobretitulo--claro { color: var(--dourado); }
.sobretitulo--claro::before, .sobretitulo--claro.centro::after { background: var(--dourado); }
.pagina-vazia { color: var(--texto-suave); padding: var(--e6) 0; font-style: italic; }
.pagina-topo + .conteudo { padding-top: var(--e6); }

/* Hero da página inicial */
.hero {
  position: relative; overflow: hidden; color: #fff; isolation: isolate;
  background: var(--indigo-escuro) center / cover no-repeat;
  background-image: linear-gradient(135deg, var(--indigo-noite), var(--indigo) 75%);
  padding: var(--e8) 0 6rem;
}
.hero::before { /* arcos concêntricos */
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: repeating-radial-gradient(circle at 88% 100%, transparent 0 46px, rgba(255, 255, 255, .06) 46px 48px);
}
.hero::after { /* sol se pondo */
  content: ""; position: absolute; z-index: -1; pointer-events: none; width: 34rem; height: 34rem; right: -8rem; bottom: -14rem; border-radius: 50%;
  background: radial-gradient(circle, rgba(249, 204, 56, .55), rgba(239, 140, 65, .25) 45%, transparent 70%);
}
.hero__conteudo { max-width: 70rem; animation: entrada .7s var(--ease-entrada) both; }
.hero__logo { display: block; margin-bottom: var(--e5); filter: drop-shadow(0 6px 18px rgba(0, 0, 0, .3)); }
.hero h1 { color: #fff; font-size: var(--t-3xl); max-width: 36rem; margin-bottom: var(--e4); }
.hero__frase { font-size: var(--t-lg); max-width: 34rem; margin: 0 0 var(--e5); color: #eceaff; }
.hero__botoes { display: flex; flex-wrap: wrap; gap: var(--e3); }
.hero__botoes .botao { margin-top: 0; }
.hero .botao--sec { color: #fff; border-color: rgba(255, 255, 255, .7); }
.hero .botao--sec:hover { background: #fff; color: var(--indigo); }
.hero > .zigzag { --zig-cor: var(--fundo); position: absolute; left: 0; right: 0; bottom: -1px; }
@keyframes entrada { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }

/* Seções da Início */
.secao { padding: 4rem 0; }
.secao--curta { padding: 2.5rem 0; }
.secao--areia { background: var(--areia); }
.secao--indigo { background: linear-gradient(135deg, var(--indigo), var(--indigo-escuro)); color: #fff; position: relative; overflow: hidden; }
.secao--indigo::before { content: ""; position: absolute; inset: 0; background: repeating-radial-gradient(circle at 5% 0%, transparent 0 40px, rgba(255, 255, 255, .05) 40px 42px); pointer-events: none; }
.secao--indigo > .container { position: relative; }
.secao--indigo h2 { color: #fff; margin-top: 0; }
.secao h2:first-child { margin-top: 0; }
.chamada { max-width: 46rem; text-align: center; }
.chamada .botao { margin-top: var(--e3); }
.campanha { display: grid; gap: var(--e7); align-items: center; grid-template-columns: 1fr; }
.campanha h2 { margin-top: 0; font-size: var(--t-2xl); }
.campanha__imagem { width: 100%; border-radius: var(--raio-g); aspect-ratio: 4 / 3; object-fit: cover; box-shadow: var(--sombra-3); }
@media (min-width: 48rem) { .campanha:has(.campanha__imagem) { grid-template-columns: 1fr 1fr; } }

/* Formas de se envolver (atalhos da Início) */
.envolva { display: grid; gap: var(--e4); grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); margin-top: var(--e5); }
.envolva a {
  display: flex; flex-direction: column; gap: var(--e2); text-decoration: none; color: var(--indigo);
  background: #fff; border: 1px solid var(--borda); border-radius: var(--raio-g); padding: 1.4rem;
  box-shadow: var(--sombra-1); border-top: 5px solid var(--cor, var(--laranja));
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.envolva a:hover { transform: translateY(-4px); box-shadow: var(--sombra-2); color: var(--indigo); }
.envolva svg { width: 2.2rem; height: 2.2rem; stroke: var(--cor, var(--laranja)); fill: none; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.envolva strong { font-family: var(--fonte-titulo); font-size: 1.15rem; }
.envolva span { font-family: var(--fonte-titulo); font-size: var(--t-sm); color: var(--laranja-texto); font-weight: 700; }

.numero-destaque { display: inline-flex; align-items: baseline; gap: .6rem; font-family: var(--fonte-titulo); font-size: var(--t-lg); color: var(--indigo); background: var(--areia); border-radius: var(--raio-g); padding: .6rem 1.6rem; margin: 0 0 var(--e5); border: 1px solid var(--borda); }
.numero-destaque strong { font-size: 3.4rem; line-height: 1; color: var(--laranja-escuro); }

.galeria { list-style: none; margin: var(--e4) 0 var(--e6); padding: 0; display: grid; gap: var(--e4); grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); }
.galeria figure { margin: 0; }
.galeria img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--raio-g); display: block; box-shadow: var(--sombra-1); transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease); }
.galeria li:hover img { transform: scale(1.02); box-shadow: var(--sombra-2); }
.galeria figcaption { font-size: var(--t-sm); color: var(--texto-suave); margin-top: .5rem; }

.cartao--projeto { padding: 0 0 var(--e5); overflow: hidden; }
.cartao--projeto img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.cartao--projeto h2, .cartao--projeto p { margin-left: var(--e5); margin-right: var(--e5); }
.cartao--projeto h2 { margin-top: var(--e4); font-size: 1.3rem; }


.diretoria { list-style: none; margin: var(--e4) 0 var(--e6); padding: 0; display: grid; gap: var(--e3) var(--e5); grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); }
.diretoria li { background: #fff; border: 1px solid var(--borda); border-left: 5px solid var(--dourado); border-radius: var(--raio-m); padding: .8rem 1rem; box-shadow: var(--sombra-1); }
.diretoria strong { display: block; font-family: var(--fonte-titulo); color: var(--indigo); }
.diretoria span { color: var(--texto-suave); font-size: .95rem; }

.nivel { position: relative; }
.nivel__valor { font-family: var(--fonte-titulo); font-size: 1.8rem; font-weight: 700; color: var(--indigo); margin: .25rem 0 var(--e2); line-height: 1.1; }

.documentos { list-style: none; padding: 0; margin: var(--e4) 0 var(--e6); display: grid; gap: var(--e2); max-width: 46rem; }
.documentos li { background: #fff; border: 1px solid var(--borda); border-radius: var(--raio-m); padding: .8rem 1rem; box-shadow: var(--sombra-1); }
.documentos a { text-decoration: none; font-weight: 500; }
.doc-icone { display: inline-block; background: var(--laranja-escuro); color: #fff; font-family: var(--fonte-titulo); font-weight: 700; font-size: .7rem; padding: .2rem .5rem; border-radius: 6px; margin-right: .5rem; }

.logos { list-style: none; padding: 0; margin: var(--e5) 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: var(--e5) var(--e7); }
.logos img { max-height: 4.5rem; max-width: 10rem; width: auto; object-fit: contain; display: block; filter: grayscale(.4); opacity: .9; transition: filter var(--dur), opacity var(--dur), transform var(--dur) var(--ease); }
.logos li:hover img { filter: none; opacity: 1; transform: scale(1.05); }
.logos--grade { justify-content: flex-start; }
.logos--grade img { max-height: 6rem; max-width: 12rem; }
.logos__nome { font-family: var(--fonte-titulo); font-weight: 700; color: var(--indigo); }

.depoimento { margin: 0; position: relative; background: var(--areia); border-radius: var(--raio-g); padding: 2.2rem 1.75rem 1.5rem; box-shadow: var(--sombra-1); }
.depoimento::before { content: "“"; position: absolute; top: .35rem; left: 1.3rem; font-family: Georgia, serif; font-size: 4.5rem; line-height: 1; color: var(--laranja); opacity: .85; }
.depoimento p { margin: 0 0 var(--e4); font-style: italic; }
.depoimento footer { display: flex; align-items: center; gap: var(--e3); }
.depoimento img { width: 3.4rem; height: 3.4rem; border-radius: 50%; object-fit: cover; border: 3px solid #fff; box-shadow: var(--sombra-1); }
.depoimento cite { font-family: var(--fonte-titulo); font-weight: 700; font-style: normal; color: var(--indigo); }
.depoimento--destaque { max-width: 48rem; margin: 0 auto; font-size: 1.2rem; padding: 2.6rem 2.2rem 1.8rem; }

.contatos { list-style: none; padding: 0; margin: 0 0 var(--e4); display: grid; gap: var(--e2); }
.contatos strong { font-family: var(--fonte-titulo); color: var(--laranja-texto); margin-right: .4rem; font-size: var(--t-sm); text-transform: uppercase; letter-spacing: .06em; }

/* Rodapé */
.rodape { background: var(--indigo-noite); color: #e8e6f7; margin-top: auto; }
.rodape > .zigzag { --zig-cor: var(--fundo); transform: rotate(180deg); margin-top: -1px; }
.rodape a { color: var(--dourado); }
.rodape a:hover { color: #fff; }
.rodape p { margin: 0 0 .35rem; }
.rodape__grade { display: grid; gap: var(--e5) var(--e6); grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); padding-top: var(--e6); padding-bottom: var(--e4); font-size: .97rem; }
.rodape__titulo { font-family: var(--fonte-titulo); font-weight: 700; font-size: 1.05rem; color: var(--dourado); margin-bottom: var(--e2) !important; }
.rodape__linha { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1rem; border-top: 1px solid rgba(255, 255, 255, .15); margin-top: var(--e4); padding-top: var(--e4); padding-bottom: var(--e5); font-size: var(--t-sm); }
.muted-claro { opacity: .8; font-size: var(--t-sm); }

/* Barra de pré-visualização */
.previa-barra { position: relative; z-index: 60; background: var(--dourado); color: var(--indigo-noite); display: flex; flex-wrap: wrap; gap: .4rem 1rem; align-items: center; padding: .6rem 1rem; font-family: var(--fonte-titulo); }
.previa-barra a { color: var(--indigo-noite); font-weight: 700; }
.previa-barra form { margin: 0; }
.previa-botao { font: inherit; font-weight: 700; background: var(--indigo); color: #fff; border: 0; border-radius: var(--raio-pill); padding: .4rem 1.1rem; cursor: pointer; }
.previa-botao:hover { background: var(--indigo-noite); }

/* ---------- 5. LOGIN, ERROS E PAINEL DA EQUIPE ---------- */
.pagina-login { background: var(--areia); }
.login { flex: 1; display: grid; place-items: center; padding: var(--e6) var(--e4); }
.login .cartao { width: 100%; max-width: 27rem; box-shadow: var(--sombra-2); }
.login__marca { display: inline-block; margin-bottom: var(--e4); text-decoration: none; }
.login .botao { width: 100%; }

.login-tela { flex: 1; display: grid; grid-template-columns: 1fr; min-height: 100vh; }
.login-lado {
  position: relative; overflow: hidden; color: #fff; isolation: isolate; display: none;
  background: linear-gradient(140deg, var(--indigo-noite), var(--indigo) 80%);
  padding: var(--e8) var(--e7); align-content: center;
}
.login-lado::before { content: ""; position: absolute; inset: 0; z-index: -1; background: repeating-radial-gradient(circle at 100% 100%, transparent 0 46px, rgba(255, 255, 255, .07) 46px 48px); }
.login-lado::after { content: ""; position: absolute; z-index: -1; width: 30rem; height: 30rem; right: -10rem; bottom: -12rem; border-radius: 50%; background: radial-gradient(circle, rgba(249, 204, 56, .5), rgba(239, 140, 65, .2) 45%, transparent 70%); }
.login-lado img { width: 8rem; height: auto; margin-bottom: var(--e5); filter: drop-shadow(0 6px 18px rgba(0, 0, 0, .3)); }
.login-lado h2 { color: #fff; font-size: var(--t-2xl); margin: 0 0 var(--e3); }
.login-lado p { color: #dedcf7; max-width: 24rem; }
.login-form { display: grid; place-items: center; padding: var(--e6) var(--e4); background: var(--areia); }
.login-form .cartao { width: 100%; max-width: 26rem; box-shadow: var(--sombra-2); }
.login-form .botao { width: 100%; }
@media (min-width: 60rem) { .login-tela { grid-template-columns: 1.05fr 1fr; } .login-lado { display: grid; } }

/* Painel da equipe */
body.painel { background: #f6f4fb; }
.topo--painel { background: rgba(38, 39, 74, .9); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-bottom: 0; position: sticky; top: 0; z-index: 40; }
.topo--painel .marca__nome { color: #fff; }
.topo--painel .marca__sub { color: var(--dourado); }
.topo--painel .menu a, .topo--painel .menu button { color: #e8e6f7; }
.topo--painel .menu a:hover, .topo--painel .menu button:hover { background: rgba(255, 255, 255, .1); color: #fff; }
.topo--painel .topo__linha { min-height: 4.25rem; }
@media (max-width: 80rem) { .menu--painel { display: flex; flex-direction: row; flex-wrap: wrap; width: auto; padding-bottom: 0; } .menu--painel a { padding: .45rem .7rem; } }

.boas-vindas { background: linear-gradient(120deg, var(--indigo), var(--indigo-escuro)); color: #fff; border-radius: var(--raio-g); padding: var(--e6); margin-bottom: var(--e6); position: relative; overflow: hidden; box-shadow: var(--sombra-2); animation: entrada .7s var(--ease-entrada) both; }
.boas-vindas::before { content: ""; position: absolute; inset: 0; background: repeating-radial-gradient(circle at 105% 120%, transparent 0 30px, rgba(255, 255, 255, .07) 30px 32px); }
.boas-vindas::after { content: ""; position: absolute; width: 14rem; height: 14rem; right: -3rem; top: -7rem; border-radius: 50%; background: radial-gradient(circle, rgba(249, 204, 56, .55), transparent 70%); }
.boas-vindas > * { position: relative; z-index: 1; }
.boas-vindas h1 { color: #fff; margin: 0 0 var(--e2); }
.boas-vindas p { margin: 0; color: #e0def7; }
.boas-vindas .etiqueta { background: rgba(255, 255, 255, .18); }

.modulos { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--e4); grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); }
.modulo { display: flex; flex-direction: column; gap: .2rem; background: var(--superficie); border: 1px solid var(--borda); border-radius: var(--raio-g); padding: var(--e5); box-shadow: var(--sombra-1); transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease); }
.modulo--ativo:hover { transform: translateY(-4px); box-shadow: var(--sombra-2); }
.modulo--breve { background: rgba(255, 255, 255, .6); box-shadow: none; }
.modulo__icone { width: 3rem; height: 3rem; display: grid; place-items: center; border-radius: 14px; background: var(--info-fundo); margin-bottom: var(--e2); }
.modulo--ativo .modulo__icone { background: var(--laranja-escuro); }
.modulo__icone svg { width: 1.6rem; height: 1.6rem; stroke: var(--indigo); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.modulo--ativo .modulo__icone svg { stroke: #fff; }
.modulo h3 { margin: 0; font-size: 1.2rem; }
.modulo p { margin: 0; font-size: var(--t-sm); }
.modulo .botao-link, .modulo .etiqueta { margin-top: var(--e3); align-self: flex-start; }

/* ---------- 6. CMS ---------- */
.subnav { display: flex; flex-wrap: wrap; gap: .25rem var(--e5); border-bottom: 2px solid var(--borda); margin: -.25rem 0 var(--e5); }
.subnav a { font-family: var(--fonte-titulo); text-decoration: none; padding: .55rem 0; border-bottom: 3px solid transparent; margin-bottom: -2px; color: var(--texto-suave); font-weight: 500; }
.subnav a:hover { color: var(--indigo); }
.subnav a[aria-current="page"] { border-bottom-color: var(--laranja); color: var(--indigo); font-weight: 700; }
.migalha { margin: 0 0 var(--e2); font-size: var(--t-sm); }
form.inline { display: inline; margin: 0; }
.acoes { display: flex; flex-wrap: wrap; gap: .4rem var(--e4); align-items: center; }
.filtro { display: flex; gap: var(--e3); align-items: center; margin: var(--e4) 0; }
.filtro label { margin: 0; }
.filtro select { width: auto; }

.status-rascunho { display: flex; flex-wrap: wrap; gap: .5rem var(--e4); justify-content: space-between; align-items: center; }
.editor__secao { margin: 0 0 var(--e5); padding: var(--e5) 1.75rem; }
.editor__secao legend { font-family: var(--fonte-titulo); font-weight: 700; font-size: 1.1rem; color: #fff; background: var(--indigo); padding: .25rem 1rem; border-radius: var(--raio-pill); }
.campo { margin-bottom: 1.2rem; }
.campo > label { margin: 0 0 .25rem; }
.campo .ajuda { margin: 0 0 .35rem; }
.obrig { color: var(--erro); }
input.curto { max-width: 10rem; }

.arquivo { display: grid; gap: var(--e2); padding: var(--e3); border: 2px dashed var(--borda-forte); border-radius: var(--raio-m); background: #faf9fe; }
.arquivo__atual { display: flex; flex-wrap: wrap; gap: var(--e3) var(--e4); align-items: center; }
.arquivo__atual img, .arquivo__previa img { max-width: 14rem; max-height: 9rem; border-radius: var(--raio-s); border: 1px solid var(--borda); object-fit: contain; background: #fff; }
.arquivo__previa { display: grid; gap: .3rem; }
.check { display: inline-flex; align-items: center; gap: .4rem; margin: 0; font-weight: 400; font-family: var(--fonte-corpo); color: var(--texto); }

.lista__itens { display: grid; gap: var(--e4); margin-bottom: var(--e4); }
.item { border: 1px solid var(--borda); border-left: 5px solid var(--dourado); border-radius: var(--raio-m); padding: var(--e3) var(--e4) .2rem; background: #fcfbff; box-shadow: var(--sombra-1); }
.item__barra { display: flex; justify-content: space-between; align-items: center; gap: var(--e2); margin-bottom: var(--e3); font-family: var(--fonte-titulo); color: var(--indigo); }
.item__acoes button { font: inherit; font-size: var(--t-sm); background: #fff; border: 1px solid var(--borda-forte); border-radius: var(--raio-pill); padding: .2rem .8rem; cursor: pointer; transition: border-color var(--dur), background var(--dur); }
.item__acoes button:hover { border-color: var(--laranja); background: var(--areia); }
.item__acoes .perigo { color: var(--erro); }

.barra-acoes { position: sticky; bottom: 0; z-index: 20; display: flex; flex-wrap: wrap; gap: .5rem var(--e4); align-items: center; background: rgba(255, 255, 255, .95); backdrop-filter: blur(8px); border-top: 1px solid var(--borda); box-shadow: 0 -8px 24px rgba(38, 39, 74, .08); padding: var(--e3) var(--e4); margin: var(--e4) calc(var(--e4) * -1) 0; border-radius: var(--raio-m) var(--raio-m) 0 0; }
.barra-acoes .botao { margin-top: 0; }

.mensagem { margin-bottom: var(--e4); }
.mensagem--nova { border-left: 5px solid var(--laranja); }
.mensagem header { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: var(--e2); }
.mensagem h2 { font-size: 1.15rem; margin: 0; }

/* Editor de texto (Trix): só formatação simples */
trix-toolbar .trix-button-group.trix-button-group--file-tools,
trix-toolbar .trix-button.trix-button--icon-code,
trix-toolbar .trix-button.trix-button--icon-strike,
trix-toolbar .trix-button.trix-button--icon-increase-nesting-level,
trix-toolbar .trix-button.trix-button--icon-decrease-nesting-level { display: none !important; }
trix-editor { min-height: 10rem; background: #fff; border: 1.5px solid var(--borda-forte); border-radius: 0 0 var(--raio-s) var(--raio-s); font-family: var(--fonte-corpo); }
trix-editor:focus { border-color: var(--indigo); box-shadow: 0 0 0 4px rgba(69, 71, 141, .16); outline: none; }

/* ===== Site da Obra Social: componentes adicionais ===== */
.lead { font-size: 1.15rem; color: var(--texto); }
.texto--largo { max-width: 52rem; margin-bottom: var(--e6); }
.texto--pontos ul { list-style: none; padding: 0; margin: 0; }
.texto--pontos li { position: relative; padding-left: 1.2rem; margin: .25rem 0; }
.texto--pontos li::before { content: ""; position: absolute; left: 0; top: .7em; width: .5rem; height: .5rem; border-radius: 50%; background: var(--laranja); }
.h2-topo { margin-top: var(--e8); }
.sobretitulo + .h2-topo, .sobretitulo + h2 { margin-top: 0; }
.outras-formas + .outras-formas { margin-top: var(--e8); }
.outras-formas__texto { max-width: 48rem; margin-bottom: var(--e5); }
.outras-formas-link { margin-top: var(--e6); text-align: center; color: var(--texto-suave); }
section.secao-interna { margin: var(--e7) 0; }
.link-seta { display: inline-flex; align-items: center; gap: .4rem; font-family: var(--fonte-titulo); font-weight: 700; color: var(--laranja-texto); text-decoration: none; }
.link-seta svg { width: 1.1rem; height: 1.1rem; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform var(--dur) var(--ease); }
a:hover > .link-seta svg, .link-seta:hover svg { transform: translateX(4px); }
.botao svg { width: 1.15rem; height: 1.15rem; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.botao--pequeno { padding: .5rem 1.1rem; font-size: .95rem; margin-top: var(--e3); }
.botao--cheio { width: 100%; }
.hero .botao--sec svg { fill: currentColor; stroke: none; }

/* Menu com submenus */
.menu__grupo { position: relative; }
.menu__pai { display: inline-flex; align-items: center; gap: .3rem; font-family: var(--fonte-titulo); font-size: .95rem; font-weight: 500; color: var(--indigo); text-decoration: none; padding: .45rem .7rem; border-radius: var(--raio-pill); background: none; border: 0; cursor: pointer; white-space: nowrap; }
.menu__pai::after { content: ""; width: .4rem; height: .4rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); }
.menu__pai:hover { background: var(--areia); color: var(--laranja-texto); }
.submenu { display: none; position: absolute; left: 0; top: 100%; min-width: 15rem; padding: .5rem; background: #fff; border: 1px solid var(--borda); border-radius: var(--raio-m); box-shadow: var(--sombra-3); z-index: 60; }
.menu__grupo:hover .submenu, .menu__grupo:focus-within .submenu { display: block; }
.submenu a { display: block; border-radius: var(--raio-s); padding: .55rem .8rem; white-space: normal; }
@media (max-width: 80rem) {
  .menu__grupo { width: 100%; }
  .menu__pai { width: 100%; justify-content: space-between; padding: .7rem 1rem; }
  .menu__pai::after { display: none; }
  .submenu { display: block; position: static; box-shadow: none; border: 0; padding: 0 0 .3rem 1rem; min-width: 0; background: transparent; }
  .submenu a { padding: .5rem 1rem; font-size: .93rem; }
}

/* Divisões, bandas e cartões */
.divisao { display: grid; gap: var(--e7); align-items: center; }
.divisao__imagem { width: 100%; border-radius: var(--raio-g); aspect-ratio: 4 / 3; object-fit: cover; box-shadow: var(--sombra-3); }
@media (min-width: 52rem) {
  .divisao--com-imagem { grid-template-columns: 1fr 1fr; }
  .divisao--inversa .divisao__imagem { order: 2; }
}
.banda { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--e4) var(--e5); padding: var(--e6); border-radius: var(--raio-g); margin: var(--e6) 0; }
.banda h2, .banda h3, .banda p { margin: 0; }
.banda h2 { font-size: 1.5rem; }
.banda .botao { margin-top: 0; }
.banda--indigo { background: linear-gradient(120deg, var(--indigo), var(--indigo-escuro)); color: #fff; }
.banda--indigo h2, .banda--indigo h3 { color: #fff; }
.banda--areia { background: var(--areia); }
.banda--coluna { flex-direction: column; text-align: center; justify-content: center; }
.banda--icone { justify-content: flex-start; }
.banda--link { text-decoration: none; }
.banda--link:hover { color: #fff; box-shadow: var(--sombra-2); }
.banda--link .link-seta { color: var(--dourado); margin-left: auto; }
.aviso--suave, .aviso--warning { background: var(--areia); border-left-color: var(--laranja); color: var(--texto); }

.icone-caixa { display: inline-grid; place-items: center; width: 3rem; height: 3rem; border-radius: 14px; background: var(--info-fundo); margin-bottom: var(--e3); flex: none; }
.icone-caixa svg { width: 1.5rem; height: 1.5rem; stroke: var(--indigo); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.icone-caixa--laranja { background: #fdebd9; } .icone-caixa--laranja svg { stroke: var(--laranja-escuro); }
.icone-caixa--ouro { background: var(--dourado); } .icone-caixa--ouro svg { stroke: var(--indigo-noite); }
.icone-caixa--grande { width: 4.5rem; height: 4.5rem; border-radius: 50%; } .icone-caixa--grande svg { width: 2.3rem; height: 2.3rem; }
.banda .icone-caixa { margin-bottom: 0; }
.dado-rotulo { font-family: var(--fonte-titulo); font-weight: 700; color: var(--laranja-texto); font-size: var(--t-xs); text-transform: uppercase; letter-spacing: .08em; margin: 0 0 .2rem; }
.dado-valor { font-family: var(--fonte-titulo); font-weight: 700; color: var(--indigo); margin: 0; }
.grade--4 { grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); }
.grade--5 { grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); }
.cartao--centro { text-align: center; }
.cartao--centro .icone-caixa { margin-left: auto; margin-right: auto; }
.cartao--areia { background: var(--areia); box-shadow: none; }
.cartao--linha { display: flex; gap: var(--e4); align-items: flex-start; }
.cartao--linha .icone-caixa { margin: 0; }
.cartao--larga-texto { padding: var(--e6); }
.cartao--programa { padding: 0; overflow: hidden; text-decoration: none; color: var(--texto); display: flex; flex-direction: column; }
.cartao--programa img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.cartao__corpo { padding: var(--e4) var(--e5) var(--e5); display: flex; flex-direction: column; gap: .4rem; flex: 1; }
.cartao__corpo p { margin: 0; color: var(--texto-suave); font-size: .97rem; }
.cartao__corpo .link-seta { margin-top: auto; padding-top: var(--e2); }
.cartao--parceiro { text-align: center; }
.parceiro__logo { max-height: 5rem; max-width: 100%; width: auto; object-fit: contain; margin: 0 auto var(--e3); display: block; }
.identidade { margin-top: 0; }
.pilar--escuro { background: var(--indigo); color: #fff; border-color: var(--indigo); }
.pilar--escuro h3 { color: #fff; } .pilar--escuro .texto { color: #e6e4f7; }
.pilar--escuro .icone-caixa { background: var(--dourado); }
.capa-programa { margin: 0 0 var(--e6); padding: 0; }
.capa-programa img { width: 100%; aspect-ratio: 21 / 9; object-fit: cover; border-radius: var(--raio-g); box-shadow: var(--sombra-3); display: block; }
.conteudo > .capa-programa { margin-top: 0; }

.impacto { display: grid; gap: var(--e5); grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); margin-top: var(--e5); }
.impacto__item { background: #fff; border: 1px solid var(--borda); border-radius: var(--raio-g); padding: var(--e5); text-align: center; box-shadow: var(--sombra-1); }
.impacto__valor { font-family: var(--fonte-titulo); font-size: 2.6rem; font-weight: 700; color: var(--laranja-escuro); line-height: 1.1; }
.impacto__rotulo { font-family: var(--fonte-titulo); font-weight: 700; color: var(--indigo); margin-top: var(--e2); }
.impacto__item p { margin: .3rem 0 0; font-size: .9rem; color: var(--texto-suave); }
.pontos { list-style: none; padding: 0; display: grid; gap: .4rem; margin: var(--e4) 0; }
.pontos li { padding-left: 1.4rem; position: relative; }
.pontos li::before { content: ""; position: absolute; left: 0; top: .65em; width: .55rem; height: .55rem; border-radius: 50%; background: var(--laranja); }
.pontos strong { font-family: var(--fonte-titulo); color: var(--indigo); }

.timeline { list-style: none; margin: var(--e6) 0; padding: 0 0 0 1.5rem; border-left: 3px solid #f6d6b5; display: grid; gap: var(--e5); max-width: 40rem; }
.timeline li { position: relative; }
.timeline li::before { content: ""; position: absolute; left: calc(-1.5rem - 9px); top: .35rem; width: 15px; height: 15px; border-radius: 50%; background: var(--laranja); border: 3px solid var(--fundo); }
.timeline__ano { display: block; font-family: var(--fonte-titulo); font-weight: 700; color: var(--laranja-texto); }
.timeline strong { font-family: var(--fonte-titulo); color: var(--indigo); font-size: 1.15rem; }
.timeline p { margin: .2rem 0 0; color: var(--texto-suave); }

.refeicoes { list-style: none; padding: 0; display: grid; gap: .6rem; margin: var(--e4) 0 0; }
.refeicoes li { display: flex; align-items: center; gap: var(--e3); background: #fff; border: 1px solid var(--borda); border-radius: var(--raio-m); padding: .6rem .9rem; font-weight: 500; }
.refeicoes span { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: var(--laranja-escuro); color: #fff; font-family: var(--fonte-titulo); font-weight: 700; }
.lema { text-align: center; background: linear-gradient(135deg, #fff4d6, #fdebd9); border-radius: var(--raio-g); padding: var(--e7) var(--e5); margin-bottom: var(--e6); }
.lema__texto { font-family: var(--fonte-titulo); font-size: clamp(1.6rem, 4vw, 2.4rem); font-weight: 700; color: var(--indigo); margin: 0 0 var(--e2); }
.chips { list-style: none; padding: 0; margin: var(--e4) 0 0; display: flex; flex-wrap: wrap; gap: var(--e2); justify-content: center; }
.chips li { display: inline-flex; align-items: center; gap: .4rem; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.25); border-radius: var(--raio-pill); padding: .4rem 1rem; font-family: var(--fonte-titulo); font-weight: 700; color: var(--dourado); }
.chips svg { width: 1rem; height: 1rem; fill: currentColor; stroke: none; }
.destaque-premio { text-align: center; background: linear-gradient(135deg, #fff4d6, #fff, #fdebd9); border: 1px solid #f3dfa0; border-radius: var(--raio-g); padding: var(--e7) var(--e5); margin-bottom: var(--e6); }
.materia { max-width: 46rem; margin: var(--e6) auto; }
.depoimento small { display: block; color: var(--texto-suave); font-style: normal; }
.depoimento__inicial { display: grid; place-items: center; width: 3.4rem; height: 3.4rem; border-radius: 50%; background: linear-gradient(135deg, var(--laranja), var(--dourado)); color: #fff; font-family: var(--fonte-titulo); font-weight: 700; font-size: 1.3rem; }

/* Fotos, abas e caixas de diálogo */
.foto { position: relative; display: block; padding: 0; border: 0; background: none; cursor: zoom-in; width: 100%; border-radius: var(--raio-g); overflow: hidden; }
.foto img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; transition: transform .5s var(--ease); }
.foto:hover img { transform: scale(1.05); }
.foto__cap { position: absolute; inset: auto 0 0 0; padding: 1.4rem .8rem .6rem; background: linear-gradient(0deg, rgba(38,39,74,.85), transparent); color: #fff; font-family: var(--fonte-titulo); font-weight: 700; font-size: .9rem; text-align: left; opacity: 0; transition: opacity var(--dur); }
.foto:hover .foto__cap, .foto:focus-visible .foto__cap { opacity: 1; }
.abas { display: flex; flex-wrap: wrap; gap: var(--e2); justify-content: center; margin-bottom: var(--e5); }
.abas button { font: inherit; font-family: var(--fonte-titulo); font-weight: 700; padding: .55rem 1.3rem; border-radius: var(--raio-pill); border: 1.5px solid var(--borda-forte); background: #fff; color: var(--indigo); cursor: pointer; transition: all var(--dur); }
.abas button.ativo { background: var(--indigo); color: #fff; border-color: var(--indigo); box-shadow: var(--sombra-1); }
.dialogo { border: 0; padding: 0; background: transparent; max-width: 100vw; max-height: 100vh; width: 100vw; height: 100vh; color: #fff; }
.dialogo::backdrop { background: rgba(38, 39, 74, .93); backdrop-filter: blur(4px); }
.dialogo[open] { display: grid; place-items: center; }
.dialogo__fechar, .dialogo__nav { position: absolute; z-index: 2; width: 2.8rem; height: 2.8rem; border-radius: 50%; border: 0; background: rgba(255,255,255,.14); color: #fff; font-size: 1.6rem; cursor: pointer; display: grid; place-items: center; }
.dialogo__fechar { top: 1rem; right: 1rem; } .dialogo__nav--ant { left: .8rem; top: 50%; } .dialogo__nav--prox { right: .8rem; top: 50%; }
.dialogo__fechar:hover, .dialogo__nav:hover { background: rgba(255,255,255,.28); }
.dialogo__figura { margin: 0; max-width: min(64rem, 92vw); text-align: center; }
.dialogo__figura img { max-width: 100%; max-height: 78vh; border-radius: var(--raio-m); object-fit: contain; }
.dialogo__figura figcaption { margin-top: .6rem; font-family: var(--fonte-titulo); font-weight: 700; }
.dialogo__video { width: min(64rem, 92vw); aspect-ratio: 16 / 9; border-radius: var(--raio-m); overflow: hidden; }
.dialogo__video iframe { width: 100%; height: 100%; border: 0; }

/* Transparência: gráfico de rosca (CSS puro) */
.custos { display: grid; gap: var(--e5); grid-template-columns: 1fr; align-items: stretch; margin-bottom: var(--e6); }
@media (min-width: 52rem) { .custos { grid-template-columns: 1fr 1.2fr; } }
.custos__rosca { display: grid; place-items: center; padding: var(--e6); }
.rosca { width: min(18rem, 100%); aspect-ratio: 1; border-radius: 50%; display: grid; place-items: center; }
.rosca__miolo { width: 62%; aspect-ratio: 1; border-radius: 50%; background: #fff; display: grid; place-content: center; text-align: center; box-shadow: inset 0 0 0 1px var(--borda); }
.rosca__miolo strong { font-family: var(--fonte-titulo); font-size: 1.5rem; color: var(--indigo); line-height: 1.1; }
.rosca__miolo small { color: var(--texto-suave); }
.legenda { list-style: none; padding: 0; margin: var(--e3) 0; display: grid; gap: .6rem; }
.legenda li { display: flex; align-items: center; gap: .7rem; font-size: .95rem; }
.legenda i { width: .8rem; height: .8rem; border-radius: 50%; flex: none; }
.legenda span { flex: 1; }
.legenda strong { font-family: var(--fonte-titulo); color: var(--indigo); white-space: nowrap; }
.legenda__total { border-top: 1px solid var(--borda); padding-top: .7rem; font-weight: 700; }
.legenda__total strong { color: var(--laranja-texto); font-size: 1.1rem; }
.nota { background: #fdf3e6; border: 1px solid #f6d6b5; border-radius: var(--raio-m); padding: .8rem 1rem; font-size: .93rem; margin: var(--e4) 0 0; }

/* Formulários públicos */
.duas-colunas { display: grid; gap: var(--e6); grid-template-columns: 1fr; align-items: start; }
@media (min-width: 56rem) { .duas-colunas { grid-template-columns: 1fr 1.5fr; } .duas-colunas aside { position: sticky; top: 6rem; } }
.cartao--form { max-width: 34rem; }
.cartao--larga { max-width: 40rem; }
.duas-colunas .cartao--larga { max-width: none; }
.cartao--form textarea { resize: vertical; }
.fichas { border: 0; padding: 0; margin: var(--e4) 0 0; }
.fichas legend { font-family: var(--fonte-titulo); font-weight: 700; color: var(--indigo); font-size: .98rem; padding: 0; margin-bottom: .4rem; }
.fichas__lista { display: flex; flex-wrap: wrap; gap: var(--e2); }
.ficha { display: inline-flex; margin: 0; cursor: pointer; }
.ficha input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ficha span { display: inline-block; padding: .45rem 1rem; border-radius: var(--raio-pill); border: 1.5px solid var(--borda-forte); font-family: var(--fonte-titulo); font-weight: 700; font-size: .9rem; color: var(--texto-suave); background: #fff; transition: all var(--dur); }
.ficha:hover span { border-color: var(--laranja); }
.ficha input:checked + span { background: var(--laranja-escuro); border-color: var(--laranja-escuro); color: #fff; }
.ficha input:focus-visible + span { outline: 3px solid var(--dourado); outline-offset: 2px; }
.vagas { list-style: none; padding: 0; margin: 0; display: grid; gap: .6rem; }
.vagas li { display: flex; flex-direction: column; border: 1px solid var(--borda); border-radius: var(--raio-m); padding: .8rem 1rem; }
.mapa { margin: var(--e6) 0; border-radius: var(--raio-g); overflow: hidden; box-shadow: var(--sombra-2); border: 1px solid var(--borda); height: 24rem; }
.mapa iframe { width: 100%; height: 100%; border: 0; }
.mapa__rota { margin: calc(var(--e4) * -1) 0 var(--e6); }
a.cartao { text-decoration: none; color: var(--texto); }
a.cartao p { margin: 0; }

/* Rodapé: parceiros */
.rodape__parceiros { border-top: 1px solid rgba(255,255,255,.15); padding-top: var(--e4); }
.rodape__parceiros p:last-child { display: flex; flex-wrap: wrap; gap: .3rem 1.5rem; font-size: var(--t-sm); opacity: .8; }
.rodape .botao svg { stroke: currentColor; }

/* Doação */
.doacao { margin: 0 0 var(--e7); }
.doacao__caixa { max-width: 60rem; margin: 0 auto; padding: var(--e6); box-shadow: var(--sombra-3); }
.etapas { list-style: none; display: flex; justify-content: center; gap: var(--e2) var(--e5); padding: 0; margin: 0 0 var(--e5); flex-wrap: wrap; }
.etapas li { display: inline-flex; align-items: center; gap: .5rem; font-family: var(--fonte-titulo); font-weight: 700; color: var(--texto-suave); }
.etapas li span { display: grid; place-items: center; width: 1.8rem; height: 1.8rem; border-radius: 50%; background: var(--info-fundo); }
.etapas li.ativa { color: var(--indigo); } .etapas li.ativa span { background: var(--laranja-escuro); color: #fff; }
.etapas li.feita span { background: var(--sucesso); color: #fff; }
.alternador { display: flex; width: fit-content; margin: 0 auto var(--e5); padding: .25rem; border-radius: var(--raio-pill); background: var(--info-fundo); }
.alternador button { font: inherit; font-family: var(--fonte-titulo); font-weight: 700; padding: .55rem 1.4rem; border: 0; border-radius: var(--raio-pill); background: none; color: var(--texto-suave); cursor: pointer; transition: all var(--dur); }
.alternador button.ativo { background: var(--indigo); color: #fff; box-shadow: var(--sombra-1); }
.planos { display: grid; gap: var(--e4); grid-template-columns: repeat(auto-fit, minmax(14.5rem, 1fr)); }
.planos[hidden] { display: none; }
.plano { position: relative; display: flex; flex-direction: column; gap: .35rem; padding: 1.4rem 1.2rem 1.1rem; border: 2px solid var(--borda); border-radius: var(--raio-g); background: #fff; cursor: pointer; margin: 0; font-weight: 400; color: var(--texto); transition: all var(--dur) var(--ease); }
.plano:hover { border-color: var(--laranja); transform: translateY(-3px); box-shadow: var(--sombra-2); }
.plano input { position: absolute; opacity: 0; }
.plano:has(input:checked) { border-color: var(--laranja-escuro); background: #fff8ef; box-shadow: 0 8px 24px rgba(217, 122, 46, .22); }
.plano:has(input:focus-visible) { outline: 3px solid var(--dourado); outline-offset: 3px; }
.plano--destaque { box-shadow: 0 0 0 3px rgba(249, 204, 56, .5); }
.plano__selo { position: absolute; top: -.7rem; left: 50%; transform: translateX(-50%); background: var(--dourado); color: var(--indigo-noite); font-family: var(--fonte-titulo); font-weight: 700; font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; padding: .15rem .8rem; border-radius: var(--raio-pill); white-space: nowrap; }
.plano__check { position: absolute; top: .9rem; right: .9rem; width: 1.5rem; height: 1.5rem; border-radius: 50%; background: var(--laranja-escuro); display: none; place-items: center; }
.plano:has(input:checked) .plano__check { display: grid; }
.plano__check svg { width: .9rem; height: .9rem; stroke: #fff; fill: none; stroke-width: 3; }
.plano__nome { font-family: var(--fonte-titulo); color: var(--indigo); line-height: 1.2; padding-right: 1.8rem; }
.plano__valor { font-family: var(--fonte-titulo); font-size: 1.9rem; font-weight: 700; color: var(--laranja-escuro); line-height: 1.1; }
.plano__valor small { font-family: var(--fonte-corpo); font-size: .8rem; font-weight: 400; color: var(--texto-suave); }
.plano__desc { font-size: .88rem; color: var(--texto-suave); }
.plano__impacto { margin-top: auto; padding-top: .5rem; display: inline-flex; align-items: center; gap: .4rem; font-family: var(--fonte-titulo); font-weight: 700; font-size: .78rem; color: var(--indigo); }
.plano__impacto svg { width: .85rem; height: .85rem; fill: var(--laranja); stroke: none; }
.livre { margin-top: var(--e4); }
.livre__campo { display: flex; align-items: center; gap: .6rem; border: 2px solid var(--borda); border-radius: var(--raio-m); padding: .3rem 1rem; background: #fff; max-width: 16rem; }
.livre__campo span { font-family: var(--fonte-titulo); font-weight: 700; color: var(--indigo); }
.livre__campo input { border: 0; box-shadow: none; padding: .5rem 0; font-family: var(--fonte-titulo); font-size: 1.4rem; font-weight: 700; color: var(--laranja-escuro); }
.endereco { margin-top: var(--e4); padding: var(--e4); border-radius: var(--raio-m); background: var(--areia); }
.form-grade { display: grid; gap: var(--e3); grid-template-columns: 1fr; }
@media (min-width: 40rem) { .form-grade { grid-template-columns: 1fr 2fr 1fr; } .form-grade--2 { grid-template-columns: 1fr 1fr; } }
.resumo-plano { background: var(--info-fundo); border-radius: var(--raio-m); padding: .8rem 1rem; font-family: var(--fonte-titulo); font-weight: 700; color: var(--indigo); }
.acoes-etapa { display: flex; gap: var(--e3); flex-wrap: wrap; margin-top: var(--e4); }
.acoes-etapa .botao { margin-top: 0; }
[data-etapa] > .botao--cheio { margin-top: var(--e5); }
.erro-checkout { background: var(--erro-fundo); color: #7a1b13; border-radius: var(--raio-s); padding: .6rem .9rem; margin: var(--e3) 0 0; font-size: .95rem; }
.metodos { display: grid; gap: var(--e4); grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); margin: var(--e4) 0; }
.metodo { text-align: left; font: inherit; display: flex; flex-direction: column; gap: .3rem; padding: 1.2rem; border: 2px solid var(--borda); border-radius: var(--raio-g); background: #fff; cursor: pointer; transition: all var(--dur) var(--ease); color: var(--texto); }
.metodo:hover:not(:disabled) { border-color: var(--laranja); transform: translateY(-3px); box-shadow: var(--sombra-2); }
.metodo:disabled { opacity: .6; cursor: wait; }
.metodo.carregando { border-color: var(--indigo); }
.metodo svg { width: 1.8rem; height: 1.8rem; stroke: var(--laranja-escuro); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.metodo strong { font-family: var(--fonte-titulo); color: var(--indigo); }
.metodo span { font-size: .85rem; color: var(--texto-suave); }
.resultado { text-align: center; }
.resultado__qr { display: block; margin: var(--e4) auto; border: 1px solid var(--borda); border-radius: var(--raio-m); padding: .5rem; background: #fff; }
.copiavel { display: flex; align-items: center; gap: .6rem; background: var(--info-fundo); border-radius: var(--raio-m); padding: .5rem .5rem .5rem 1rem; margin: var(--e3) 0; }
.copiavel code { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .9rem; text-align: left; }
.copiavel__botao { display: inline-flex; align-items: center; gap: .3rem; font: inherit; font-family: var(--fonte-titulo); font-weight: 700; font-size: .85rem; border: 0; background: var(--indigo); color: #fff; border-radius: var(--raio-pill); padding: .45rem 1rem; cursor: pointer; }
.copiavel__botao svg { width: 1rem; height: 1rem; stroke: currentColor; fill: none; stroke-width: 2; }
.copiavel__botao.copiado { background: var(--sucesso); }
/* Checkout: esperando a confirmação, agradecimento e pagamento não concluído */
.espera { display: flex; align-items: center; justify-content: center; gap: .6rem; margin: var(--e4) 0 var(--e2); padding: .8rem 1rem; border-radius: var(--raio-m); background: var(--info-fundo); color: var(--indigo); font-family: var(--fonte-titulo); font-weight: 700; }
.espera::before { content: ""; flex: none; width: 1.1rem; height: 1.1rem; border-radius: 50%; border: 3px solid #c9caf0; border-top-color: var(--indigo); animation: girar 1s linear infinite; }
.espera--parada { background: var(--areia); color: var(--texto); font-family: inherit; font-weight: 400; }
.espera--parada::before { display: none; }
@keyframes girar { to { transform: rotate(360deg); } }
.agradecimento, .falha-pagamento { text-align: center; max-width: 36rem; margin: 0 auto; }
.agradecimento h2, .falha-pagamento h2 { margin: var(--e2) 0 0; }
.selo-resultado { display: grid; place-items: center; width: 4rem; height: 4rem; margin: 0 auto var(--e2); border-radius: 50%; color: #fff; }
.selo-resultado svg { width: 2.1rem; height: 2.1rem; fill: none; stroke: currentColor; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.selo-resultado--ok { background: var(--sucesso); box-shadow: 0 0 0 .5rem var(--sucesso-fundo); animation: surgir .45s var(--ease) both; }
.selo-resultado--erro { background: var(--erro); box-shadow: 0 0 0 .5rem var(--erro-fundo); }
@keyframes surgir { from { transform: scale(.4); opacity: 0; } }
.agradecimento__foto { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--raio-m); margin: var(--e4) 0; }
.agradecimento__texto { text-align: left; }
.agradecimento__texto p { margin: 0 0 var(--e2); }
p.agradecimento__texto { margin: var(--e3) 0 0; }
.redes--agradecimento { justify-content: center; margin: var(--e2) 0 var(--e4); color: var(--indigo); }
.agradecimento__nota { font-size: var(--t-sm, .9rem); margin-top: var(--e3); }
.falha-pagamento__motivo { text-align: left; margin: var(--e4) 0; padding: .8rem 1rem; border-radius: var(--raio-m); background: var(--erro-fundo); color: #7a1b13; }
@media (prefers-reduced-motion: reduce) { .espera::before, .selo-resultado--ok { animation: none; } }
.bancos { list-style: none; padding: 0; margin: 0 0 var(--e3); display: grid; gap: .4rem; }
.obrigado { text-align: center; max-width: 36rem; margin: var(--e7) auto; }
.obrigado .icone-caixa { margin-bottom: var(--e4); }

/* ===== CRM ===== */
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.painel-topo { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--e3) var(--e5); margin-bottom: var(--e4); }
.painel-topo h1 { margin: 0; }
.painel-topo .botao { margin-top: 0; }
.metricas { display: grid; gap: var(--e3); grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr)); margin: var(--e4) 0 var(--e5); }
.metrica { display: flex; flex-direction: column; gap: .2rem; background: #fff; border: 1px solid var(--borda); border-left: 5px solid var(--indigo); border-radius: var(--raio-m); padding: var(--e4) var(--e5); box-shadow: var(--sombra-1); text-decoration: none; color: var(--texto); }
.metrica__valor { font-family: var(--fonte-titulo); font-size: 2rem; font-weight: 700; color: var(--indigo); line-height: 1.1; }
.metrica__rotulo { font-size: .88rem; color: var(--texto-suave); }
.metrica--destaque { border-left-color: var(--laranja-escuro); } .metrica--destaque .metrica__valor { color: var(--laranja-escuro); }
.metrica--alerta { border-left-color: var(--erro); background: #fff8f7; } .metrica--alerta .metrica__valor { color: var(--erro); }
a.metrica:hover { box-shadow: var(--sombra-2); color: var(--texto); }
.barras { display: grid; gap: .55rem; margin-top: var(--e3); }
.barras__linha { display: grid; grid-template-columns: 9rem 1fr 2.5rem; gap: var(--e3); align-items: center; font-size: .92rem; }
.barras__trilho { height: 1.1rem; background: var(--areia); border-radius: var(--raio-pill); overflow: hidden; }
.barras__trilho i { display: block; height: 100%; border-radius: var(--raio-pill); min-width: 2px; }
.barras__linha strong { text-align: right; font-family: var(--fonte-titulo); color: var(--indigo); }
.linha-parado { margin: 0 0 .5rem; display: flex; flex-wrap: wrap; gap: .2rem .8rem; align-items: baseline; }
.pilula { display: inline-block; font-family: var(--fonte-titulo); font-weight: 700; font-size: .8rem; padding: .15rem .7rem; border-radius: var(--raio-pill); background: color-mix(in srgb, var(--cor, #5b5da8) 16%, #fff); color: var(--indigo-noite); border: 1px solid color-mix(in srgb, var(--cor, #5b5da8) 55%, #fff); }
.tag { display: inline-block; font-size: .75rem; background: var(--areia); border: 1px solid #f0e2c9; color: var(--laranja-texto); border-radius: var(--raio-pill); padding: .05rem .55rem; margin-right: .25rem; }

.barra-filtros { display: flex; flex-wrap: wrap; gap: var(--e3); align-items: center; margin: 0 0 var(--e4); }
.barra-filtros input, .barra-filtros select { width: auto; min-width: 11rem; }
.barra-filtros .alternador { margin: 0; }
.barra-filtros .botao { margin-top: 0; }

.kanban { display: flex; gap: var(--e4); overflow-x: auto; padding: var(--e2) 0 var(--e5); align-items: flex-start; scroll-snap-type: x proximity; }
.coluna { flex: 0 0 17.5rem; background: #ece9f6; border-radius: var(--raio-m); padding: var(--e2); scroll-snap-align: start; transition: box-shadow var(--dur), background var(--dur); min-height: 8rem; }
.coluna--sobre { background: #e1ddf3; box-shadow: 0 0 0 3px var(--dourado) inset; }
.coluna__topo { display: flex; justify-content: space-between; align-items: center; padding: .4rem .6rem .6rem; border-top: 4px solid var(--cor); border-radius: 4px; margin-bottom: var(--e2); }
.coluna__topo h2 { margin: 0; font-size: .98rem; color: var(--indigo-noite); }
.coluna__n { font-family: var(--fonte-titulo); font-weight: 700; font-size: .8rem; background: #fff; border-radius: var(--raio-pill); padding: .05rem .6rem; color: var(--indigo); }
.coluna__cards { display: grid; gap: var(--e2); min-height: 3rem; }
.card-crm { background: #fff; border: 1px solid var(--borda); border-radius: var(--raio-s); padding: .7rem .8rem; box-shadow: var(--sombra-1); cursor: grab; display: grid; gap: .25rem; }
.card-crm:active { cursor: grabbing; }
.card-crm--arrastando { opacity: .45; transform: rotate(-1.5deg); }
.card-crm--parado { border-left: 4px solid var(--erro); }
.card-crm__nome { font-family: var(--fonte-titulo); font-weight: 700; color: var(--indigo); text-decoration: none; word-break: break-word; }
.card-crm__linha { font-size: .85rem; }
.card-crm__rodape { display: flex; flex-wrap: wrap; gap: .25rem; align-items: center; }
.card-crm__rodape .etiqueta { font-size: .7rem; padding: .05rem .5rem; }
.card-crm__mover select { width: 100%; font-size: .8rem; padding: .25rem .4rem; margin-top: .3rem; background: #faf9fe; }

.ficha-titulo { display: flex; align-items: center; gap: var(--e4); }
.ficha-titulo h1 { margin-bottom: .3rem; }
.ficha-logo { max-height: 4rem; max-width: 8rem; object-fit: contain; border: 1px solid var(--borda); border-radius: var(--raio-s); padding: .3rem; background: #fff; }
.ficha-grade { display: grid; gap: var(--e5); grid-template-columns: 1fr; align-items: start; }
@media (min-width: 64rem) { .ficha-grade { grid-template-columns: 1.4fr 1fr; } .ficha-grade aside { position: sticky; top: 5.5rem; } }
.ficha-grade section.cartao { margin-bottom: var(--e4); }
.ficha-grade h2 { font-size: 1.15rem; margin: 0 0 var(--e3); }
.mover-etapa { display: flex; flex-wrap: wrap; gap: var(--e3); align-items: center; margin-bottom: var(--e4); }
.mover-etapa label { margin: 0; } .mover-etapa select { width: auto; } .mover-etapa .botao { margin-top: 0; }
.detalhes { margin-top: var(--e3); } .detalhes summary { cursor: pointer; font-family: var(--fonte-titulo); font-weight: 700; color: var(--indigo); }
.form-linha { display: grid; gap: var(--e3); grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); align-items: end; margin-top: var(--e3); }
.form-linha .campo { margin: 0; } .form-linha label { margin-top: 0; } .form-linha .botao { margin-top: 0; }
.form-interacao { display: grid; gap: var(--e2); margin-bottom: var(--e4); }
.linha-tempo { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--e3); max-height: 34rem; overflow-y: auto; }
.linha-tempo__item { border-left: 3px solid var(--borda-forte); padding: 0 0 0 var(--e3); font-size: .93rem; }
.linha-tempo__item--sistema { border-left-color: var(--dourado); }
.linha-tempo__item--ligacao, .linha-tempo__item--whatsapp, .linha-tempo__item--email, .linha-tempo__item--reuniao { border-left-color: var(--laranja); }
.linha-tempo__item p { margin: .2rem 0; }
.linha-tempo__tipo { font-family: var(--fonte-titulo); font-weight: 700; font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; color: var(--laranja-texto); }
.linha-tempo time { font-size: .78rem; color: var(--texto-suave); margin-left: .4rem; }
.linha-tempo strong { display: block; font-family: var(--fonte-titulo); color: var(--indigo); }
.form-colunas { display: grid; gap: 0 var(--e5); grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); }
.campo--check { align-self: end; }
.linha-etapa { display: flex; flex-wrap: wrap; gap: var(--e2) var(--e3); align-items: center; padding: var(--e2) 0; border-bottom: 1px solid var(--borda); }
.linha-etapa input[type=text], .linha-etapa select { width: auto; min-width: 9rem; }
.linha-etapa input[type=color] { width: 2.6rem; height: 2.4rem; padding: .1rem; }
.linha-etapa .botao { margin-top: 0; } .linha-etapa--nova { border-bottom: 0; padding-top: var(--e4); }
.passos { padding-left: 1.3rem; } .passos li { margin-bottom: .4rem; }
.alerta-linha { display: flex; justify-content: space-between; align-items: center; gap: var(--e4); margin-bottom: var(--e2); padding: var(--e3) var(--e4); }
.alerta-linha--nova { border-left: 5px solid var(--laranja); }
.botao:disabled { pointer-events: none; }


/* ===== Redesenho v2: primeira tela, valores rápidos, impacto, rodapé ===== */
.hero2 { position: relative; overflow: hidden; color: #fff; isolation: isolate; padding: var(--e7) 0 7rem; background: linear-gradient(135deg, var(--indigo-noite), var(--indigo) 88%); }
.hero2::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: repeating-radial-gradient(circle at 100% 100%, transparent 0 46px, rgba(255, 255, 255, .05) 46px 48px); }
.hero2::after {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(22rem 22rem at 88% 8%, rgba(239, 140, 65, .28), transparent 68%),
    radial-gradient(18rem 18rem at 4% 96%, rgba(249, 204, 56, .18), transparent 68%);
}
.hero2__grade { display: grid; gap: var(--e7); align-items: center; grid-template-columns: 1fr; }
@media (min-width: 60rem) { .hero2__grade { grid-template-columns: 1.02fr 1fr; } .hero2__grade--sem-foto { grid-template-columns: 1fr; max-width: 48rem; } }
.hero2__texto { animation: entrada .7s var(--ease-entrada) both; }
.hero2 h1 { color: #fff; font-size: clamp(2.1rem, 4.4vw, 3.4rem); line-height: 1.08; margin: 0 0 var(--e4); }
.hero2__frase { font-size: 1.2rem; color: #e6e4f7; max-width: 34rem; margin: 0 0 var(--e5); }
.hero2__botoes { display: flex; flex-wrap: wrap; gap: var(--e3) var(--e5); align-items: center; }
.hero2__botoes .botao { margin-top: 0; padding: .95rem 1.9rem; font-size: 1.1rem; }
.botao-texto { display: inline-flex; align-items: center; gap: .65rem; font: inherit; font-family: var(--fonte-titulo); font-weight: 700; color: #fff; background: none; border: 0; padding: .3rem 0; cursor: pointer; }
.botao-texto:hover { color: var(--dourado); }
.botao-texto__play { display: grid; place-items: center; width: 2.8rem; height: 2.8rem; border-radius: 50%; background: rgba(255, 255, 255, .16); transition: background var(--dur); }
.botao-texto:hover .botao-texto__play { background: rgba(255, 255, 255, .3); }
.botao-texto svg { width: 1.1rem; height: 1.1rem; fill: currentColor; stroke: none; margin-left: 2px; }
.hero2__foto { margin: 0; position: relative; isolation: isolate; animation: entrada .7s .1s var(--ease-entrada) both; }
.hero2__foto img { width: 100%; aspect-ratio: 5 / 4; object-fit: cover; border-radius: var(--raio-g); box-shadow: 0 26px 60px rgba(0, 0, 0, .38); display: block; }
.hero2__foto::before { content: ""; position: absolute; inset: 1rem -1rem -1rem 1rem; border: 3px solid var(--dourado); border-radius: var(--raio-g); z-index: -1; }
@media (max-width: 59.99rem) { .hero2__foto::before { inset: .6rem -.5rem -.6rem .5rem; } }

.rapida { position: relative; z-index: 2; margin-top: -4.5rem; }
.rapida__caixa {
  background: rgba(253, 253, 253, .88); backdrop-filter: blur(14px) saturate(1.4); -webkit-backdrop-filter: blur(14px) saturate(1.4);
  border: 1px solid rgba(255, 255, 255, .6); border-radius: var(--raio-g); box-shadow: var(--sombra-3); padding: var(--e5) var(--e5) var(--e4);
}
.rapida__cabecalho { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: .25rem var(--e5); margin-bottom: var(--e4); }
.rapida__cabecalho h2 { margin: 0; font-size: 1.45rem; }
.rapida__cabecalho p { margin: 0; color: var(--texto-suave); font-size: .97rem; }
.rapida__grade { display: grid; gap: var(--e3); grid-template-columns: repeat(auto-fit, minmax(12.5rem, 1fr)); }
.tier { position: relative; display: flex; flex-direction: column; gap: .1rem; padding: 1.15rem 1.25rem; border: 2px solid var(--borda); border-radius: var(--raio-m); text-decoration: none; color: var(--texto); background: #fff; transition: transform var(--dur) var(--ease), border-color var(--dur), box-shadow var(--dur); }
.tier:hover { border-color: var(--laranja-escuro); transform: translateY(-3px); box-shadow: var(--sombra-2); color: var(--texto); }
.tier--destaque { border-color: var(--dourado); background: #fffbeb; box-shadow: 0 0 40px -8px rgba(249, 204, 56, .6); }
.tier__selo { position: absolute; top: -.7rem; right: 1rem; background: var(--dourado); color: var(--indigo-noite); font-family: var(--fonte-titulo); font-weight: 700; font-size: .68rem; text-transform: uppercase; letter-spacing: .06em; padding: .12rem .7rem; border-radius: var(--raio-pill); }
.tier__valor { font-family: var(--fonte-titulo); font-size: 2rem; font-weight: 700; color: var(--indigo); line-height: 1.1; }
.tier__valor small { font-family: var(--fonte-corpo); font-size: .85rem; font-weight: 400; color: var(--texto-suave); margin-left: .15rem; }
.tier__dia { font-family: var(--fonte-titulo); font-weight: 700; font-size: .85rem; color: var(--laranja-texto); }
.tier__nome { font-family: var(--fonte-titulo); font-weight: 700; color: var(--indigo-escuro); margin-top: .55rem; line-height: 1.25; }
.tier__impacto { font-size: .85rem; color: var(--texto-suave); }
.rapida__rodape { margin: var(--e3) 0 0; text-align: center; font-size: .95rem; }

.faixa-impacto { padding: 3.5rem 0 1rem; }
.impacto2 { display: grid; gap: var(--e5) var(--e4); grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); }
.impacto2__item { text-align: center; padding: 0 var(--e3); }
@media (min-width: 56rem) { .impacto2__item + .impacto2__item { border-left: 1px solid var(--borda); } }
.impacto2__valor { font-family: var(--fonte-titulo); font-size: clamp(2.2rem, 4vw, 3rem); font-weight: 700; color: var(--laranja-escuro); line-height: 1.05; }
.impacto2__rotulo { font-family: var(--fonte-titulo); font-weight: 500; color: var(--indigo); margin-top: .3rem; line-height: 1.3; }
.link-seta--sec { margin-left: var(--e5); color: var(--indigo); }
.divisao .lead { max-width: 34rem; }

/* Rodapé em 4 colunas */
.rodape__grade { grid-template-columns: 1fr; }
@media (min-width: 48rem) { .rodape__grade { grid-template-columns: 1fr 1fr; } }
@media (min-width: 72rem) { .rodape__grade { grid-template-columns: 1.4fr .8fr 1fr 1.3fr; } }
.rodape__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; }
.rodape__redes { display: flex; gap: var(--e4); margin-top: var(--e4); }
.rodape a { text-underline-offset: .2em; }

/* Botão de doação sempre à mão no celular */
.doe-fixo { display: none; }
.doe-fixo svg { width: 1.15rem; height: 1.15rem; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 48rem) {
  .doe-fixo { position: fixed; z-index: 45; left: 1rem; right: 1rem; bottom: 1rem; display: flex; justify-content: center; align-items: center; gap: .5rem; background: var(--laranja-botao); color: #fff; font-family: var(--fonte-titulo); font-weight: 700; font-size: 1.05rem; padding: .95rem; border-radius: var(--raio-pill); text-decoration: none; box-shadow: var(--sombra-3); }
  .doe-fixo:hover { color: #fff; background: #a34e0a; }
  body.pagina-doe .doe-fixo { display: none; }
  body:has(.menu-toggle:checked) .doe-fixo { display: none; } /* com o menu aberto, o "Doe agora" já está no fim do menu */
  .rodape { padding-bottom: 4.5rem; }
}

/* Página de doação */
.plano__dia { font-family: var(--fonte-titulo); font-weight: 700; font-size: .8rem; color: var(--laranja-texto); }
.plano__valor { color: var(--indigo); }
.confianca { display: flex; flex-wrap: wrap; gap: var(--e2) var(--e5); justify-content: center; list-style: none; margin: var(--e4) 0 0; padding: 0; font-size: .88rem; color: var(--texto-suave); }
.confianca li { display: inline-flex; align-items: center; gap: .4rem; }
.confianca svg { width: 1.05rem; height: 1.05rem; stroke: var(--sucesso); fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.botao--doe.botao--cheio { margin-top: var(--e5); }
.impacto2__valor--texto { font-size: clamp(1.7rem, 3vw, 2.2rem); white-space: nowrap; padding-top: .45rem; }

/* ===== Marketing ===== */
:root {
  --st-ideia: #94a3b8; --st-producao: #5b5da8; --st-aguardando: #d97a2e;
  --st-aprovado: #2e7d32; --st-agendado: #45478D; --st-publicado: #16a34a;
}

/* Calendário mensal */
.calendario-nav { display: flex; justify-content: space-between; align-items: center; gap: var(--e3); margin: var(--e4) 0; }
.calendario-nav h2 { margin: 0; font-size: 1.2rem; }
.calendario { border-collapse: collapse; width: 100%; min-width: 52rem; table-layout: fixed; }
.calendario th { background: var(--indigo); color: #fff; font-family: var(--fonte-titulo); padding: .5rem; font-size: .85rem; }
.calendario__dia { border: 1px solid var(--borda); vertical-align: top; height: 7rem; padding: .35rem; background: #fff; }
.calendario__dia--fora { background: #faf9fe; }
.calendario__dia--hoje { background: #fff8ef; box-shadow: inset 0 0 0 2px var(--dourado); }
.calendario__cabecalho { display: flex; justify-content: space-between; align-items: center; font-family: var(--fonte-titulo); font-weight: 700; color: var(--indigo); font-size: .85rem; margin-bottom: .25rem; }
.calendario__add { text-decoration: none; color: var(--laranja-texto); font-weight: 700; border-radius: 4px; padding: 0 .3rem; }
.calendario__add:hover { background: var(--areia); }
.calendario__post { display: block; font-size: .74rem; line-height: 1.3; padding: .15rem .35rem; margin-bottom: .2rem; border-radius: 5px; text-decoration: none; color: #fff; background: var(--st-ideia); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.calendario__post--ideia { background: var(--st-ideia); }
.calendario__post--producao { background: var(--st-producao); }
.calendario__post--aguardando { background: var(--st-aguardando); }
.calendario__post--aprovado { background: var(--st-aprovado); }
.calendario__post--agendado { background: var(--st-agendado); }
.calendario__post--publicado { background: var(--st-publicado); }
.calendario__hora { font-weight: 700; margin-right: .2rem; }
.legenda-status { list-style: none; display: flex; flex-wrap: wrap; gap: .4rem 1rem; padding: 0; margin: var(--e4) 0 0; font-size: .85rem; }
.legenda-status li { display: inline-flex; align-items: center; gap: .4rem; }
.bolinha { width: .7rem; height: .7rem; border-radius: 50%; display: inline-block; }
.bolinha--ideia { background: var(--st-ideia); } .bolinha--producao { background: var(--st-producao); }
.bolinha--aguardando { background: var(--st-aguardando); } .bolinha--aprovado { background: var(--st-aprovado); }
.bolinha--agendado { background: var(--st-agendado); } .bolinha--publicado { background: var(--st-publicado); }

/* Etiquetas de status/campanha */
.pilula--status-ideia { --cor: var(--st-ideia); } .pilula--status-producao { --cor: var(--st-producao); }
.pilula--status-aguardando { --cor: var(--st-aguardando); } .pilula--status-aprovado { --cor: var(--st-aprovado); }
.pilula--status-agendado { --cor: var(--st-agendado); } .pilula--status-publicado { --cor: var(--st-publicado); }
.pilula--campanha-planejamento { --cor: #94a3b8; } .pilula--campanha-veiculacao { --cor: #2e7d32; }
.pilula--campanha-pausada { --cor: #d97a2e; } .pilula--campanha-encerrada { --cor: #64748b; }
.coluna__topo--status-ideia { --cor: var(--st-ideia); } .coluna__topo--status-producao { --cor: var(--st-producao); }
.coluna__topo--status-aguardando { --cor: var(--st-aguardando); } .coluna__topo--status-aprovado { --cor: var(--st-aprovado); }
.coluna__topo--status-agendado { --cor: var(--st-agendado); } .coluna__topo--status-publicado { --cor: var(--st-publicado); }

/* Fluxo de aprovação (stepper) */
.fluxo-status { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem; margin: var(--e4) 0; font-family: var(--fonte-titulo); font-size: .85rem; }
.fluxo-status__passo { padding: .3rem .8rem; border-radius: var(--raio-pill); background: var(--areia); color: var(--texto-suave); }
.fluxo-status__passo--atual { background: var(--indigo); color: #fff; font-weight: 700; }
.fluxo-status__seta { color: var(--borda-forte); }

/* Campanhas e pastas */
.cartao--campanha { display: flex; flex-direction: column; gap: .3rem; text-decoration: none; color: var(--texto); }
.cartao--campanha h3 { margin: .3rem 0 0; }
.cartao--campanha .dado-valor { margin-top: auto; padding-top: .4rem; }
.grade--pastas { margin-top: var(--e3); }
.cartao--pasta { text-decoration: none; color: var(--texto); text-align: center; }
.cartao--pasta-fixa { border-top: 4px solid var(--dourado); }
.migalhas--biblioteca { margin-bottom: var(--e4); }
.linha-arquivo { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; padding: .5rem 0; border-bottom: 1px solid var(--borda); }
.linha-arquivo:last-of-type { border-bottom: 0; }
.linha-arquivo form { margin-left: auto; }

/* ===== Programas e Ações: eixos de atuação ===== */
.eixos-nav { display: flex; flex-wrap: wrap; gap: var(--e2); margin: 0 0 var(--e6); }
.eixos-nav a { display: inline-flex; gap: .4rem; align-items: baseline; padding: .5rem 1rem; border-radius: var(--raio-pill); border: 1px solid var(--borda); background: #fff; color: var(--indigo); font-family: var(--fonte-titulo); font-weight: 700; text-decoration: none; transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease); }
.eixos-nav a span { white-space: nowrap; color: var(--laranja-texto); font-size: var(--t-xs); text-transform: uppercase; letter-spacing: .08em; }
.eixos-nav a:hover { border-color: var(--laranja); box-shadow: var(--sombra-1); }
.eixo { scroll-margin-top: 6rem; padding-top: var(--e7); }
.eixo + .eixo { border-top: 1px solid var(--borda); margin-top: var(--e7); }
.eixo .lead { max-width: 42rem; }
.eixo .grade { margin-top: var(--e5); align-items: start; }
.destaque-escola { display: grid; padding: 0; overflow: hidden; text-decoration: none; color: var(--texto); margin-top: var(--e5); }
.destaque-escola img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.destaque-escola .etiqueta { align-self: flex-start; }
@media (min-width: 48rem) {
  .destaque-escola { grid-template-columns: 1fr 1.2fr; align-items: stretch; }
  .destaque-escola img { height: 100%; aspect-ratio: auto; }
  .destaque-escola .cartao__corpo { padding: var(--e6); justify-content: center; }
}
.grade--eixos { grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); }
.eixo-cartao { display: flex; flex-direction: column; gap: var(--e2); text-decoration: none; color: var(--texto); }
.eixo-cartao h3 { margin: 0; }
.eixo-cartao p { margin: 0; color: var(--texto-suave); font-size: .97rem; }
.eixo-cartao__numero { font-family: var(--fonte-titulo); font-weight: 700; font-size: var(--t-xs); text-transform: uppercase; letter-spacing: .08em; color: var(--laranja-texto); }
.eixo-cartao__lista { margin: 0; padding-left: 1.1rem; color: var(--texto); font-size: .95rem; }
.eixo-cartao .link-seta { margin-top: auto; padding-top: var(--e2); }

/* ===== CRM: campanha Empresa Amiga da Educação ===== */
.contrapartidas { list-style: none; padding: 0; margin: 0 0 var(--e3); display: grid; gap: var(--e2); }
.contrapartidas li { display: flex; justify-content: space-between; align-items: center; gap: var(--e3); padding: var(--e2) var(--e3); border: 1px solid var(--borda); border-radius: var(--raio-m); }
.contrapartidas li span:first-child { font-family: var(--fonte-titulo); font-weight: 700; color: var(--indigo); }
.contrapartidas--ok { background: var(--areia); }
.card-crm__amiga { color: var(--laranja-texto); font-weight: 700; }
.h3-metricas { margin: var(--e5) 0 var(--e3); }

/* ===== Página de cada programa/ação ===== */
.foto-vazia { display: grid; place-items: center; aspect-ratio: 16 / 10; background: linear-gradient(135deg, var(--areia), #f1e7d6); }
.foto-vazia img { opacity: .55; width: 4rem; height: auto; }
.projeto { display: grid; gap: var(--e6); align-items: start; }
@media (min-width: 60rem) { .projeto { grid-template-columns: 1.6fr 1fr; } .projeto__lateral { position: sticky; top: 6rem; } }
.projeto__lateral { display: grid; gap: var(--e3); }
.campanha-projeto { display: grid; gap: var(--e3); border-top: 4px solid var(--laranja); }
.campanha-projeto h2 { margin: 0; font-size: var(--t-xl); }
.campanha-projeto p { margin: 0; }
.meta-barra { height: .7rem; border-radius: var(--raio-pill); background: var(--areia); overflow: hidden; }
.meta-barra span { display: block; height: 100%; background: linear-gradient(90deg, var(--laranja), var(--dourado)); border-radius: inherit; }
.galeria-projeto { display: grid; gap: var(--e3); grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr)); }
.galeria-projeto figure { margin: 0; }
.galeria-projeto img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--raio-m); display: block; }
.galeria-projeto figcaption { font-size: var(--t-sm); color: var(--texto-suave); margin-top: .3rem; }
.pix-projeto { margin-top: var(--e5); max-width: 36rem; }
.quero-ajudar { margin-top: var(--e8); }

/* ===== CMS: Programas e Ações ===== */
.miniatura { width: 4rem; height: 2.6rem; object-fit: cover; border-radius: var(--raio-s); display: block; }
.previa-foto { max-width: 18rem; border-radius: var(--raio-m); display: block; margin-bottom: var(--e3); }
.galeria-editor { display: grid; gap: var(--e3); grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr)); margin-bottom: var(--e4); }
.galeria-editor figure { margin: 0; }
.galeria-editor img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--raio-s); display: block; }
.galeria-editor figcaption { font-size: var(--t-xs); color: var(--texto-suave); }
.galeria-editor input { width: 100%; margin-top: var(--e1); font-size: var(--t-xs); }
.inserir-foto { display: flex; justify-content: flex-end; margin: calc(-1 * var(--e6)) 0 var(--e2); }
.inserir-foto .botao { margin-top: 0; display: inline-flex; align-items: center; gap: .4rem; }
.inserir-foto svg { width: 1.1rem; height: 1.1rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* ===== Janela (pop-up) — diretoria ===== */
.banda--botao { width: 100%; border: 0; cursor: pointer; text-align: left; font: inherit; }
.banda__texto { display: grid; gap: .15rem; flex: 1; }
.banda__texto strong { font-family: var(--fonte-titulo); font-size: var(--t-lg); }
.banda__texto span { opacity: .85; }
.janela { border: 0; padding: 0; background: transparent; width: min(56rem, 94vw); max-height: 90vh; }
.janela::backdrop { background: rgba(38, 39, 74, .75); backdrop-filter: blur(3px); }
.janela__caixa { position: relative; background: #fff; color: var(--texto); border-radius: var(--raio-g); padding: var(--e6); box-shadow: var(--sombra-3); max-height: 90vh; overflow: auto; }
.janela__caixa h2 { margin-top: 0; }
.janela__fechar { position: absolute; top: .8rem; right: .8rem; width: 2.4rem; height: 2.4rem; border-radius: 50%; border: 0; background: var(--areia); color: var(--indigo); font-size: 1.5rem; cursor: pointer; }
.janela__fechar:focus-visible { outline: 3px solid var(--dourado); }

/* ===== Campanha Apadrinhe a Educação ===== */
.secao-campanha { margin-top: var(--e8); }
.acoes-campanha { display: flex; flex-wrap: wrap; gap: var(--e3); margin-top: var(--e5); }
.numeros-campanha { display: grid; gap: var(--e4); grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); margin-top: var(--e5); }
.numeros-campanha p { margin: var(--e2) 0 0; color: var(--texto-suave); }
.passos { list-style: none; padding: 0; margin: var(--e5) 0 0; display: grid; gap: var(--e4); grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); counter-reset: passo; }
.passos li { background: #fff; border: 1px solid var(--borda); border-radius: var(--raio-g); padding: var(--e5); box-shadow: var(--sombra-1); }
.passos li h3 { margin: var(--e3) 0 var(--e2); }
.passos li p { margin: 0; color: var(--texto-suave); }
.passos__n { display: inline-grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 50%; background: var(--laranja); color: #fff; font-family: var(--fonte-titulo); font-weight: 700; }
.planos--vitrine .plano { text-decoration: none; color: inherit; }
.faq { display: grid; gap: var(--e2); max-width: 48rem; margin-top: var(--e4); }
.faq details { background: #fff; border: 1px solid var(--borda); border-radius: var(--raio-m); padding: var(--e3) var(--e4); }
.faq summary { cursor: pointer; font-family: var(--fonte-titulo); font-weight: 700; color: var(--indigo); }
.faq details p { margin: var(--e3) 0 0; color: var(--texto-suave); }
.faixa-campanha { display: flex; flex-wrap: wrap; align-items: center; gap: var(--e2) var(--e4); padding: var(--e3) var(--e4); margin-bottom: var(--e5); border-radius: var(--raio-m); background: var(--areia); border: 1px solid var(--borda); color: var(--texto); text-decoration: none; }
.faixa-campanha span:nth-child(2) { flex: 1; min-width: 14rem; }
.faixa-campanha:hover { border-color: var(--laranja); }

/* ===== Redes sociais e configurações ===== */
.redes { list-style: none; margin: var(--e3) 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--e2); }
.redes a { display: inline-flex; align-items: center; gap: .45rem; padding: .45rem .8rem; border-radius: var(--raio-pill); text-decoration: none; color: inherit; border: 1px solid currentColor; opacity: .9; }
.redes a:hover { opacity: 1; }
.redes svg, .redes img { width: 1.2rem; height: 1.2rem; object-fit: contain; }
.redes svg { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.redes--grande a { color: var(--indigo); border-color: var(--borda); background: #fff; }
.redes-contato { margin: var(--e5) 0; }
.config-atalho { margin: var(--e4) 0 var(--e5); text-decoration: none; color: inherit; }
.config-atalho h2 { margin: 0; font-size: var(--t-lg); }
.config-atalho p { margin: .2rem 0 0; }

/* ===== Obrigado (mockup) ===== */
.obrigado2 { position: relative; overflow: hidden; background: linear-gradient(135deg, var(--indigo), var(--indigo-escuro)); color: #fff; text-align: center; padding: var(--e8) 0; }
.obrigado2__caixa { position: relative; max-width: 44rem; }
.obrigado2 h1 { color: #fff; margin: var(--e4) 0 var(--e3); }
.obrigado2 p { color: #e6e4f7; }
.obrigado2__sol { filter: drop-shadow(0 8px 24px rgba(249, 204, 56, .45)); }
.obrigado2__confete span { position: absolute; width: .7rem; height: .7rem; border-radius: 2px; opacity: .85; animation: confete 6s linear infinite; }
.obrigado2__confete span:nth-child(3n) { background: var(--laranja); } .obrigado2__confete span:nth-child(3n+1) { background: var(--dourado); } .obrigado2__confete span:nth-child(3n+2) { background: #c9caf0; }
.obrigado2__confete span:nth-child(1) { left: 3%; top: -1rem; animation-delay: 0.00s; }
.obrigado2__confete span:nth-child(2) { left: 11%; top: -1rem; animation-delay: 0.45s; }
.obrigado2__confete span:nth-child(3) { left: 20%; top: -1rem; animation-delay: 0.90s; }
.obrigado2__confete span:nth-child(4) { left: 28%; top: -1rem; animation-delay: 1.35s; }
.obrigado2__confete span:nth-child(5) { left: 36%; top: -1rem; animation-delay: 1.80s; }
.obrigado2__confete span:nth-child(6) { left: 44%; top: -1rem; animation-delay: 2.25s; }
.obrigado2__confete span:nth-child(7) { left: 53%; top: -1rem; animation-delay: 2.70s; }
.obrigado2__confete span:nth-child(8) { left: 61%; top: -1rem; animation-delay: 3.15s; }
.obrigado2__confete span:nth-child(9) { left: 69%; top: -1rem; animation-delay: 3.60s; }
.obrigado2__confete span:nth-child(10) { left: 78%; top: -1rem; animation-delay: 4.05s; }
.obrigado2__confete span:nth-child(11) { left: 86%; top: -1rem; animation-delay: 4.50s; }
.obrigado2__confete span:nth-child(12) { left: 94%; top: -1rem; animation-delay: 4.95s; }
@keyframes confete { to { transform: translateY(26rem) rotate(540deg); } }
@media (prefers-reduced-motion: reduce) { .obrigado2__confete { display: none; } }
.obrigado2__acoes { max-width: 36rem; display: grid; gap: var(--e3); margin: var(--e6) auto var(--e8); }
.obrigado2__resumo h2 { margin-top: 0; font-size: var(--t-lg); }
.obrigado2__links { display: flex; flex-wrap: wrap; gap: var(--e3); justify-content: center; }
.botao--whats { background: #1f8f4e; }
.botao--whats:hover { background: #17733e; }

/* ===== Contato: formulário ao lado do mapa (mockup) ===== */
.contato-grade { display: grid; gap: var(--e6); margin-top: var(--e6); align-items: start; }
@media (min-width: 60rem) { .contato-grade { grid-template-columns: 1fr 1fr; } }
.contato-grade .cartao--form { margin: 0; }
.contato-grade__lado .mapa { margin-top: 0; }
.contato-grade__lado .mapa__rota { margin: var(--e3) 0 0; }

/* ===== Números de impacto em cartões (mockup) ===== */
.impacto2 { gap: var(--e4); }
.impacto2__item { background: #fff; border: 1px solid var(--borda); border-radius: var(--raio-g); box-shadow: var(--sombra-1); padding: var(--e6) var(--e4) var(--e5); position: relative; }
.impacto2__item::before { content: ""; position: absolute; top: -.9rem; left: 50%; width: 1.8rem; height: 1.8rem; margin-left: -.9rem; border-radius: 50%; background: radial-gradient(circle, var(--dourado) 35%, var(--laranja) 36%); box-shadow: 0 4px 12px rgba(239, 140, 65, .35); }
@media (min-width: 56rem) { .impacto2__item + .impacto2__item { border-left: 1px solid var(--borda); } }
.selo-campanha { display: inline-flex; align-items: center; gap: .45rem; margin-bottom: var(--e4); padding: .4rem .95rem; border-radius: var(--raio-pill); border: 1px solid rgba(249, 204, 56, .55); background: rgba(249, 204, 56, .14); color: var(--dourado); font-family: var(--fonte-titulo); font-weight: 700; font-size: var(--t-sm); text-transform: uppercase; letter-spacing: .06em; text-decoration: none; }
.selo-campanha svg { width: 1rem; height: 1rem; fill: currentColor; stroke: none; }
.selo-campanha:hover { background: rgba(249, 204, 56, .24); }

/* ===== Gestão de usuários ===== */
.papeis-lista { border: 0; padding: 0; margin: var(--e4) 0; display: grid; gap: var(--e2); }
.papeis-lista legend { font-family: var(--fonte-titulo); font-weight: 700; color: var(--indigo); margin-bottom: var(--e2); }
.papel-opcao { display: grid; grid-template-columns: auto 1fr; gap: var(--e3); align-items: start; padding: var(--e3); border: 1px solid var(--borda); border-radius: var(--raio-m); cursor: pointer; }
.papel-opcao:has(input:checked) { border-color: var(--laranja); background: var(--areia); }
.papel-opcao input { margin-top: .25rem; }
.papel-opcao span { display: grid; gap: .15rem; }
.papel-opcao small { color: var(--texto-suave); }
.envio-arquivos { display: grid; gap: var(--e2); margin-top: var(--e4); padding-top: var(--e4); border-top: 1px dashed var(--borda); }
.novo-aviso { margin-bottom: var(--e5); }
.novo-aviso summary { cursor: pointer; font-family: var(--fonte-titulo); font-weight: 700; color: var(--indigo); }
.novo-aviso form { margin-top: var(--e3); }

/* ===== Quadro do Marketing: "+ Adicionar cartão" (como no Trello) ===== */
.cartao-rapido { margin: var(--e2) var(--e2) var(--e3); }
.cartao-rapido summary { cursor: pointer; list-style: none; padding: .55rem .75rem; border-radius: var(--raio-s); color: var(--texto-suave); font-family: var(--fonte-titulo); font-weight: 700; font-size: var(--t-sm); }
.cartao-rapido summary::-webkit-details-marker { display: none; }
.cartao-rapido summary:hover { background: rgba(69, 71, 141, .08); color: var(--indigo); }
.cartao-rapido form { background: #fff; border: 1px solid var(--borda); border-radius: var(--raio-m); padding: var(--e3); display: grid; gap: .35rem; box-shadow: var(--sombra-1); }
.cartao-rapido form label { font-size: var(--t-xs); }
.cartao-rapido textarea, .cartao-rapido input, .cartao-rapido select { font-size: var(--t-sm); }
.cartao-rapido__linha { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }

/* Descadastro dos e-mails */
.descadastro { max-width: 36rem; margin: 0 auto; text-align: center; }
.descadastro h1 { font-size: 1.6rem; }

/* E-mails automáticos (Marketing) */
.email-editor { display: grid; gap: var(--e6, 1.5rem); grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; }
.email-editor textarea { width: 100%; }
.email-previa iframe { width: 100%; height: 40rem; border: 1px solid var(--borda); border-radius: var(--raio-m, 12px); background: #F4F1EA; }
.email-previa h2 small { font-size: .8rem; font-weight: normal; }
.variaveis { margin: 1rem 0; }
.variaveis ul { margin: .5rem 0 0; padding-left: 1.2rem; font-size: .9rem; }
@media (max-width: 900px) { .email-editor { grid-template-columns: 1fr; } }

/* Gestão de usuários: grade de acessos */
.acessos { border: 0; padding: 0; margin: var(--e4) 0; }
.acessos legend { font-family: var(--fonte-titulo); font-weight: 700; color: var(--indigo); margin-bottom: var(--e2); }
.acessos__tabela { min-width: 34rem; }
.acessos__tabela th[scope="row"] { font-weight: 600; }
.acessos__tabela th[scope="row"] small { display: block; font-weight: normal; font-size: .8rem; line-height: 1.4; margin-top: .2rem; max-width: 26rem; }
.acessos__tabela thead th:not(:first-child), .acessos__tabela td { text-align: center; white-space: nowrap; }
.acessos__opcao { display: inline-flex; padding: .4rem; cursor: pointer; }
.acessos__opcao input { width: 1.2rem; height: 1.2rem; accent-color: var(--indigo); }
.usuario-grade, .ficha-grade.usuario-grade { grid-template-columns: minmax(0, 1fr); }
.usuario-grade .cartao--form { max-width: none; }
.ficha-grade.usuario-grade > aside { position: static; }
.usuario-grade > aside { display: grid; gap: var(--e4); grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); align-items: start; }
.usuario-grade .papeis-lista { grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); }

.galeria > li[hidden] { display: none; }

/* Disparos de e-mail */
.disparo-form .cartao { margin-bottom: var(--e4); }
.disparo-form h3 { font-size: 1rem; margin: var(--e4) 0 var(--e2); color: var(--indigo); }
.disparo-total { font-size: 1.1rem; margin: 0 0 .25rem; }
.disparo-total strong { font-size: 2rem; color: var(--indigo); }
.disparo-enviar { display: flex; flex-wrap: wrap; gap: .75rem 1rem; align-items: center; margin: var(--e4) 0 .5rem; }

/* =====================================================================================
   Novo visual do site (capa com foto inteira, números, cartões com foto, faixas coloridas)
   ===================================================================================== */
:root { --topo-alt: 4.75rem; }

/* Topo transparente por cima da foto; ao rolar a página, volta a ser branco */
body:has(.capa:not(.capa--sem-foto), .pagina-topo--foto):not(:has(.previa-barra)) .topo:not(.topo--painel) {
  position: fixed; left: 0; right: 0; background: transparent; backdrop-filter: none; -webkit-backdrop-filter: none;
  border-bottom-color: transparent; transition: background .35s var(--ease), box-shadow .35s var(--ease);
}
body:has(.capa:not(.capa--sem-foto), .pagina-topo--foto):not(:has(.previa-barra)) .topo:not(.topo--painel):not(.topo--rolado):not(:has(.menu-toggle:checked)) :is(.marca__nome, .menu > a:not(.menu__cta), .menu__pai) { color: #fff; }
body:has(.capa:not(.capa--sem-foto), .pagina-topo--foto):not(:has(.previa-barra)) .topo:not(.topo--painel):not(.topo--rolado):not(:has(.menu-toggle:checked)) .marca__sub { color: var(--dourado); }
body:has(.capa:not(.capa--sem-foto), .pagina-topo--foto):not(:has(.previa-barra)) .topo:not(.topo--painel):not(.topo--rolado):not(:has(.menu-toggle:checked)) .menu-botao span { background: #fff; }
body:has(.capa:not(.capa--sem-foto), .pagina-topo--foto):not(:has(.previa-barra)) .topo:not(.topo--painel):not(.topo--rolado) :is(.menu > a:not(.menu__cta), .menu__pai):hover { background: rgba(255, 255, 255, .14); color: #fff; }
body:has(.capa:not(.capa--sem-foto), .pagina-topo--foto):not(:has(.previa-barra)) .topo:not(.topo--painel):not(.topo--rolado):not(:has(.menu-toggle:checked)) :is(.menu > a, .menu__pai)[aria-current] { background: rgba(255, 255, 255, .18); color: #fff; }
.topo.topo--rolado, .topo:has(.menu-toggle:checked) { background: rgba(253, 253, 253, .94) !important; backdrop-filter: blur(14px) saturate(1.4) !important; -webkit-backdrop-filter: blur(14px) saturate(1.4) !important; box-shadow: 0 6px 24px rgba(38, 39, 74, .1); }

/* Capa */
.capa { position: relative; isolation: isolate; overflow: hidden; color: #fff; display: flex; align-items: center;
  min-height: min(100svh, 48rem); padding: calc(var(--topo-alt) + 3rem) 0 9rem; background: linear-gradient(135deg, var(--indigo-noite), var(--indigo)); }
.capa__foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; animation: capa-zoom 20s ease-out both; }
.capa::before { content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(90deg, rgba(38, 39, 74, .9) 0%, rgba(54, 56, 111, .72) 42%, rgba(38, 39, 74, .2) 100%), linear-gradient(0deg, rgba(38, 39, 74, .6), transparent 45%); }
.capa__texto { position: relative; }
.capa__texto > * { animation: entrada .9s var(--ease-entrada) both; }
.capa__texto > :nth-child(2) { animation-delay: .12s; }
.capa__texto > :nth-child(3) { animation-delay: .24s; }
.capa__texto > :nth-child(4) { animation-delay: .36s; }
.capa h1 { color: #fff; font-size: clamp(2.3rem, 5.2vw, 4rem); line-height: 1.08; max-width: 46rem; margin: var(--e4) 0 var(--e4); text-wrap: balance; }
.capa__frase { font-size: clamp(1.05rem, 1.6vw, 1.3rem); color: rgba(255, 255, 255, .88); max-width: 38rem; margin: 0; }
.capa__botoes { display: flex; flex-wrap: wrap; gap: var(--e4); margin-top: var(--e6); align-items: center; }
@keyframes capa-zoom { from { transform: scale(1.1); } to { transform: scale(1); } }
.selo-campanha--ouro { background: var(--dourado); color: var(--indigo-noite); border-color: var(--dourado); }
.selo-campanha--ouro:hover { background: #fff; color: var(--indigo); }
.botao--grande { padding: 1rem 2rem; font-size: 1.1rem; }
.botao--indigo { background: var(--indigo); color: #fff; }
.botao--indigo:hover { background: var(--indigo-noite); color: #fff; }
.botao-vidro { display: inline-flex; align-items: center; gap: .6rem; font: inherit; font-family: var(--fonte-titulo); font-weight: 700; color: #fff; cursor: pointer;
  padding: .95rem 1.6rem; border-radius: var(--raio-pill); border: 1.5px solid rgba(255, 255, 255, .55); background: rgba(255, 255, 255, .1);
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); transition: background var(--dur) var(--ease), transform var(--dur) var(--ease); }
.botao-vidro:hover { background: rgba(255, 255, 255, .22); transform: translateY(-2px); }
.botao-vidro svg { width: 1.1rem; height: 1.1rem; fill: currentColor; stroke: none; }
@media (max-width: 48rem) {
  .capa { align-items: flex-end; min-height: 42rem; padding-bottom: 7rem; }
  .capa::before { background: linear-gradient(0deg, rgba(38, 39, 74, .94) 25%, rgba(54, 56, 111, .6) 65%, rgba(38, 39, 74, .35)); }
  .capa__botoes > * { width: 100%; justify-content: center; }
}

/* Números sobre o fim da capa */
.numeros { position: relative; z-index: 2; margin-top: -5.5rem; }
.numeros__cartao { background: #fff; border-radius: var(--raio-g); box-shadow: var(--sombra-3); display: grid; grid-template-columns: repeat(4, 1fr); padding: var(--e6) 0; }
.numeros__item { padding: var(--e2) var(--e6); border-left: 1px solid var(--borda); }
.numeros__item:first-child { border-left: 0; }
.numeros__valor { font-family: var(--fonte-titulo); font-weight: 700; font-size: clamp(2rem, 3.4vw, 2.9rem); color: var(--indigo); line-height: 1.1; }
.numeros__item:nth-child(even) .numeros__valor { color: var(--laranja-escuro); }
.numeros__valor--texto { font-size: clamp(1.4rem, 2.3vw, 2rem); }
.numeros__rotulo { color: var(--texto-suave); font-size: .95rem; margin-top: .35rem; }
@media (max-width: 56rem) {
  .numeros { margin-top: -4rem; }
  .numeros__cartao { grid-template-columns: 1fr 1fr; padding: var(--e3) 0; }
  .numeros__item { border-left: 0; padding: var(--e4) var(--e5); }
}

/* Planos de doação */
.titulo-centro { text-align: center; max-width: 44rem; margin: 0 auto var(--e7); }
.titulo-centro h2 { margin-top: 0; }
.planos2__grade { display: grid; gap: var(--e5); grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); }
.plano2 { position: relative; display: flex; flex-direction: column; gap: .35rem; background: #fff; border: 1px solid var(--borda); border-radius: var(--raio-g);
  padding: 2rem 1.5rem 1.5rem; text-decoration: none; color: var(--texto); box-shadow: var(--sombra-1); overflow: hidden;
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease); }
.plano2::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px; background: var(--c, var(--indigo)); }
.plano2--cor1 { --c: var(--indigo); } .plano2--cor2 { --c: var(--laranja); } .plano2--cor3 { --c: #5b5da8; } .plano2--cor4 { --c: var(--dourado); } .plano2--cor5 { --c: var(--laranja-escuro); }
.plano2:hover { transform: translateY(-6px); box-shadow: var(--sombra-3); color: var(--texto); }
.plano2--destaque { background: #fff6ec; border: 2px solid var(--dourado); }
.plano2__selo { position: absolute; top: 1rem; right: 1rem; background: var(--dourado); color: var(--indigo-noite); font-family: var(--fonte-titulo); font-weight: 700; font-size: .7rem; letter-spacing: .06em; text-transform: uppercase; padding: .25rem .65rem; border-radius: var(--raio-pill); }
.plano2__valor { font-family: var(--fonte-titulo); font-weight: 700; font-size: 2.2rem; color: var(--indigo); line-height: 1.1; }
.plano2__valor small { font-size: .95rem; color: var(--texto-suave); font-weight: 500; }
.plano2__nome { font-family: var(--fonte-titulo); font-weight: 700; font-size: 1.08rem; }
.plano2__dia { color: var(--laranja-texto); font-size: .92rem; }
.plano2__impacto { color: var(--texto-suave); font-size: .9rem; }
.plano2__botao { margin-top: auto; display: block; text-align: center; font-family: var(--fonte-titulo); font-weight: 700; color: var(--indigo); border: 2px solid var(--indigo); border-radius: var(--raio-pill); padding: .6rem; transition: background var(--dur), color var(--dur); }
.plano2__botao { margin-block-start: auto; }
.plano2 > :nth-last-child(2) { margin-bottom: var(--e4); }
.plano2:hover .plano2__botao { background: var(--indigo); color: #fff; }
.plano2--destaque .plano2__botao { background: var(--laranja-botao); border-color: var(--laranja-botao); color: #fff; }
.plano2--destaque:hover .plano2__botao { background: #a34e0a; }
.planos2__outros { margin-top: var(--e6); }

/* Eixos em cartões com foto */
.eixos-fotos { display: grid; gap: var(--e5); grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); }
.eixo-foto { --c: 69, 71, 141; position: relative; isolation: isolate; display: block; aspect-ratio: 3 / 4; border-radius: var(--raio-g); overflow: hidden;
  background: rgb(var(--c)); color: #fff; text-decoration: none; box-shadow: var(--sombra-2); transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease); }
.eixo-foto--2 { --c: 191, 94, 14; } .eixo-foto--3 { --c: 91, 93, 168; } .eixo-foto--4 { --c: 169, 79, 10; }
.eixo-foto:hover { transform: translateY(-6px); box-shadow: var(--sombra-3); color: #fff; }
.eixo-foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -1; transition: transform .8s var(--ease); }
.eixo-foto:hover img { transform: scale(1.07); }
.eixo-foto__faixa { position: absolute; left: 0; right: 0; bottom: 0; padding: var(--e5) var(--e5) var(--e4); background: rgba(var(--c), .92); display: flex; flex-direction: column; gap: .4rem; }
.eixo-foto__titulo { font-family: var(--fonte-titulo); font-weight: 700; font-size: 1.25rem; line-height: 1.2; }
.eixo-foto__texto { font-size: .9rem; line-height: 1.4; opacity: .92; max-height: 0; overflow: hidden; transition: max-height .45s var(--ease); }
.eixo-foto:hover .eixo-foto__texto, .eixo-foto:focus-visible .eixo-foto__texto { max-height: 6rem; }
.eixo-foto__link { display: inline-flex; align-items: center; gap: .35rem; color: var(--dourado); font-family: var(--fonte-titulo); font-weight: 700; font-size: .9rem; }
.eixo-foto__link svg { width: 1rem; height: 1rem; stroke: currentColor; fill: none; stroke-width: 2; transition: transform var(--dur) var(--ease); }
.eixo-foto:hover .eixo-foto__link svg { transform: translateX(4px); }
@media (hover: none) { .eixo-foto__texto { max-height: none; } }
@media (max-width: 48rem) { .eixo-foto { aspect-ratio: 4 / 3; } }

/* Faixa laranja de destaque */
.faixa-destaque { position: relative; overflow: hidden; color: #fff; padding: var(--e7) 0; background: linear-gradient(120deg, #c9691d, #a94f0a); }
.faixa-destaque::after { content: ""; position: absolute; right: -6rem; top: -9rem; width: 24rem; height: 24rem; border-radius: 50%; background: rgba(255, 255, 255, .1); animation: float-slow 9s ease-in-out infinite; }
.faixa-destaque__grade { position: relative; z-index: 1; display: grid; grid-template-columns: auto 1fr auto; gap: var(--e4) var(--e7); align-items: center; }
.faixa-destaque__numero { font-family: var(--fonte-titulo); font-weight: 700; font-size: clamp(2.4rem, 5vw, 3.8rem); line-height: 1; margin: 0; }
.faixa-destaque__texto { font-size: 1.2rem; margin: 0; max-width: 32rem; }
.faixa-destaque .botao { margin: 0; }
@media (max-width: 56rem) { .faixa-destaque__grade { grid-template-columns: 1fr; } }

/* Escola em destaque */
.escola2 { background: #eeeefa; }
.escola2__grade { display: grid; gap: var(--e8); align-items: center; grid-template-columns: 1fr 1fr; }
.escola2__foto { margin: 0; position: relative; }
.escola2__foto::before { content: ""; position: absolute; inset: 1.25rem -1.25rem -1.25rem 1.25rem; background: var(--dourado); border-radius: var(--raio-g); }
.escola2__foto img { position: relative; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--raio-g); box-shadow: var(--sombra-3); display: block; }
.escola2 h2 { margin-top: 0; }
.lista-check { list-style: none; padding: 0; margin: var(--e4) 0 var(--e6); display: grid; gap: .65rem; }
.lista-check li { position: relative; padding-left: 2.1rem; }
.lista-check li::before { content: "✓"; position: absolute; left: 0; top: .1rem; width: 1.4rem; height: 1.4rem; border-radius: 50%; background: var(--laranja-botao); color: #fff; font-size: .8rem; font-weight: 700; display: grid; place-items: center; }
@media (max-width: 56rem) { .escola2__grade { grid-template-columns: 1fr; gap: var(--e7); } .escola2__foto { margin-right: 1.25rem; } }

/* Depoimento em destaque */
.depo2 { background: linear-gradient(135deg, var(--indigo), var(--indigo-escuro)); color: #fff; padding: 5rem 0; position: relative; overflow: hidden; }
.depo2::before { content: ""; position: absolute; inset: 0; background: repeating-radial-gradient(circle at 95% 10%, transparent 0 40px, rgba(255, 255, 255, .04) 40px 42px); pointer-events: none; }
.depo2__citacao { position: relative; margin: 0 auto; max-width: 52rem; text-align: center; }
.depo2__citacao::before { content: "“"; display: block; font-family: Georgia, serif; font-size: 6rem; line-height: .7; color: var(--dourado); }
.depo2__citacao p { font-size: clamp(1.2rem, 2.3vw, 1.7rem); line-height: 1.5; font-style: italic; margin: var(--e4) 0 var(--e6); }
.depo2 footer { display: inline-flex; align-items: center; gap: var(--e4); text-align: left; }
.depo2 img { width: 4rem; height: 4rem; border-radius: 50%; object-fit: cover; border: 3px solid var(--dourado); }
.depo2 cite { display: block; font-style: normal; font-family: var(--fonte-titulo); font-weight: 700; }
.depo2 small { color: rgba(255, 255, 255, .75); }

/* Galeria em mosaico */
.mosaico { list-style: none; padding: 0; margin: 0 0 var(--e6); display: grid; gap: .75rem; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 12rem; }
.mosaico li:first-child { grid-column: span 2; grid-row: span 2; }
.mosaico .foto { height: 100%; }
.mosaico .foto img { height: 100%; aspect-ratio: auto; }
.mosaico .foto:hover img { transform: scale(1.06); }
@media (max-width: 48rem) { .mosaico { grid-template-columns: 1fr 1fr; grid-auto-rows: 9rem; } }

/* Convite final com foto */
.cta-foto { position: relative; isolation: isolate; overflow: hidden; color: #fff; padding: 6rem 0; text-align: center; background: #a94f0a; }
.cta-foto__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.cta-foto::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(135deg, rgba(169, 79, 10, .92), rgba(201, 105, 29, .8)); }
.cta-foto__texto { max-width: 46rem; }
.cta-foto h2 { color: #fff; font-size: clamp(1.8rem, 4vw, 2.8rem); margin-top: 0; text-wrap: balance; }
.cta-foto p { font-size: 1.15rem; opacity: .95; margin: 0 0 var(--e6); }

/* Topo das páginas internas com foto */
.pagina-topo--foto { display: flex; align-items: flex-end; min-height: 23rem; padding-top: var(--topo-alt); background: var(--indigo-noite); }
.pagina-topo__foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; animation: capa-zoom 20s ease-out both; }
.pagina-topo--foto::before { inset: 0; width: auto; height: auto; right: 0; top: 0; border-radius: 0; filter: none; z-index: 1;
  background: linear-gradient(0deg, rgba(38, 39, 74, .92) 10%, rgba(54, 56, 111, .6) 70%, rgba(38, 39, 74, .5)); }
.pagina-topo--foto::after { display: none; }
.pagina-topo--foto .pagina-topo__interno { width: 100%; z-index: 2; }

/* Rodapé: links sem sublinhado (só ao passar o mouse) */
.rodape a { text-decoration: none; }
.rodape a:hover { text-decoration: underline; text-underline-offset: .2em; }

@media (prefers-reduced-motion: reduce) {
  .capa__foto, .pagina-topo__foto, .capa__texto > *, .faixa-destaque::after { animation: none; }
  .eixo-foto img, .plano2, .eixo-foto { transition: none; }
}

/* Central de WhatsApp (CRM) */
.whats__aviso { font-size: .92rem; }
.whats { display: grid; gap: var(--e5); grid-template-columns: 20rem minmax(0, 1fr) 22rem; align-items: start; }
.whats__lista { background: #fff; border: 1px solid var(--borda); border-radius: var(--raio-m); overflow: hidden; }
.whats__busca { padding: var(--e3); border-bottom: 1px solid var(--borda); }
.whats__busca input { width: 100%; }
.whats__filtros { display: flex; flex-wrap: wrap; gap: .35rem; padding: var(--e3); border-bottom: 1px solid var(--borda); }
.whats__filtros a, .whats__prontas a { display: inline-flex; align-items: center; gap: .35rem; font-family: var(--fonte-titulo); font-size: .82rem; font-weight: 500; text-decoration: none;
  color: var(--indigo); border: 1px solid var(--borda-forte); border-radius: var(--raio-pill); padding: .3rem .75rem; background: #fff; }
.whats__filtros a[aria-current], .whats__prontas a[aria-current] { background: var(--indigo); border-color: var(--indigo); color: #fff; }
.whats__prontas a[aria-current] { background: var(--laranja-botao); border-color: var(--laranja-botao); }
.whats__n { background: var(--laranja-botao); color: #fff; border-radius: var(--raio-pill); font-size: .7rem; padding: 0 .4rem; min-width: 1.2rem; text-align: center; }
.whats__contatos { list-style: none; margin: 0; padding: 0; max-height: 38rem; overflow-y: auto; }
.whats__contatos a { display: flex; gap: .75rem; align-items: center; padding: .75rem var(--e3); text-decoration: none; color: var(--texto); border-bottom: 1px solid var(--borda); transition: background var(--dur); }
.whats__contatos a:hover { background: var(--areia); }
.whats__contatos a[aria-current] { background: #fff4ea; box-shadow: inset 4px 0 0 var(--laranja-botao); }
.whats__contatos strong { display: block; font-family: var(--fonte-titulo); color: var(--indigo); }
.whats__contatos small { color: var(--texto-suave); font-size: .82rem; }
.whats__alerta { color: var(--laranja-texto) !important; font-weight: 700; }
.whats__corrigir { font-size: var(--t-sm); }
.whats__sem-numero { margin: var(--e3) 0; }
.whats__form .botao svg { width: 1.2rem; height: 1.2rem; }
.whats__vazio { padding: var(--e4); }
.avatar { flex: none; width: 2.6rem; height: 2.6rem; border-radius: 50%; display: grid; place-items: center; font-family: var(--fonte-titulo); font-weight: 700; color: #fff; background: var(--indigo); }
.avatar--b { background: var(--laranja-botao); }
.avatar--grande { width: 4rem; height: 4rem; font-size: 1.5rem; background: var(--laranja-botao); }
.whats__cabeca { display: flex; gap: var(--e4); align-items: center; margin-bottom: var(--e4); }
.whats__cabeca h2 { margin: 0; }
.whats__cabeca p { margin: .3rem 0 0; }
.whats__ficha h3 { font-size: 1rem; margin: var(--e5) 0 var(--e2); color: var(--indigo); }
.whats__doacoes, .whats__historico { list-style: none; padding: 0; margin: 0 0 var(--e4); display: grid; gap: .4rem; }
.whats__doacoes li { display: grid; grid-template-columns: 6rem 6rem auto; align-items: center; gap: .5rem; font-size: .92rem; }
.whats__historico li { border-left: 3px solid var(--laranja); padding-left: .7rem; }
.whats__historico small { display: block; color: var(--texto-suave); font-size: .8rem; }
.whats__mensagem h2 { margin-top: 0; }
.whats__prontas { display: flex; flex-wrap: wrap; gap: .35rem; margin-bottom: var(--e4); }
.whats__texto { width: 100%; background: #e7fbe9; border-color: #bfe8c4; border-radius: var(--raio-m); }
.whats__form .botao { margin-top: var(--e2); justify-content: center; }
.whats__voltar { display: none; }
.whats__vazio-grande { grid-column: span 2; text-align: center; color: var(--texto-suave); padding: var(--e8) var(--e5); }
@media (max-width: 80rem) { .whats { grid-template-columns: 18rem minmax(0, 1fr); } .whats__mensagem { grid-column: 2; } .whats__vazio-grande { grid-column: 2; } }
@media (max-width: 52rem) {
  .whats { grid-template-columns: 1fr; }
  .whats__mensagem, .whats__vazio-grande { grid-column: auto; }
  .whats--com-contato .whats__lista { display: none; }
  .whats:not(.whats--com-contato) .whats__vazio-grande { display: none; }
  .whats__voltar { display: inline-block; margin-bottom: var(--e3); }
}

/* Aviso de cookies (só aparece com o Google Analytics configurado) */
.cookies { position: fixed; z-index: 70; left: 0; right: 0; bottom: 0; background: var(--superficie); border-top: 1px solid var(--borda); box-shadow: 0 -6px 24px rgba(38, 39, 74, .14); padding: var(--e3) 0; }
.cookies[hidden] { display: none; }
.cookies__linha { display: flex; align-items: center; justify-content: space-between; gap: var(--e3) var(--e5); }
.cookies__titulo { margin: 0; font-family: var(--fonte-titulo); font-weight: 700; color: var(--indigo-noite); }
.cookies__texto { margin: .2rem 0 0; font-size: var(--t-sm); line-height: 1.45; color: var(--texto-suave); }
.cookies__texto a { color: var(--indigo); }
.cookies__botoes { display: flex; gap: .6rem; flex-shrink: 0; }
.cookies__botoes .botao { margin-top: 0; }
.rodape .rodape__cookies { color: var(--dourado); font-family: inherit; font-size: inherit; }
.rodape .rodape__cookies:hover { color: #fff; }
@media (max-width: 48rem) {
  .cookies__linha { flex-direction: column; align-items: stretch; }
  .cookies__botoes { flex-direction: column-reverse; }
  .cookies__botoes .botao { width: 100%; justify-content: center; }
  body:has(.cookies:not([hidden])) .doe-fixo { display: none; } /* o aviso ocupa o rodapé até a pessoa escolher */
}
