/* ==========================================================================
   Masterclass em Produtividade e Inclusão no Setor Público
   Infoco RH · online e ao vivo · 15 e 16 de fevereiro de 2027 — site v2, direção "Sol nascente"
   Sem animação: nenhum quadro-chave; só transições de cor (≤ .15s) em hover/foco.
   Gerado a partir de _trabalho/ (build.py); este CSS é editado direto aqui.
   Sumário
     1. Tokens              2. Base                 3. Tipografia, rótulos, listas
     4. Botões e links      5. Topbar e cabeçalho   6. Hero (banner)        7. Contagem
     8. Apresentação        9. Números (menta)     10. Ementa              11. Assinatura "Incluir"
    12. Professor          13. Público e metodologia                       14. Horários (quadro)       
    15. Investimento e pagamento                   16. Perguntas           17. Rodapé
    18. Barra fixa e WhatsApp                      19. Páginas internas (topo, acordeão, professor, contato, investimento)
    20. Responsivo         21. Movimento reduzido e impressão
   ========================================================================== */

/* ---------- 1. Tokens ---------- */
/* Algarismos: a Atkinson Hyperlegible Next desenha o zero cortado (lê como "Ø"); os dígitos do texto usam os da
   Bricolage Grotesque (mesmo arquivo já baixado para os títulos; unicode-range = só 0–9). */
@font-face {
  font-family: "Algarismos"; font-style: normal; font-weight: 400 700; font-display: swap; unicode-range: U+0030-0039;
  src: url(https://fonts.gstatic.com/s/bricolagegrotesque/v9/3y9K6as8bTXq_nANBjzKo3IeZx8z6up5BeSl9D4dj_x9PpZBMlGIInE.woff2) format("woff2");
}
:root {
  /* florestas (escuros) */
  --f950: #0B201B;
  --f900: #102C26;
  --f850: #193B32;
  --f800: #234A40;
  --f700: #2F5A4E;
  /* menta (destaque) — nunca como texto pequeno sobre claro */
  --menta: #56E3BD;
  --menta-clara: #9BF0CF;
  --menta-funda: #3FCFA7;
  /* verde da logo */
  --verde: #3A7D6A;
  --verde-texto: #24604F;
  /* claros */
  --branco: #FFFFFF;
  --nevoa: #EDF6F1;
  --linha: #D4E6DD;
  --pessego: #FFE8DE;
  --laranja-infoco: #FF693A;
  /* textos sobre claro */
  --tit: #0E2620;
  --corpo: #3A4F49;
  --apoio: #5E716B;
  /* textos sobre escuro */
  --tit-esc: #FFFFFF;
  --corpo-esc: #D3E6DE;
  --apoio-esc: rgba(255, 255, 255, .68);
  --linha-esc: rgba(255, 255, 255, .12);
  --whats: #25D366;
  /* fontes */
  --f-tit: "Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;
  --f-txt: "Algarismos", "Atkinson Hyperlegible Next", "Atkinson Hyperlegible", "Segoe UI", system-ui, sans-serif;
  /* medidas */
  --max: 1320px;
  --respiro: clamp(16px, 4vw, 32px);
  --secao: clamp(64px, 7vw, 112px);
  --raio-painel: 24px;
  --raio-foto: 14px;
  --cab-h: 84px;
  --top-h: 44px;
  --foco: var(--f850);
}

/* ---------- 2. Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: calc(var(--cab-h) + 16px); }
body {
  margin: 0;
  font: 400 17px/1.65 var(--f-txt);
  color: var(--corpo);
  background: var(--branco);
  text-rendering: optimizeLegibility;
  overflow-x: clip;
}
h1, h2, h3, h4, p, ul, ol, dl, dd, figure, blockquote, address { margin: 0; }
ul, ol { padding: 0; list-style: none; }
img, svg { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; }
address { font-style: normal; }
table { border-collapse: collapse; }
button { font: inherit; }
:focus-visible { outline: 2px solid var(--foco); outline-offset: 3px; }
.escuro { --foco: var(--menta); }
.sr-only {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.recipiente {
  width: 100%;
  max-width: calc(var(--max) + 2 * var(--respiro));
  margin-inline: auto;
  padding-inline: var(--respiro);
}
.secao { padding-block: var(--secao); }
.escuro {
  background-color: var(--f850);
  color: var(--corpo-esc);
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
.nevoa { background: var(--nevoa); }
/* curvas de nível (textura do banner), estáticas */
.curvas { background-image: url(../img/curvas-escuro.svg); background-size: cover; background-position: center; background-repeat: no-repeat; }
.pular {
  position: absolute; left: 16px; top: -100px; z-index: 100;
  padding: 12px 20px; border-radius: 999px;
  background: var(--menta); color: var(--f900); font-weight: 700; text-decoration: none;
}
.pular:focus { top: 12px; }
.ic { flex: none; }
.simbolo { overflow: visible; }

/* ---------- 3. Tipografia, rótulos, listas ---------- */
h1, h2, h3, h4 { font-family: var(--f-tit); font-weight: 500; color: var(--tit); line-height: 1.1; letter-spacing: -.005em; text-wrap: balance; }
.escuro h1, .escuro h2, .escuro h3, .escuro h4 { color: var(--tit-esc); }
.titulo-grande { font-size: clamp(38px, 4.9vw, 70px); line-height: 1.02; letter-spacing: -.01em; }
.titulo-medio { font-size: clamp(32px, 3.5vw, 50px); line-height: 1.06; letter-spacing: -.01em; }
.rotulo {
  margin-bottom: 16px;
  font: 600 15.5px/1.3 var(--f-txt);
  color: var(--verde-texto);
}
.escuro .rotulo { color: var(--menta); }
.lead { font-size: 19.5px; line-height: 1.6; color: var(--tit); }
.num { font-variant-numeric: tabular-nums; }
.sem-quebra { white-space: nowrap; }


/* subtítulos de lista */
.sub-tit { margin: 34px 0 14px; font-size: 22px; letter-spacing: -.01em; }
.sub-tit-topo { margin-top: 0; }

/* lista com filetes em 2 colunas (perfis, temas de palestra): marcador cápsula curta + nome */
.lista-filetes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(20px, 3vw, 36px); }
.lista-filetes li {
  position: relative; display: flex; align-items: center; min-height: 52px; padding: 12px 0 12px 26px;
  border-top: 1px solid var(--linha);
  font: 600 17px/1.35 var(--f-txt); color: var(--tit);
}
.lista-filetes li::before { content: ""; position: absolute; left: 0; top: 50%; width: 12px; height: 5px; margin-top: -2.5px; border-radius: 3px; background: var(--verde); }
.lista-filetes-1 { grid-template-columns: minmax(0, 1fr); }
.nevoa .lista-filetes li { border-top-color: #C2DCD0; }

/* grade numerada (como as aulas acontecem): 4 × 3, numeral + nome, filete superior, sem caixas */
.metodos-bloco { margin-top: clamp(44px, 5vw, 72px); }
.metodos-bloco .sub-tit { margin-top: 0; margin-bottom: 18px; }
.metodos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: clamp(20px, 3vw, 40px); }
.metodos li { display: grid; align-content: start; gap: 10px; padding: 18px 0 24px; border-top: 1px solid var(--linha); }
.nevoa .metodos li { border-top-color: #C2DCD0; }
.met-n { font: 500 28px/1 var(--f-tit); color: var(--verde-texto); font-variant-numeric: tabular-nums; }
.met-nome { font: 600 17px/1.35 var(--f-txt); color: var(--tit); }

/* marcador de lista = cápsula curta horizontal (um "raio"), sem check */
.lista-raio { display: grid; gap: 12px; }
.lista-raio li { position: relative; padding-left: 26px; }
.lista-raio li::before {
  content: ""; position: absolute; left: 0; top: .72em;
  width: 12px; height: 5px; border-radius: 3px; background: var(--verde);
}
.escuro .lista-raio li::before { background: var(--menta); }

/* ---------- 4. Botões e links ---------- */
.botao {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 48px;
  padding: 14px 26px;
  border: 1.5px solid transparent;
  border-radius: 999px;
  font: 700 16px/1.2 var(--f-txt);
  text-decoration: none;
  text-align: center;
  cursor: pointer;
  transition: background-color .12s ease, border-color .12s ease, color .12s ease;
}
.botao-menta { background: var(--menta); color: var(--f900); }
.botao-menta:hover { background: var(--menta-clara); }
.botao-contorno { border-color: var(--f850); color: var(--f850); background: transparent; }
.botao-contorno:hover { background: var(--nevoa); }
.botao-contorno-claro { border-color: rgba(255, 255, 255, .5); color: var(--branco); background: transparent; }
.botao-contorno-claro:hover { background: rgba(255, 255, 255, .08); border-color: var(--branco); }
.botao-grande { min-height: 56px; padding: 16px 30px; font-size: 17px; }
.botao .ic-seta { width: 18px; height: 18px; }
.link-seta {
  display: inline-flex; align-items: center; gap: 8px;
  min-height: 44px;
  font-weight: 700; color: var(--verde-texto);
  text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 5px;
  text-decoration-color: rgba(36, 96, 79, .35);
  transition: text-decoration-color .12s ease, color .12s ease;
}
.link-seta:hover { text-decoration-color: currentColor; color: var(--tit); }
.escuro .link-seta { color: var(--menta); text-decoration-color: rgba(86, 227, 189, .4); }
.botoes-centro { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; }

/* ---------- 5. Topbar e cabeçalho ---------- */
.topbar {
  background: var(--f950); color: rgba(255, 255, 255, .72);
  font-size: 15px; line-height: 1.2;
  -webkit-font-smoothing: antialiased;
  --foco: var(--menta);
}
.topbar-in { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: var(--top-h); }
.topbar a { color: inherit; text-decoration: none; transition: color .12s ease; }
.topbar a:hover { color: var(--branco); }
.topbar p a { color: var(--branco); }
.topbar-contatos { display: flex; gap: 26px; }
.topbar-contatos a { display: inline-flex; align-items: center; gap: 8px; min-height: var(--top-h); }
.topbar-contatos .ic { width: 15px; height: 15px; color: var(--menta); }

.cabecalho {
  position: sticky; top: 0; z-index: 60;
  background: var(--f900);
  -webkit-font-smoothing: antialiased;
  --foco: var(--menta);
  transition: box-shadow .12s ease;
}
.cabecalho.rolado { box-shadow: 0 1px 0 rgba(255, 255, 255, .06), 0 8px 24px rgba(5, 20, 16, .28); }
.cabecalho-in { display: flex; align-items: center; gap: 32px; min-height: var(--cab-h); }
.marca { display: flex; align-items: center; min-height: 48px; flex: none; border-radius: 4px; }
.marca img { height: 52px; width: auto; max-width: none; }
.menu { display: flex; align-items: center; gap: 36px; margin-left: auto; }
.menu-lista { display: flex; gap: 32px; }
.menu-lista a {
  position: relative; display: inline-flex; align-items: center; min-height: 44px;
  font: 600 15.5px/1.2 var(--f-txt); color: rgba(255, 255, 255, .85); text-decoration: none;
  transition: color .12s ease;
}
.menu-lista a:hover { color: var(--branco); }
.menu-lista a[aria-current="page"] { color: var(--branco); }
.menu-lista a[aria-current="page"]::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 4px; height: 2px; border-radius: 2px; background: var(--menta);
}
.menu-destaque { min-height: 46px; padding: 12px 22px; }
.menu-contatos { display: none; }
.menu-botao { display: none; }

/* ---------- 6. Hero (o banner em tela cheia) ---------- */
.hero {
  --data: clamp(84px, min(9.6vw, 20vh), 184px);
  position: relative; isolation: isolate; overflow: hidden;
  display: flex; flex-direction: column;
  min-height: min(calc(100svh - var(--cab-h) - var(--top-h)), 1240px);
  background-color: var(--f850);
  background-image: url(../img/curvas-escuro.svg);
  background-size: cover; background-position: left center; background-repeat: no-repeat;
}
.hero-foto { position: absolute; top: 0; right: 0; bottom: 0; display: block; width: 52%; z-index: -2; }
.hero-foto img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: 6% 30%;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .28) 20%, rgba(0, 0, 0, .8) 40%, #000 56%);
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .28) 20%, rgba(0, 0, 0, .8) 40%, #000 56%);
}
/* véu no pé (legibilidade do selo e da faixa sobre a foto) */
.hero::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 46%; z-index: -1; pointer-events: none;
  background: linear-gradient(0deg, rgba(11, 32, 27, .82) 0%, rgba(11, 32, 27, .5) 45%, rgba(11, 32, 27, 0) 100%);
}
.hero-grade {
  flex: 1;
  display: grid;
  grid-template-columns: auto minmax(0, clamp(340px, 36vw, 580px)) minmax(0, 1fr);
  grid-template-rows: 1fr auto auto;
  column-gap: clamp(36px, 4.4vw, 76px);
  row-gap: 16px;
  padding-block: clamp(22px, 5vh, 64px) clamp(20px, 3.6vh, 44px);
}
.hero-chamada {
  grid-column: 1; grid-row: 2; align-self: end;
  max-width: 250px; margin-bottom: clamp(10px, 2.4vh, 26px);
  font-size: 15px; line-height: 1.4; color: var(--corpo-esc);
}
.hero-chamada strong { color: var(--menta); font-weight: 700; }
.hero-data { grid-column: 1; grid-row: 3; align-self: end; }
.data-dias {
  display: flex; align-items: baseline;
  font: 500 var(--data)/.8 var(--f-tit);
  letter-spacing: 0;
  color: var(--branco);
  font-variant-numeric: lining-nums;
}
.data-e { margin-inline: .32em .28em; font-size: .4em; font-weight: 400; letter-spacing: 0; color: rgba(255, 255, 255, .72); }
.data-mes {
  display: flex; align-items: center; gap: .32em;
  margin-top: calc(var(--data) * .14);
  font: 500 calc(var(--data) * .34)/1 var(--f-tit);
  letter-spacing: -.01em;
  color: var(--branco);
}
.data-barra { display: inline-block; width: 2px; height: .82em; border-radius: 2px; background: var(--menta); }
.hero-formato {
  white-space: nowrap;
  display: flex; align-items: center; gap: 10px;
  margin-top: 16px;
  font-size: 18px; line-height: 1.2; color: var(--corpo-esc);
}
.hero-formato strong { color: var(--branco); font-weight: 700; }
.hero-formato .ic { width: 22px; height: 22px; color: var(--menta); }
.hero-formato .data-barra { height: 1em; }
.hero-centro { grid-column: 2; grid-row: 1 / 4; align-self: center; }
.hero-centro h1 { margin: 0; }
.hero-centro h1 img { width: 100%; }
.hero-frase {
  max-width: 30ch;
  margin-top: clamp(14px, 2.6vh, 28px);
  font-size: 19px; line-height: 1.45; color: var(--corpo-esc);
}
.hero-botoes { display: flex; flex-wrap: wrap; gap: 12px; margin-top: clamp(18px, 3.4vh, 34px); }
.hero-selo {
  grid-column: 2 / 4; grid-row: 3; justify-self: end; align-self: end;
  display: flex; align-items: center; gap: 22px;
}
.vagas { text-align: right; font: 500 22px/1 var(--f-tit); color: var(--branco); letter-spacing: -.01em; }
.vagas strong { display: block; margin-top: 2px; font-weight: 600; font-size: 32px; color: var(--menta); letter-spacing: -.01em; }
.hero-infoco { display: block; border-radius: 4px; }
.hero-infoco img { width: auto; max-width: none; height: 58px; }

.hero-faixa {
  flex: none;
  border-top: 1px solid rgba(255, 255, 255, .14);
  background: rgba(11, 32, 27, .6);
}
.faixa-in { display: flex; align-items: center; gap: 32px; padding-block: 14px; }
.faixa-itens { display: flex; flex-wrap: wrap; align-items: center; row-gap: 10px; }
.faixa-itens > div { padding-inline: 26px; border-left: 1px solid rgba(255, 255, 255, .14); }
.faixa-itens > div:first-child { padding-left: 0; border-left: 0; }
.faixa-itens dt { font-size: 15px; line-height: 1.3; color: var(--apoio-esc); }
.faixa-itens dd { font: 500 22px/1.2 var(--f-tit); color: var(--branco); letter-spacing: -.01em; white-space: nowrap; }

/* ---------- 7. Contagem regressiva ---------- */
.contagem { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.hero .contagem { margin-left: auto; }
.contagem-rot { font-size: 15px; color: var(--apoio-esc); }
.contagem-lista { display: flex; flex-wrap: wrap; gap: 6px; }
.contagem-lista li {
  display: flex; align-items: baseline; gap: 4px;
  min-width: 64px; padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .08);
}
.contagem-lista span { font: 500 22px/1 var(--f-tit); color: var(--branco); font-variant-numeric: tabular-nums; }
.contagem-lista small { font-size: 13px; color: var(--apoio-esc); }
.contagem-fim { font-weight: 700; color: var(--branco); }
.contagem.acabou .contagem-rot, .contagem.acabou .contagem-lista { display: none; }

/* ---------- 8. Apresentação ---------- */
.apres-grade { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: clamp(40px, 6vw, 96px); align-items: center; }
.apres-texto h2 { max-width: 13ch; margin-bottom: 30px; }
.apres-texto p + p { margin-top: 18px; }
.apres-texto .lead { max-width: 60ch; }
.apres-texto p:not(.lead):not(.rotulo) { max-width: 60ch; }
.apres-texto .link-seta { margin-top: 22px; }
.painel { border-radius: var(--raio-painel); }
.temas {
  padding: clamp(28px, 3.4vw, 48px);
  background: var(--f850) url(../img/curvas-escuro.svg) center / cover no-repeat;
}
.temas h3 { font-size: 30px; letter-spacing: -.01em; color: var(--branco); }
.temas-sub { margin: 8px 0 26px; font-size: 16px; color: var(--apoio-esc); }
.temas-lista {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(5, 1fr); grid-auto-flow: column;
  column-gap: 28px; border-bottom: 1px solid var(--linha-esc);
}
.temas-lista li { display: flex; align-items: center; gap: 14px; min-height: 64px; padding-block: 10px; border-top: 1px solid var(--linha-esc); }
.tema-num { flex: none; width: 1.6em; font: 500 22px/1 var(--f-tit); color: var(--menta); font-variant-numeric: tabular-nums; }
.tema-nome { font: 500 20px/1.2 var(--f-tit); color: var(--branco); }

/* ---------- 9. Números (faixa menta chapada) ---------- */
.numeros { position: relative; isolation: isolate; overflow: hidden; background: var(--menta); color: var(--f900); padding-block: clamp(36px, 4.2vw, 60px); }
.numeros-simbolo { position: absolute; z-index: -1; right: -90px; top: 50%; width: auto; height: 168%; transform: translateY(-47%); color: var(--menta-funda); }
.numeros-lista { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: min(100%, calc(100vw - 2 * var(--respiro) - 300px)); }
.numeros-lista li { display: flex; align-items: baseline; gap: 16px; padding-inline: clamp(16px, 2.6vw, 40px); border-left: 1.5px solid rgba(16, 44, 38, .2); }
.numeros-lista li:first-child { padding-left: 0; border-left: 0; }
.num-grande { font: 500 clamp(64px, 7.4vw, 108px)/.85 var(--f-tit); letter-spacing: 0; color: var(--f900); }
.num-rot { max-width: 9ch; font: 600 17px/1.25 var(--f-txt); color: var(--f900); }

/* ---------- 10. Ementa (padrão do Orçamento) ---------- */
.cab-centro { max-width: 860px; margin: 0 auto clamp(40px, 5vw, 64px); text-align: center; }
.cab-centro h2 { margin-bottom: 22px; }
.cab-sub { font-size: 18px; color: var(--corpo); }
.modulos {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, auto); grid-auto-flow: column;
  column-gap: clamp(24px, 4vw, 56px);
}
.modulos li { border-bottom: 1px solid var(--linha); }
.modulos li:nth-child(1), .modulos li:nth-child(3) { border-top: 1px solid var(--linha); }
.modulos a {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: clamp(18px, 2.4vw, 32px);
  height: 100%;
  padding: clamp(22px, 2.4vw, 32px) clamp(12px, 1.6vw, 24px);
  color: inherit; text-decoration: none;
  transition: background-color .12s ease;
}
.modulos a:hover { background: var(--nevoa); }
.mod-num { font: 500 clamp(44px, 4.4vw, 60px)/.9 var(--f-tit); letter-spacing: 0; color: var(--verde-texto); font-variant-numeric: tabular-nums; }
.mod-txt { display: grid; gap: 6px; }
.mod-tit { font: 500 clamp(20px, 1.8vw, 25px)/1.2 var(--f-tit); letter-spacing: -.01em; color: var(--tit); }
.mod-qtd { font-size: 15.5px; color: var(--apoio); }
.mod-seta {
  display: grid; place-items: center;
  width: 54px; height: 36px; border-radius: 999px;
  border: 1.5px solid var(--linha); color: var(--verde-texto);
  transition: background-color .12s ease, border-color .12s ease, color .12s ease;
}
.modulos a:hover .mod-seta { background: var(--menta); border-color: var(--menta); color: var(--f900); }
.ementa .botoes-centro { margin-top: clamp(36px, 4vw, 52px); }
.aviso { max-width: 880px; margin: 26px auto 0; text-align: center; font-size: 15px; line-height: 1.55; color: var(--apoio); }

/* ---------- 11. Assinatura "Incluir" (degraus + seta curva da logo) ---------- */
.proposta { overflow: hidden; }
.frase-incluir { display: block; font-weight: 500; }
.incluir-intro {
  display: block; max-width: 30ch;
  font: 500 clamp(22px, 2.3vw, 32px)/1.3 var(--f-tit);
  letter-spacing: 0;
  color: rgba(255, 255, 255, .72);
}
.degraus {
  position: relative; display: block;
  container-type: inline-size;
  margin-top: clamp(20px, 3vw, 40px);
  aspect-ratio: 1320 / 640;
}
.degrau {
  position: relative; z-index: 1; display: block;
  font: 500 8cqi/1 var(--f-tit);
  letter-spacing: 0;
  color: var(--branco);
  white-space: nowrap;
}
.d2 { margin-left: 14cqi; }
.d3 { margin-left: 28cqi; }
.quebra { display: block; }
.degraus-seta { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; overflow: visible; }
.seta-corpo { fill: none; stroke: var(--menta); stroke-width: 44; stroke-linecap: round; }
.seta-ponta { fill: var(--menta); stroke: var(--menta); stroke-width: 14; stroke-linejoin: round; }
.proposta-pe {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 32px 64px;
  margin-top: clamp(28px, 3vw, 44px);
  padding-top: 32px; border-top: 1px solid var(--linha-esc);
}
.proposta-pe p { max-width: 70ch; font-size: 18px; }

/* ---------- 12. Professor (meia tela: painel névoa sangrando até a borda) ---------- */
.prof-grade {
  display: grid;
  grid-template-columns: minmax(var(--respiro), 1fr) minmax(0, 600px) minmax(0, 720px) minmax(var(--respiro), 1fr);
  align-items: stretch;
}
.prof-painel {
  grid-column: 1 / 3;
  position: relative; isolation: isolate; overflow: hidden;
  display: grid; place-items: start end;
  min-height: 600px;
  padding: clamp(40px, 5vw, 72px) clamp(24px, 4vw, 64px);
  background: var(--nevoa) url(../img/curvas-claro.svg) center / cover no-repeat;
  border-radius: 0 var(--raio-painel) var(--raio-painel) 0;
}
.prof-simbolo { position: absolute; z-index: -1; left: -9%; bottom: -6%; width: min(82%, 520px); height: auto; color: var(--branco); }
.prof-foto { width: min(100%, 422px); border-radius: var(--raio-foto); }
.prof-texto { grid-column: 3; align-self: center; padding-left: clamp(32px, 5.4vw, 88px); }
.prof-cargo { margin-top: 14px; font-size: 19px; color: var(--tit); }
.marcos { margin: 30px 0 34px; border-top: 1px solid var(--linha); }
.marcos > div { display: grid; grid-template-columns: minmax(0, 200px) minmax(0, 1fr); gap: 8px 28px; padding-block: 16px; border-bottom: 1px solid var(--linha); }
.marcos dt { font: 500 18px/1.3 var(--f-tit); color: var(--tit); letter-spacing: -.01em; }
.marcos dd { font-size: 16px; line-height: 1.55; }

/* ---------- 13. Público e metodologia ---------- */
.publico-grade { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(40px, 6vw, 96px); }
.publico-col h2 { margin-bottom: 22px; }
.publico-col > p:not(.rotulo) { max-width: 62ch; }
.publico-grade { align-items: start; }
.objetivo-bloco {
  display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 16px clamp(36px, 6vw, 96px);
  grid-template-rows: auto 1fr;
  margin-top: clamp(44px, 5vw, 72px); padding-top: clamp(28px, 3vw, 40px); border-top: 1px solid #C2DCD0;
}
.objetivo-bloco .rotulo { grid-column: 1; grid-row: 1; }
.objetivo-bloco .objetivo { grid-column: 2; grid-row: 1 / span 2; }
.objetivo-bloco .link-seta { grid-column: 1; grid-row: 2; align-self: start; justify-self: start; }
.objetivo-bloco .rotulo { margin-bottom: 6px; }
.objetivo { font: 500 clamp(20px, 1.8vw, 25px)/1.45 var(--f-tit); letter-spacing: -.005em; color: var(--tit); }
.publico .link-seta { margin-top: 22px; }

/* ---------- 14. Horários (quadro tipográfico de cartaz) ---------- */
.horarios-grade { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(36px, 6vw, 104px); align-items: center; }
.horarios-lado h2 { max-width: 12ch; }
.dias { display: flex; gap: 0; margin-top: clamp(28px, 3.4vw, 44px); }
.dias li { display: grid; gap: 6px; padding-right: 32px; }
.dias li + li { padding-left: 32px; padding-right: 0; border-left: 1px solid var(--linha-esc); }
.dia-sem { font-size: 16px; color: var(--apoio-esc); }
.dia-data { font: 500 56px/1 var(--f-tit); letter-spacing: 0; color: var(--branco); font-variant-numeric: tabular-nums; }
.horarios-nota { margin: 26px 0 30px; padding-top: 18px; border-top: 1px solid var(--linha-esc); font-size: 17px; color: var(--corpo-esc); }
.horarios { width: 100%; }
.horarios tr { border-bottom: 1px solid var(--linha-esc); }
.horarios tbody tr:first-child { border-top: 1px solid var(--linha-esc); }
.horarios th, .horarios td { vertical-align: middle; }
.horarios th {
  padding: 20px 24px 20px 0; text-align: left; white-space: nowrap;
  font: 500 clamp(34px, 3.5vw, 48px)/1 var(--f-tit); letter-spacing: 0; color: var(--branco);
  font-variant-numeric: tabular-nums;
}
.horarios td { padding: 20px 0; text-align: right; font: 600 20px/1.2 var(--f-txt); color: var(--menta); }
.horarios .h-pausa th { padding-block: 13px; font-size: clamp(24px, 2.2vw, 28px); color: rgba(255, 255, 255, .7); }
.horarios .h-pausa td { padding-block: 13px; font-weight: 400; font-size: 17px; color: rgba(255, 255, 255, .6); }

/* ---------- 15. Investimento e pagamento ---------- */
.inv-cab { margin-bottom: clamp(32px, 4vw, 52px); }
.inv-grade { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(16px, 2vw, 28px); align-items: stretch; }
.inv-preco { display: flex; flex-direction: column; align-items: flex-start; padding: clamp(28px, 4vw, 56px); background: var(--nevoa); }
.inv-rotulo { font-weight: 600; color: var(--verde-texto); }
.preco-grande {
  margin-top: 10px;
  font: 500 clamp(60px, 8.4vw, 124px)/.9 var(--f-tit);
  letter-spacing: 0;
  color: var(--tit);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.preco-moeda { font-size: .36em; letter-spacing: -.01em; vertical-align: .9em; margin-right: .06em; }
.preco-por { margin: 14px 0 26px; font-size: 17px; color: var(--apoio); }
.incluso-bloco { margin-top: 36px; padding-top: 28px; border-top: 1px solid var(--linha); width: 100%; }
.incluso-bloco h3 { margin-bottom: 16px; font-size: 22px; letter-spacing: -.01em; }
.incluso-bloco li { color: var(--tit); }

.pagamento { padding: clamp(28px, 4vw, 56px); background: var(--f850); }
.pag-topo { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.pag-topo h3 { font-size: clamp(26px, 2.4vw, 34px); letter-spacing: -.01em; }
.pag-logo { width: auto; max-width: none; height: 46px; }
.pag-intro { margin: 18px 0 22px; font-size: 16.5px; }
.pag-dados > div {
  display: grid; grid-template-columns: minmax(0, 140px) minmax(0, 1fr) auto; align-items: center; gap: 4px 18px;
  padding-block: 9px; border-top: 1px solid var(--linha-esc);
}
.pag-dados > div:last-child { border-bottom: 1px solid var(--linha-esc); }
.pag-dados dt { font-size: 15px; color: var(--apoio-esc); }
.pag-dados dd { font-weight: 700; color: var(--branco); white-space: nowrap; }
.pag-dados dd.num { font: 500 20px/1.25 var(--f-tit); letter-spacing: 0; }
.copiar-item {
  display: inline-flex; align-items: center; gap: 6px;
  min-height: 44px; padding: 8px 14px;
  border: 1px solid rgba(255, 255, 255, .22); border-radius: 999px;
  background: transparent; color: var(--corpo-esc);
  font-size: 15px; font-weight: 600; cursor: pointer;
  transition: background-color .12s ease, border-color .12s ease, color .12s ease;
}
.copiar-item:hover { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .5); color: var(--branco); }
.copiar-item svg { width: 17px; height: 17px; }
.copiar-item .ic-ok { display: none; }
.copiar-item.ok { border-color: var(--menta); color: var(--menta); }
.copiar-item.ok .ic-copiar { display: none; }
.copiar-item.ok .ic-ok { display: block; }
.copiar-tudo {
  display: flex; align-items: center; gap: 14px; width: 100%;
  margin-top: 22px; padding: 16px 22px;
  border: 0; border-radius: 18px;
  background: var(--menta); color: var(--f900); text-align: left; cursor: pointer;
  transition: background-color .12s ease;
}
.copiar-tudo:hover { background: var(--menta-clara); }
.copiar-tudo .ic { width: 24px; height: 24px; }
.copiar-tudo-txt { display: grid; gap: 2px; }
.copiar-tudo-tit { font-weight: 700; font-size: 17px; }
.copiar-tudo-sub { font-size: 15px; }
.copiar-aviso { min-height: 1.5em; margin-top: 10px; font-size: 15px; color: var(--apoio-esc); }

/* ---------- 16. Perguntas frequentes ---------- */
.perg-grade { display: grid; grid-template-columns: minmax(0, 4.2fr) minmax(0, 7.8fr); gap: clamp(36px, 6vw, 96px); align-items: start; }
.perg-cab h2 { margin-bottom: 20px; }
.perg-cab p:not(.rotulo) { font-size: 16.5px; }
.perg-cab p a { color: var(--verde-texto); font-weight: 700; text-underline-offset: 3px; }
.faq { border-top: 1px solid #C9DED4; }
.faq details { border-bottom: 1px solid #C9DED4; }
.faq summary {
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  min-height: 44px; padding: 22px 4px;
  font: 500 clamp(19px, 1.7vw, 23px)/1.3 var(--f-tit); letter-spacing: -.01em; color: var(--tit);
  cursor: pointer; list-style: none;
  transition: color .12s ease;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary:hover { color: var(--verde-texto); }
.faq summary .ic { width: 22px; height: 22px; color: var(--verde-texto); }
.faq details[open] .ic-mais-v { display: none; }
.faq-resp { padding: 0 48px 24px 4px; }
.faq-resp a { color: var(--verde-texto); font-weight: 700; text-underline-offset: 3px; }

/* ---------- 17. Rodapé ---------- */
.rodape { background: var(--f900); padding-top: clamp(56px, 6vw, 88px); font-size: 16px; }
.rodape-grade { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .8fr) minmax(0, 1.25fr) minmax(0, .85fr); gap: 40px 48px; padding-bottom: 48px; }
.rodape-logo { display: inline-block; border-radius: 4px; }
.rodape-logo img { width: 230px; }
.rodape-evento { margin-top: 18px; color: var(--corpo-esc); }
.rodape-selos { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 28px 36px; margin-top: 30px; }
.selo p { margin-bottom: 10px; font-size: 15px; color: var(--apoio-esc); }
.selo a { display: inline-flex; align-items: center; min-height: 48px; border-radius: 4px; }
.selo-infoco { width: auto; max-width: none; height: 50px; }
.selo-np { width: auto; max-width: none; height: 44px; }
.rodape-col h2 { margin-bottom: 16px; font: 600 15.5px/1.3 var(--f-txt); color: var(--menta); letter-spacing: 0; }
.rodape-col ul { display: grid; gap: 2px; }
.rodape-col a { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: var(--corpo-esc); text-decoration: none; transition: color .12s ease; }
.rodape-col a:hover { color: var(--branco); }
.rodape-contatos .ic { width: 18px; height: 18px; color: var(--menta); }
.rodape-col address { margin-top: 12px; color: var(--apoio-esc); line-height: 1.55; }
.rodape-redes { display: flex !important; gap: 10px !important; }
.rodape-redes a { justify-content: center; width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .2); }
.rodape-redes a:hover { border-color: var(--menta); color: var(--menta); }
.rodape-site { margin-top: 14px; color: var(--menta) !important; font-weight: 700; }
.rodape-base { position: relative; padding-right: 88px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 24px; padding-block: 22px; font-size: 15px; color: var(--apoio-esc); }
.rodape-base::before { content: ""; position: absolute; top: 0; left: var(--respiro); right: var(--respiro); border-top: 1px solid var(--linha-esc); }
.com-barra .rodape { padding-bottom: var(--barra-h, 84px); }

/* ---------- 18. Barra fixa de inscrição + WhatsApp (aparecem sem animação) ---------- */
.barra-inscricao {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 70;
  background: var(--f900);
  border-top: 1px solid rgba(255, 255, 255, .12);
  color: var(--corpo-esc);
  -webkit-font-smoothing: antialiased;
  --foco: var(--menta);
  visibility: hidden;
}
html.barra-on .barra-inscricao { visibility: visible; }
.barra-in { display: flex; align-items: center; gap: 24px; padding-block: 12px; }
.barra-logo { height: 42px; width: auto; max-width: none; flex: none; }
.barra-txt { min-width: 0; padding-left: 24px; border-left: 1px solid rgba(255, 255, 255, .14); }
.barra-tit { font-weight: 700; line-height: 1.3; color: var(--branco); }
.barra-info { font-size: 15px; line-height: 1.35; color: var(--apoio-esc); }
.barra-preco { margin-left: auto; white-space: nowrap; }
.barra-valor { font: 500 30px/1 var(--f-tit); letter-spacing: 0; color: var(--branco); }
.barra-inscricao .botao { flex: none; }

.whats-flutuante {
  position: fixed; right: 20px; bottom: 20px; z-index: 65;
  display: grid; place-items: center;
  width: 56px; height: 56px; border-radius: 50%;
  background: var(--whats); color: var(--branco);
  box-shadow: 0 6px 18px rgba(5, 20, 16, .3);
  visibility: hidden;
}
.whats-flutuante .ic { width: 30px; height: 30px; }
html.rolou .whats-flutuante { visibility: visible; }
html.barra-on .com-barra .whats-flutuante { bottom: calc(var(--barra-h, 72px) + 16px); }

/* ---------- 19. Páginas internas: topo, programação (acordeão), professor, contato, investimento ---------- */
/* topo curto escuro: curvas + foto da moça esmaecida à direita */
.topo {
  position: relative; isolation: isolate; overflow: hidden;
  background-color: var(--f850); background-image: url(../img/curvas-escuro.svg);
  background-size: cover; background-position: center; background-repeat: no-repeat;
}
.topo-foto {
  position: absolute; top: 0; right: 0; bottom: 0; z-index: -1;
  width: 46%; height: 100%; object-fit: cover; object-position: 30% 28%;
  opacity: .42;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 60%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 60%);
}
.topo-in { padding-block: clamp(40px, 5.4vw, 80px) clamp(44px, 5.6vw, 84px); }
.migalhas ol { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; font-size: 15px; color: var(--apoio-esc); }
.migalhas li { display: flex; align-items: center; gap: 10px; }
.migalhas li + li::before { content: ""; width: 12px; height: 5px; border-radius: 3px; background: var(--menta); }
.migalhas a { display: inline-flex; align-items: center; min-height: 44px; color: var(--corpo-esc); text-underline-offset: 3px; }
.migalhas a:hover { color: var(--branco); }
.topo h1 { max-width: 16ch; margin-top: 10px; font-size: clamp(42px, 6vw, 88px); line-height: 1; letter-spacing: -.01em; }
.topo-sub { max-width: 54ch; margin-top: 18px; font-size: 19px; line-height: 1.55; color: var(--corpo-esc); }
.topo-evento { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-top: 22px; font-size: 16px; color: var(--apoio-esc); }
.topo-evento .ic { width: 20px; height: 20px; color: var(--menta); }
.topo-evento strong { color: var(--branco); font-weight: 700; }

/* leitura (texto corrido) */
.leitura p + p { margin-top: 20px; }
.leitura .lead + p { margin-top: 24px; }
.leitura p { max-width: 68ch; }

/* programação: apresentação */
.pg-apres { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: clamp(36px, 6vw, 96px); align-items: start; }
.pg-lado h2 { margin-bottom: 26px; }
.pg-indice { display: grid; border-top: 1px solid var(--linha); }
.pg-indice a {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px;
  border-bottom: 1px solid var(--linha); color: var(--tit); font-weight: 700; text-decoration: none;
  transition: color .12s ease;
}
.pg-indice a:hover { color: var(--verde-texto); }
.pg-indice .ic { color: var(--verde-texto); }
.pg-indice-tit { margin-bottom: 10px; font-size: 15.5px; font-weight: 600; color: var(--verde-texto); }

/* programação: objetivo e metodologia / público */
.pg-duas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(36px, 6vw, 96px); align-items: start; }
.pg-duas h2 { margin-bottom: 24px; }
.objetivo-grande { font: 500 clamp(20px, 1.7vw, 24px)/1.45 var(--f-tit); letter-spacing: -.005em; color: var(--tit); }

/* acordeão (padrão do Orçamento): número | rótulo + título | N temas | +/– */
.ac-ferramentas { display: flex; justify-content: flex-end; gap: 10px; margin-bottom: 18px; }
.no-js .ac-ferramentas { display: none; }
.ac-ferr {
  min-height: 44px; padding: 10px 20px; border: 1.5px solid var(--linha); border-radius: 999px;
  background: var(--branco); color: var(--tit); font-weight: 700; font-size: 15px; cursor: pointer;
  transition: border-color .12s ease, background-color .12s ease;
}
.ac-ferr:hover { border-color: var(--f850); background: var(--nevoa); }
.acordeao { border-top: 1px solid var(--linha); }
.ac-item { border-bottom: 1px solid var(--linha); }
.ac-cab { margin: 0; font: inherit; letter-spacing: 0; }
.ac-botao {
  display: grid; grid-template-columns: 96px minmax(0, 1fr) auto 48px; align-items: center; gap: 28px;
  width: 100%; padding: 28px 20px; border: 0; background: transparent; text-align: left; cursor: pointer;
  color: inherit; font-family: var(--f-txt);
  transition: background-color .12s ease;
}
.ac-botao:hover { background: var(--nevoa); }
.ac-n { font: 500 64px/.9 var(--f-tit); color: var(--verde-texto); font-variant-numeric: tabular-nums; }
.ac-txt { display: block; min-width: 0; }
.ac-rot { display: block; font-size: 15.5px; font-weight: 600; color: var(--verde-texto); }
.ac-tit { display: block; margin-top: 4px; font: 500 clamp(22px, 2.2vw, 30px)/1.2 var(--f-tit); letter-spacing: -.01em; color: var(--tit); text-wrap: balance; }
.ac-qtd { font-size: 15.5px; color: var(--apoio); white-space: nowrap; }
.ac-sinal {
  position: relative; width: 48px; height: 48px; border-radius: 50%; border: 1.5px solid var(--linha);
  transition: background-color .12s ease, border-color .12s ease;
}
.ac-sinal::before, .ac-sinal::after { content: ""; position: absolute; left: 50%; top: 50%; background: var(--verde-texto); border-radius: 2px; }
.ac-sinal::before { width: 16px; height: 2px; margin: -1px 0 0 -8px; }
.ac-sinal::after { width: 2px; height: 16px; margin: -8px 0 0 -1px; }
.ac-botao[aria-expanded="true"] .ac-sinal { background: var(--menta); border-color: var(--menta); }
.ac-botao[aria-expanded="true"] .ac-sinal::before, .ac-botao[aria-expanded="true"] .ac-sinal::after { background: var(--f900); }
.ac-botao[aria-expanded="true"] .ac-sinal::after { display: none; }
.ac-corpo { padding: 4px 20px 40px calc(96px + 48px); }
.temas-grade { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 56px; }
.tema { padding-block: 22px 24px; border-top: 1px solid var(--linha); }
.tema h4 { display: flex; gap: 12px; align-items: baseline; margin-bottom: 14px; font-size: 21px; line-height: 1.25; letter-spacing: -.005em; }
.tema-n { flex: none; font-weight: 500; color: var(--verde-texto); font-variant-numeric: tabular-nums; }
.tema .lista-raio { gap: 8px; }
.tema .lista-raio li { font-size: 16px; line-height: 1.5; }

/* chamada final das internas */
.chamada { text-align: center; }
.chamada h2 { max-width: 20ch; margin: 0 auto 18px; }
.chamada > .recipiente > p:not(.rotulo):not(.aviso) { max-width: 60ch; margin: 0 auto 30px; font-size: 18px; }

/* professor */
.bio-grade { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(36px, 6vw, 96px); align-items: center; }
.bio-foto { position: relative; isolation: isolate; overflow: hidden; display: grid; place-items: center; min-height: 520px; padding: clamp(28px, 4vw, 56px); border-radius: var(--raio-painel); background: var(--nevoa) url(../img/curvas-claro.svg) center / cover no-repeat; }
.bio-texto h2 { margin-bottom: 28px; }
.bio-texto .prof-cargo { margin: 0 0 28px; }
.marcos-grade { margin-top: clamp(28px, 4vw, 48px); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(28px, 4vw, 64px); }
.marco-col { padding-top: 22px; border-top: 2px solid var(--f850); }
.marco-col h3 { margin-bottom: 18px; font-size: 26px; letter-spacing: -.01em; }
.marco-col .lista-raio li { color: var(--tit); }

/* contato */
.ct-grade { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(32px, 5vw, 80px); align-items: start; }
.ct-grade h2 { margin-bottom: 26px; }
.canais { display: grid; border-top: 1px solid var(--linha); }
.canais > li { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 18px; padding-block: 18px; border-bottom: 1px solid var(--linha); }
.canal-ic { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--nevoa); color: var(--verde-texto); }
.canal-ic .ic { width: 22px; height: 22px; }
.canal-rot { font-size: 15px; color: var(--apoio); }
.canal-valor { font: 500 clamp(20px, 2vw, 25px)/1.3 var(--f-tit); letter-spacing: -.005em; color: var(--tit); overflow-wrap: anywhere; }
.canal-valor a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; transition: color .12s ease; }
.canal-valor a:hover { color: var(--verde-texto); }
.canal-redes { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px; }
.canal-redes a { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 8px 18px; border-radius: 999px; border: 1.5px solid var(--linha); font: 700 15.5px/1.2 var(--f-txt); color: var(--tit); text-decoration: none; transition: border-color .12s ease, background-color .12s ease; }
.canal-redes a:hover { border-color: var(--f850); background: var(--nevoa); }
.canal-redes .ic { width: 18px; height: 18px; color: var(--verde-texto); }
.evento-painel { padding: clamp(28px, 3.6vw, 48px); background: var(--f850); }
.evento-painel h2 { font-size: clamp(28px, 2.6vw, 36px); }
.evento-dados { margin: 22px 0 28px; border-top: 1px solid var(--linha-esc); }
.evento-dados > div { display: grid; grid-template-columns: minmax(0, 130px) minmax(0, 1fr); gap: 4px 16px; padding-block: 12px; border-bottom: 1px solid var(--linha-esc); }
.evento-dados dt { font-size: 15px; color: var(--apoio-esc); }
.evento-dados dd { font: 500 20px/1.3 var(--f-tit); color: var(--branco); }
.evento-painel .botoes { display: flex; flex-wrap: wrap; gap: 12px; }

/* investimento (página): horários + contagem */
.ins-contagem { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; margin-bottom: clamp(32px, 4vw, 52px); padding: 20px 26px; border-radius: var(--raio-painel); border: 1.5px solid rgba(255, 255, 255, .16); }
.ins-contagem-txt { font: 500 22px/1.25 var(--f-tit); color: var(--branco); }
.ins-contato { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 5vw, 80px); align-items: start; }
.ins-contato h2 { margin-bottom: 18px; }
.ins-contato .canais { border-top-color: #C9DED4; }
.ins-contato .canais > li { border-bottom-color: #C9DED4; }
.ins-contato .canal-ic { background: var(--branco); }
.ins-contato .botoes { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }

@media (max-width: 1179px) {
  .pg-apres, .bio-grade, .ct-grade, .ins-contato { gap: clamp(28px, 4vw, 48px); }
  .bio-foto { min-height: 0; }
  .marcos-grade { grid-template-columns: minmax(0, 1fr); }
  .marco-col .lista-filetes-1 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .pg-apres, .bio-grade, .ct-grade, .ins-contato { grid-template-columns: minmax(0, 1fr); }
  .bio-foto { width: 100%; max-width: 640px; margin-inline: auto; }
}
@media (max-width: 599px) {
  .marco-col .lista-filetes-1 { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 900px) {
  .pg-duas { grid-template-columns: minmax(0, 1fr); }
  .temas-grade { grid-template-columns: minmax(0, 1fr); }
  .ac-corpo { padding-left: 20px; }
  .ac-botao { grid-template-columns: 64px minmax(0, 1fr) 48px; gap: 16px; padding-inline: 12px; }
  .ac-n { font-size: 46px; }
  .ac-qtd { grid-column: 2; grid-row: 2; margin-top: -10px; }
  .ac-sinal { grid-column: 3; grid-row: 1 / span 2; }
  .topo-foto { width: 70%; opacity: .3; }
}
@media (max-width: 560px) {
  .evento-dados > div { grid-template-columns: minmax(0, 1fr); }
  .ins-contagem { padding: 18px; }
  .ins-contagem .contagem-lista li { padding: 8px 9px; }
  .ac-botao { grid-template-columns: minmax(0, 1fr) 48px; padding: 22px 6px; }
  .ac-n { display: none; }
  .ac-qtd { grid-column: 1; }
  .ac-sinal { grid-column: 2; }
  .ac-corpo { padding: 0 6px 28px; }
  .ac-ferramentas { justify-content: flex-start; }
  .bio-foto { place-items: center; padding: 20px; }
}

/* ---------- 20. Responsivo ---------- */
/* telas largas: foto mais estreita e a moça mais à direita (a logo não encosta no cabelo) */
@media (min-width: 1600px) {
  .hero-foto { width: 46%; }
  .hero-foto img { object-position: 0% 30%; }
}

/* topbar some em telas baixas (notebook) para o hero + faixa caberem */
@media (max-height: 700px) {
  :root { --top-h: 0px; }
  .topbar { display: none; }
}

@media (max-width: 1240px) {
  .faixa-in { gap: 24px; }
  .faixa-itens > div { padding-inline: 18px; }
  .faixa-itens dd { font-size: 20px; }
  .contagem-lista li { min-width: 0; padding: 8px 10px; }
  .rodape-grade { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rodape-marca { grid-column: 1 / -1; }
}

@media (max-width: 1179px) {
  .apres-grade { grid-template-columns: minmax(0, 1fr); }
  .horarios-grade { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
  .horarios-lado { display: contents; }
  .horarios-lado h2 { max-width: none; }
  .horarios-quadro { order: 5; margin-top: 36px; }
  .horarios-nota { order: 6; padding-top: 0; border-top: 0; }
  .horarios-lado .botao { order: 7; align-self: flex-start; }
  .metodos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* hero intermediário: duas colunas (texto | foto) — notebooks baixos de 1000–1099 ficam com o hero de mesa */
@media (max-width: 999px), (max-width: 1099px) and (min-height: 801px) {
  .hero { --data: clamp(80px, 11vw, 120px); }
  .hero-foto { width: 62%; }
  .hero-grade { grid-template-columns: minmax(0, 1fr) minmax(0, .72fr); grid-template-rows: none; row-gap: 0; align-content: center; }
  .hero-chamada, .hero-data, .hero-centro, .hero-selo { grid-column: 1; grid-row: auto; }
  .hero-chamada { max-width: 34ch; margin-bottom: 22px; }
  .hero-centro h1 { max-width: 460px; }
  .hero-foto img { object-position: 30% 30%; }
  .hero-data { order: 2; align-self: start; }
  .hero-centro { order: 3; align-self: start; margin-top: 30px; }
  .hero-chamada { order: 1; }
  .hero-selo { order: 4; grid-column: 2; grid-row: 1 / span 4; align-self: end; }
  .hero-frase { max-width: 40ch; }
  .faixa-in { flex-wrap: wrap; row-gap: 12px; }
  .hero .contagem { margin-left: 0; }
}

/* cabeçalho compacto + menu em painel de tela cheia */
@media (max-width: 900px) {
  :root { --cab-h: 70px; }
  .marca img { height: 42px; }
  .menu-botao {
    display: grid; place-items: center;
    margin-left: auto;
    width: 48px; height: 48px;
    border: 1px solid rgba(255, 255, 255, .22); border-radius: 50%;
    background: transparent; cursor: pointer;
  }
  .menu-botao-linhas, .menu-botao-linhas::before, .menu-botao-linhas::after {
    display: block; width: 20px; height: 2px; border-radius: 2px; background: var(--branco);
  }
  .menu-botao-linhas { position: relative; }
  .menu-botao-linhas::before, .menu-botao-linhas::after { content: ""; position: absolute; left: 0; }
  .menu-botao-linhas::before { top: -6px; }
  .menu-botao-linhas::after { top: 6px; }
  .menu-aberto .menu-botao-linhas { background: transparent; }
  .menu-aberto .menu-botao-linhas::before { top: 0; rotate: 45deg; }
  .menu-aberto .menu-botao-linhas::after { top: 0; rotate: -45deg; }
  .menu {
    position: fixed; inset: 0; z-index: -1;
    display: none; flex-direction: column; align-items: stretch; gap: 0;
    padding: calc(var(--cab-h) + 36px) var(--respiro) 32px;
    background: var(--f900);
    overflow-y: auto;
  }
  .menu-aberto .menu { display: flex; }
  .menu-aberto { overflow: hidden; }
  .menu-aberto .barra-inscricao, .menu-aberto .whats-flutuante { visibility: hidden !important; }
  .menu-lista { flex-direction: column; gap: 0; border-top: 1px solid var(--linha-esc); }
  .menu-lista a { width: 100%; padding: 16px 0; font: 500 30px/1.2 var(--f-tit); letter-spacing: -.01em; color: var(--branco); border-bottom: 1px solid var(--linha-esc); }
  .menu-lista a[aria-current="page"] { color: var(--menta); }
  .menu-lista a[aria-current="page"]::after { display: none; }
  .menu-destaque { margin-top: 28px; align-self: flex-start; padding: 16px 26px; }
  .menu-contatos { display: grid; gap: 6px; margin-top: auto; padding-top: 36px; font-size: 16px; }
  .menu-contatos a { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: var(--corpo-esc); text-decoration: none; overflow-wrap: anywhere; }
  .menu-contatos .ic { color: var(--menta); }
  .menu > * { flex-shrink: 0; }
  .barra-logo { display: none; }
  .barra-txt { padding-left: 0; border-left: 0; }
}

@media (max-width: 900px) {
  :root { --top-h: 0px; }
  .topbar { display: none; }
  .numeros-lista { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 28px; max-width: none; }
  .numeros-simbolo { display: none; }
  .numeros-lista li:nth-child(3) { padding-left: 0; border-left: 0; }
  .modulos { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; grid-auto-flow: row; }
  .modulos li:nth-child(3) { border-top: 0; }
  .prof-grade { grid-template-columns: minmax(0, 1fr); }
  .prof-painel { grid-column: 1; min-height: 0; margin-right: var(--respiro); }
  .prof-texto { grid-column: 1; padding: 44px var(--respiro) 0; }
  .publico-grade, .perg-grade, .inv-grade, .objetivo-bloco { grid-template-columns: minmax(0, 1fr); }
  .objetivo-bloco > * { grid-column: 1; grid-row: auto; }
  .objetivo-bloco .link-seta { margin-top: 10px; }
  .proposta-pe { grid-template-columns: minmax(0, 1fr); align-items: start; }
  .proposta-pe .botao { justify-self: start; }
  .barra-in { gap: 12px; }
}

/* hero do celular: foto vertical no topo, degradê para o verde, depois data, logo, botões e faixa */
@media (max-width: 760px) {
  .hero { --data: clamp(68px, 19vw, 104px); min-height: 0; background-image: none; }
  .hero::after { display: none; }
  .hero-foto { position: relative; width: 100%; height: clamp(200px, 36svh, 380px); z-index: -1; }
  .hero-foto img { object-position: 50% 40%; -webkit-mask-image: linear-gradient(180deg, #000 42%, transparent 94%); mask-image: linear-gradient(180deg, #000 42%, transparent 94%); }
  .hero-grade { display: flex; flex-direction: column; margin-top: -64px; padding-block: 0 32px; }
  .hero-centro { display: contents; }
  .hero-chamada { order: 1; align-self: auto; max-width: 32ch; margin: 0 0 12px; font-size: 15px; }
  .hero-centro h1 { order: 2; max-width: 400px; }
  .hero-data { order: 3; margin-top: 18px; display: grid; grid-template-columns: auto 1fr; align-items: end; column-gap: 18px; }
  .hero-data .data-dias { grid-row: 1 / span 2; }
  .hero-data .data-mes { margin: 0 0 6px; font-size: calc(var(--data) * .3); }
  .hero-data .hero-formato { margin: 0 0 4px; font-size: 16px; }
  .hero-botoes { order: 4; margin-top: 20px; }
  .hero-frase { order: 5; margin-top: 20px; }
  .hero-selo { order: 6; justify-self: start; margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--linha-esc); width: 100%; justify-content: space-between; }
  .vagas { text-align: left; }
  .hero-botoes { flex-direction: column; align-items: stretch; }
  .hero-botoes .botao { width: 100%; }
  .barra-logo { display: block; }
  .barra-txt { display: none; }
  .faixa-in { display: block; padding-block: 22px; }
  .faixa-itens { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 18px; }
  .faixa-itens > div, .faixa-itens > div:first-child { padding: 0; border: 0; }
  .hero .contagem { flex-wrap: wrap; margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--linha-esc); }
  .contagem-lista li { min-width: 0; padding: 8px 10px; }

  .degrau { font-size: 13cqi; line-height: 1.04; }
  .d2, .d3 { margin-left: 0; }
  .d2 { margin-left: 7cqi; }
  .d3 { margin-left: 14cqi; }
  .degraus { aspect-ratio: auto; padding-bottom: 30cqi; }
  .degraus-seta { inset: auto 0 0 auto; width: 70%; height: auto; aspect-ratio: 1320 / 640; top: auto; }
  .incluir-intro { font-size: 21px; }

  .marcos > div { grid-template-columns: minmax(0, 1fr); }
  .pag-dados > div { grid-template-columns: minmax(0, 1fr) auto; }
  .pag-dados dt { grid-column: 1; }
  .pag-dados dd { grid-column: 1; }
  .pag-dados .copiar-item { grid-column: 2; grid-row: 1 / span 2; }
  .rodape-grade { grid-template-columns: minmax(0, 1fr); }
  .rodape-marca { grid-row: auto; }
}

@media (max-width: 560px) {
  .numeros-lista li { flex-direction: column; gap: 6px; }
  .mod-seta { display: none; }
  .modulos a { grid-template-columns: auto minmax(0, 1fr); }
  .dia-data { font-size: 42px; }
  .dias li { padding-right: 24px; }
  .dias li + li { padding-left: 24px; }
  .horarios th { padding-right: 12px; font-size: clamp(26px, 8.4vw, 32px); }
  .horarios .h-pausa th { font-size: clamp(20px, 6.2vw, 24px); }
  .horarios td { font-size: 17px; }
  .horarios .h-pausa td { font-size: 15px; }
  .temas-lista { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; grid-auto-flow: row; }
  .temas-lista li { min-height: 56px; }
  .pag-topo { flex-wrap: wrap; }
  .barra-logo { height: 34px; }
  .barra-valor { font-size: 22px; }
  .barra-inscricao .botao { padding: 12px 16px; font-size: 15px; }
  .barra-inscricao .botao .ic-seta { display: none; }
  .faq-resp { padding-right: 4px; }
  .whats-flutuante { width: 50px; height: 50px; right: 12px; }
  .rodape-base { padding-right: 64px; }
  .whats-flutuante .ic { width: 27px; height: 27px; }
}

@media (max-width: 700px) {
  .metodos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 420px) {
  .metodos { grid-template-columns: minmax(0, 1fr); }
  .metodos li { grid-template-columns: 46px minmax(0, 1fr); align-items: baseline; gap: 12px; padding: 14px 0 16px; }
  .met-n { font-size: 24px; }
  .lista-filetes { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 400px) {
  .barra-logo { height: 30px; }
  .barra-in { gap: 10px; }
  .barra-inscricao .botao { padding: 11px 14px; }
  .barra-preco { display: none; }
  .barra-inscricao .botao { margin-left: auto; }
  .contagem-lista { gap: 4px; }
  .contagem-lista span { font-size: 20px; }
}

/* celular deitado: topo interno mais baixo */
@media (max-height: 500px) {
  .topo-in { padding-block: 24px 28px; }
  .topo h1 { font-size: 44px; }
  .topo-sub { margin-top: 10px; }
}

/* ---------- 21. Movimento reduzido e impressão ---------- */
@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; scroll-behavior: auto !important; }
}

@media print {
  .topbar, .cabecalho, .barra-inscricao, .whats-flutuante, .hero-foto, .degraus-seta, .numeros-simbolo, .prof-simbolo { display: none !important; }
  .escuro, .hero, .topo, .rodape, .numeros { background: #FFFFFF !important; color: #000000 !important; }
  .escuro h1, .escuro h2, .escuro h3, .degrau, .data-dias, .data-mes { color: #000000 !important; }
}

/* ==========================================================================
   22. Correções de responsividade (revisão de 19/10: desktop, notebook, tablet, celular)
   Só ajustes de encaixe — o visual aprovado não muda.
   ========================================================================== */

/* textos: sem órfãs, linhas de leitura confortáveis */
p { text-wrap: pretty; }
.topo-sub, .evento-dados dd, .prof-cargo { text-wrap: balance; }
.cab-centro .cab-sub { max-width: 64ch; margin-inline: auto; }
.aviso { max-width: 72ch; }
.proposta-pe p { max-width: 62ch; }
.faq-resp p, .leitura p { max-width: 66ch; }
.topo-evento-txt { min-width: 0; }

/* rodapé: 2 colunas em tablet (e-mail e endereço com largura de sobra) */
@media (max-width: 1040px) {
  .rodape-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .rodape-grade { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 400px) {
  .rodape-cnpj .sep { display: none; }
  .rodape-cnpj .sem-quebra:last-child { display: block; }
}
@media (max-width: 560px) {
  .canal-valor.endereco .sep { display: none; }
  .canal-valor.endereco .cep { display: block; }
}

/* topbar some quando a largura é de tablet (os contatos estão no rodapé e no menu) */
@media (max-width: 1040px) {
  :root { --top-h: 0px; }
  .topbar { display: none; }
}
/* 901–1040: menu inteiro no cabeçalho, mais compacto */
@media (min-width: 901px) and (max-width: 1040px) {
  .cabecalho-in { gap: 20px; }
  .menu { gap: 24px; }
  .menu-lista { gap: 22px; }
  .marca img { height: 46px; }
}

/* notebooks baixos: cabeçalho e barra fixa mais baixos */
@media (max-height: 700px) and (min-width: 901px) {
  :root { --cab-h: 68px; }
  .marca img { height: 44px; }
  .menu-destaque { min-height: 44px; padding: 10px 20px; }
  .barra-in { padding-block: 8px; }
  .barra-logo { height: 36px; }
  .barra-valor { font-size: 26px; }
}
/* "Incluir": em telas baixas a composição inteira cabe na altura */
@media (max-height: 760px) and (min-width: 901px) {
  .degraus { width: min(100%, calc((100svh - var(--cab-h) - 40px) * 1320 / 640)); }
}

/* hero: botões lado a lado em 1100–1199 (coluna central um pouco mais larga) */
@media (min-width: 1000px) and (max-width: 1199px) {
  .hero-grade { grid-template-columns: auto minmax(0, clamp(340px, 39vw, 580px)) minmax(0, 1fr); }
  .hero-botoes { gap: 8px; }
  .hero-botoes .botao { padding-inline: 18px; }
}
/* hero de mesa em notebook baixo de 1000–1099 (ex.: 1024×640, 1024×768) */
@media (min-width: 1000px) and (max-width: 1099px) and (max-height: 800px) {
  .hero { --data: clamp(72px, 8.4vw, 92px); }
  .hero-grade { column-gap: 28px; }
  .hero-infoco img { height: 46px; }
  .vagas strong { font-size: 26px; }
  .faixa-in { gap: 16px; }
  .faixa-itens > div { padding-inline: 14px; }
  .faixa-itens dd { font-size: 18px; }
  .contagem-lista li { padding: 6px 8px; }
}
/* tablet paisagem alto (iPad Pro 1366×1024): hero não se espalha pela altura */
@media (min-width: 1100px) and (max-width: 1440px) and (min-height: 900px) {
  .hero { min-height: min(calc(100svh - var(--cab-h) - var(--top-h)), 800px); }
}
/* hero intermediário: selo legível sobre a camisa clara (véu escuro mais alto, sem brilho) */
@media (max-width: 999px), (max-width: 1099px) and (min-height: 801px) {
  .hero::after { height: 62%; background: linear-gradient(0deg, rgba(11, 32, 27, .9) 0%, rgba(11, 32, 27, .72) 32%, rgba(11, 32, 27, 0) 100%); }
}
/* monitores largos: hero e faixa mais largos, data/logo/chamada maiores */
@media (min-width: 2200px) {
  .hero .recipiente { max-width: calc(1680px + 2 * var(--respiro)); }
  .hero { --data: clamp(84px, min(9.6vw, 20vh), 230px); }
  .hero-grade { grid-template-columns: auto minmax(0, 720px) minmax(0, 1fr); }
  .hero-chamada { max-width: 300px; font-size: 17px; }
  .hero-frase { font-size: 22px; }
  .botao-grande { min-height: 60px; font-size: 18px; }
  .hero-infoco img { height: 70px; }
  .vagas { font-size: 26px; }
  .vagas strong { font-size: 38px; }
}
/* celular estreito: "Online | ao vivo" desce para baixo da data, inteiro */
@media (max-width: 340px) {
  .hero-data .data-dias { grid-row: 1; }
  .hero-data .hero-formato { grid-column: 1 / -1; grid-row: 2; margin-top: 10px; }
}
/* tablet pequeno (561–760): botões do hero sem ocupar a largura toda */
@media (min-width: 561px) and (max-width: 760px) {
  .hero-botoes { flex-direction: row; flex-wrap: wrap; align-items: center; }
  .hero-botoes .botao { width: auto; }
}

/* faixa menta: rótulo embaixo do número em 901–1240, reserva menor para o símbolo */
@media (max-width: 1240px) {
  .numeros-lista { max-width: min(100%, calc(100vw - 2 * var(--respiro) - 200px)); }
  .numeros-lista li { flex-direction: column; gap: 8px; }
  .num-rot { max-width: none; }
}
@media (max-width: 900px) {
  .numeros-lista { max-width: none; }
}
@media (min-width: 1800px) {
  .numeros-simbolo { right: calc((100vw - var(--max)) / 2 - 260px); }
}

/* professor (home) */
@media (min-width: 901px) and (max-width: 1179px) {
  .prof-grade { align-items: start; }
  .prof-painel { min-height: 0; place-items: center; }
  .prof-simbolo { display: none; }
  .prof-texto { align-self: start; padding-left: clamp(28px, 4vw, 48px); }
  .marcos > div { grid-template-columns: minmax(0, 1fr); gap: 4px; }
}
@media (min-width: 1180px) {
  .prof-texto { align-self: start; }
}
@media (min-width: 1800px) {
  .prof-painel { grid-column: 2; border-radius: var(--raio-painel); place-items: center; }
  .prof-simbolo { width: min(46%, 300px); top: -6%; bottom: auto; left: -8%; }
}

/* investimento e pagamento: valores nunca quebram; painéis empilham quando não cabem */
@media (min-width: 761px) and (max-width: 1240px) {
  .pag-dados > div { grid-template-columns: minmax(0, 100px) minmax(0, 1fr) auto; gap: 4px 12px; }
}
@media (max-width: 1240px) {
  .pagamento, .inv-preco { padding: clamp(24px, 3vw, 40px); }
  .pag-topo h3 { font-size: 26px; }
}
@media (min-width: 1001px) and (max-width: 1240px) {
  .preco-grande { font-size: 6.6vw; }
  .copiar-item { width: 44px; padding: 0; justify-content: center; }
  .copiar-item .copiar-item-txt { display: none; }
}
@media (max-width: 1000px) {
  .inv-grade { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 480px) {
  .copiar-item { width: 44px; padding: 0; justify-content: center; }
  .copiar-item .copiar-item-txt { display: none; }
}
@media (max-width: 400px) {
  .preco-grande { font-size: clamp(44px, 15.5vw, 60px); }
  .inv-preco, .pagamento { padding: 24px 18px; }
  .pag-dados dd.num { font-size: 18px; }
  .contagem-lista { display: grid; grid-template-columns: repeat(4, auto); gap: 4px; }
  .contagem-lista li { padding: 6px 7px; }
  .contagem-lista span { font-size: 18px; }
  .ins-contagem { padding: 16px; }
}

/* internas */
@media (min-width: 1600px) {
  .topo-foto { object-position: 30% 12%; }
}
@media (max-width: 560px) {
  .topo-evento { align-items: flex-start; }
  .topo-evento strong { display: block; }
  .topo-evento .sep { display: none; }
}

/* celular deitado (altura ≤ 500): cabeçalho, barra, menu e hero compactos */
@media (max-height: 500px) and (orientation: landscape) {
  :root { --cab-h: 56px; --top-h: 0px; --secao: 44px; }
  .topbar { display: none; }
  .marca img { height: 34px; }
  .menu-botao { width: 44px; height: 44px; }
  .barra-in { padding-block: 6px; gap: 14px; }
  .barra-logo, .barra-txt { display: none; }
  .barra-valor { font-size: 20px; }
  .barra-inscricao .botao { padding: 10px 18px; min-height: 44px; }
  .menu { padding-top: calc(var(--cab-h) + 12px); }
  .menu-lista { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; }
  .menu-lista a { font-size: 22px; padding: 10px 0; }
  .menu-destaque { margin-top: 16px; padding: 12px 22px; }
  .menu-contatos { display: none; }

  .hero { --data: 56px; min-height: 0; background-image: url(../img/curvas-escuro.svg); }
  .hero::after { display: block; height: 50%; }
  .hero-foto { position: absolute; top: 0; right: 0; bottom: 0; width: 44%; height: auto; z-index: -2; }
  .hero-foto img {
    object-position: 30% 25%;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .5) 30%, #000 60%);
    mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .5) 30%, #000 60%);
  }
  .hero-grade { display: flex; flex-direction: column; align-items: stretch; margin-top: 0; padding-block: 16px 22px; padding-right: 46%; }
  .hero-centro { display: contents; }
  .hero-chamada { order: 1; align-self: auto; max-width: none; margin: 0 0 8px; font-size: 15px; }
  .hero-centro h1 { order: 2; max-width: 300px; }
  .hero-data { order: 3; margin-top: 12px; display: grid; grid-template-columns: auto 1fr; align-items: end; column-gap: 16px; }
  .hero-data .data-dias { grid-row: 1 / span 2; }
  .hero-data .data-mes { margin: 0 0 4px; font-size: 18px; }
  .hero-data .hero-formato { grid-column: auto; grid-row: auto; margin: 0 0 2px; font-size: 15px; }
  .hero-botoes { order: 4; margin-top: 14px; flex-direction: row; flex-wrap: wrap; align-items: center; }
  .hero-botoes .botao { width: auto; }
  .hero-frase { order: 5; margin-top: 16px; }
  .hero-selo { order: 6; justify-self: start; margin-top: 18px; padding-top: 0; border-top: 0; width: auto; justify-content: flex-start; }
  .vagas { text-align: left; }
}
@media (min-width: 901px) and (max-width: 1240px) {
  .evento-dados > div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
}
@media (min-width: 1560px) {
  .rodape-base { padding-right: var(--respiro); }
}
