/* ==========================================================================
   ATAC TREINAMENTOS — Design System "Sinalização de Resgate"
   --------------------------------------------------------------------------
   Conceito: a identidade visual de uma escola de emergências e resgates.
   - Fundo noturno de base de operações, com laranja de colete refletivo
     como sinal de ação e amarelo de fita refletiva como detalhe.
   - Tipografia condensada em caixa alta, herdada de placas de sinalização.
   - Fita zebrada (hazard) e "placas de dados" (fichas técnicas) como motivos.
   - Seções claras (papel) só para leitura longa; o resto é escuro.
   ========================================================================== */

/* ---------- 1. TOKENS ---------- */
:root {
	/* superfícies */
	--noite: #0b0f14;
	--asfalto: #121820;
	--grafite: #1b232d;
	--aco: #2a3441;
	--linha: #34414f;

	/* claras */
	--papel: #f3f1ec;
	--papel-2: #e8e5de;
	--branco: #ffffff;

	/* texto */
	--texto: #e9edf2;
	--texto-suave: #a7b2c0;
	--tinta: #10151c;
	--tinta-suave: #4a5564;

	/* sinais */
	--sinal: #ff5a1f;        /* laranja colete — ação principal */
	--sinal-escuro: #d94510;
	--refletivo: #ffd400;    /* amarelo fita refletiva — detalhe */
	--indigo: #2b2a7e;       /* azul do logotipo — uso pontual em fundo claro */
	--ok: #2fbf71;

	/* tipografia */
	--fonte-titulo: "Barlow Condensed", "Arial Narrow", "Roboto Condensed", Impact, sans-serif;
	--fonte-texto: "Barlow", "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;

	/* escala */
	--t-xs: .8125rem;
	--t-sm: .9375rem;
	--t-base: 1.0625rem;
	--t-lg: 1.25rem;
	--t-xl: clamp(1.5rem, 1.1rem + 1.4vw, 2rem);
	--t-2xl: clamp(2rem, 1.4rem + 2.4vw, 3.25rem);
	--t-hero: clamp(2.6rem, 1.4rem + 5.4vw, 5.8rem);

	/* espaço e forma */
	--e1: .5rem; --e2: 1rem; --e3: 1.5rem; --e4: 2.5rem; --e5: 4rem; --e6: 6.5rem;
	--raio: 3px;
	--largura: 1200px;
	--largura-texto: 70ch;
	--sombra: 0 18px 40px -18px rgba(0,0,0,.65);
	--ease: cubic-bezier(.2,.7,.2,1);
}

/* ---------- 2. BASE ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 5.5rem; -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	background: var(--noite);
	color: var(--texto);
	font-family: var(--fonte-texto);
	font-size: var(--t-base);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration-color: var(--sinal); text-underline-offset: .2em; }
a:hover { color: var(--refletivo); }
h1, h2, h3, h4 {
	font-family: var(--fonte-titulo);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .015em;
	line-height: 1.02;
	margin: 0 0 var(--e2);
	text-wrap: balance;
}
h1 { font-size: var(--t-hero); }
h2 { font-size: var(--t-2xl); }
h3 { font-size: var(--t-xl); }
h4 { font-size: var(--t-lg); letter-spacing: .05em; }
p { margin: 0 0 1em; text-wrap: pretty; }
ul, ol { margin: 0 0 1em; padding-left: 1.2em; }
:focus-visible { outline: 3px solid var(--refletivo); outline-offset: 3px; }
::selection { background: var(--sinal); color: #fff; }

.visualmente-oculto {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden;
	clip: rect(0 0 0 0); white-space: nowrap;
}
.pular-conteudo {
	position: absolute; left: -999px; top: 0; z-index: 200;
	background: var(--refletivo); color: var(--tinta); padding: .8rem 1.2rem; font-weight: 700;
}
.pular-conteudo:focus { left: 0; }

.container { width: min(100% - 2.5rem, var(--largura)); margin-inline: auto; }
.container--estreito { width: min(100% - 2.5rem, 860px); margin-inline: auto; }

/* ---------- 3. MOTIVOS: fita zebrada, fita refletiva, sobretítulo ---------- */
.fita-zebrada {
	height: 10px;
	background: repeating-linear-gradient(-45deg, var(--refletivo) 0 14px, var(--noite) 14px 28px);
}
.fita-zebrada--fina { height: 6px; }
.fita-refletiva {
	height: 3px; border: 0; margin: 0;
	background: linear-gradient(90deg, var(--sinal) 0 64px, var(--linha) 64px 100%);
}

.sobretitulo {
	display: inline-flex; align-items: center; gap: .6rem;
	font-family: var(--fonte-titulo); font-weight: 600; font-size: 1rem;
	text-transform: uppercase; letter-spacing: .22em;
	color: var(--sinal); margin: 0 0 var(--e2);
}
.sobretitulo::before { content: ""; width: .7rem; height: .7rem; background: var(--sinal); flex: none; }
.secao--papel .sobretitulo { color: var(--sinal-escuro); }
.secao--papel .sobretitulo::before { background: var(--sinal-escuro); }

/* ---------- 4. BOTÕES E SELOS ---------- */
.btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .6rem;
	font-family: var(--fonte-titulo); font-weight: 700; font-size: 1.15rem;
	text-transform: uppercase; letter-spacing: .08em; text-decoration: none;
	padding: .85rem 1.6rem; border: 2px solid transparent; border-radius: var(--raio);
	cursor: pointer; transition: transform .2s var(--ease), background .2s, color .2s, border-color .2s;
	line-height: 1.1;
}
.btn:hover { transform: translateY(-2px); }
.btn--sinal { background: var(--sinal); color: #fff; }
.btn--sinal:hover { background: var(--sinal-escuro); color: #fff; }
.btn--fantasma { border-color: var(--texto); color: var(--texto); background: transparent; }
.btn--fantasma:hover { background: var(--texto); color: var(--tinta); }
.secao--papel .btn--fantasma { border-color: var(--tinta); color: var(--tinta); }
.secao--papel .btn--fantasma:hover { background: var(--tinta); color: var(--papel); }
.btn svg { width: 1.25em; height: 1.25em; flex: none; }
.btn--grande { font-size: 1.35rem; padding: 1.05rem 2rem; }

.selo {
	display: inline-block; font-family: var(--fonte-titulo); font-weight: 700; font-size: .875rem;
	text-transform: uppercase; letter-spacing: .12em; line-height: 1;
	padding: .4rem .6rem .35rem; border-radius: 2px;
	background: var(--refletivo); color: var(--tinta);
}
.selo--online { background: #5ec8ff; }
.selo--hibrido { background: var(--refletivo); }
.selo--presencial { background: var(--sinal); color: #fff; }
.selo--fechada { background: transparent; color: var(--texto); border: 1.5px solid var(--texto-suave); }
.selo--encerrado { background: var(--aco); color: var(--texto); }

/* ---------- 5. CABEÇALHO ---------- */
.topo {
	position: sticky; top: 0; z-index: 100;
	background: rgba(11,15,20,.94); backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--grafite);
}
.topo__linha { display: flex; align-items: center; justify-content: space-between; gap: var(--e3); min-height: 4.5rem; }
.topo__logo img { height: 2.6rem; width: auto; }
.menu { display: flex; align-items: center; gap: .25rem; list-style: none; margin: 0; padding: 0; }
.menu a {
	display: block; padding: .6rem .9rem; text-decoration: none;
	font-family: var(--fonte-titulo); font-weight: 600; font-size: 1.1rem;
	text-transform: uppercase; letter-spacing: .1em; color: var(--texto);
	border-bottom: 3px solid transparent;
}
.menu a:hover { color: var(--refletivo); }
.menu a[aria-current="page"] { border-bottom-color: var(--sinal); }
.menu__cta { margin-left: .75rem; }
.menu__cta .btn { padding: .6rem 1.1rem; font-size: 1.05rem; }
.menu-botao {
	display: none; background: none; border: 2px solid var(--linha); color: var(--texto);
	width: 3rem; height: 3rem; border-radius: var(--raio); cursor: pointer; padding: 0;
}
.menu-botao span, .menu-botao span::before, .menu-botao span::after {
	display: block; width: 1.4rem; height: 2px; background: currentColor; margin: auto; position: relative; content: "";
}
.menu-botao span::before { position: absolute; top: -7px; left: 0; }
.menu-botao span::after { position: absolute; top: 7px; left: 0; }

@media (max-width: 920px) {
	.menu-botao { display: block; }
	.menu {
		position: absolute; left: 0; right: 0; top: 100%;
		flex-direction: column; align-items: stretch; gap: 0;
		background: var(--noite); border-bottom: 1px solid var(--grafite);
		padding: var(--e1) 1.25rem var(--e3);
		display: none;
	}
	.menu.aberto { display: flex; }
	.menu a { padding: 1rem .25rem; border-bottom: 1px solid var(--grafite); }
	.menu a[aria-current="page"] { border-bottom-color: var(--sinal); }
	.menu__cta { margin: var(--e2) 0 0; }
	.menu__cta .btn { width: 100%; }
}

/* ---------- 6. SEÇÕES ---------- */
.secao { padding-block: var(--e5); position: relative; }
.secao--escura { background: var(--asfalto); }
.secao--papel { background: var(--papel); color: var(--tinta); }
.secao--papel a { text-decoration-color: var(--sinal-escuro); }
.secao--papel a:hover { color: var(--sinal-escuro); }
.secao__cab { max-width: 52rem; margin-bottom: var(--e4); }
.secao__cab p { color: var(--texto-suave); font-size: var(--t-lg); margin: 0; }
.secao--papel .secao__cab p { color: var(--tinta-suave); }
@media (min-width: 900px) { .secao { padding-block: var(--e6); } }

/* ---------- 7. HERO ---------- */
.hero {
	position: relative; isolation: isolate; display: flex; align-items: flex-end;
	min-height: min(88vh, 54rem); padding-block: var(--e5) var(--e4);
	background: var(--noite) center / cover no-repeat;
}
.hero::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background:
		linear-gradient(180deg, rgba(11,15,20,.55) 0%, rgba(11,15,20,.15) 35%, rgba(11,15,20,.92) 100%),
		linear-gradient(90deg, rgba(11,15,20,.88) 0%, rgba(11,15,20,.35) 65%, rgba(11,15,20,.1) 100%);
}
.hero__conteudo { max-width: 52rem; }
.hero h1 { margin-bottom: var(--e3); }
.hero h1 em { font-style: normal; color: var(--sinal); }
.hero__texto { font-size: var(--t-lg); color: #dbe2ea; max-width: 40rem; margin-bottom: var(--e3); }
.hero__acoes { display: flex; flex-wrap: wrap; gap: var(--e2); }
.hero--curso { min-height: min(72vh, 44rem); }
.hero--curso h1 { font-size: clamp(2.3rem, 1.2rem + 4.6vw, 4.8rem); }
.hero__logo { width: clamp(6rem, 14vw, 9rem); margin-bottom: var(--e2); background: rgba(255,255,255,.96); padding: .5rem; border-radius: var(--raio); }
.hero__selos { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: var(--e2); }
.hero--pagina { min-height: 0; padding-block: var(--e5); background-color: var(--asfalto); }
.hero--pagina::before { background: linear-gradient(90deg, rgba(11,15,20,.9), rgba(11,15,20,.55)); }

/* faixa de números (logo abaixo do hero) */
.numeros { background: var(--grafite); border-block: 1px solid var(--linha); }
.numeros__lista { display: grid; grid-template-columns: repeat(2, 1fr); list-style: none; margin: 0; padding: 0; }
.numeros__lista li { padding: var(--e3) var(--e2); border-left: 1px solid var(--linha); }
.numeros__lista li:nth-child(odd) { border-left: 0; }
.numeros__valor { display: block; font-family: var(--fonte-titulo); font-weight: 700; font-size: clamp(2rem, 1.4rem + 2vw, 3rem); line-height: 1; color: var(--refletivo); text-transform: uppercase; }
.numeros__rotulo { font-size: var(--t-sm); color: var(--texto-suave); display: block; margin-top: .35rem; }
@media (min-width: 800px) {
	.numeros__lista { grid-template-columns: repeat(4, 1fr); }
	.numeros__lista li:nth-child(odd) { border-left: 1px solid var(--linha); }
	.numeros__lista li:first-child { border-left: 0; }
}

/* ---------- 8. CARDS DE CURSO ---------- */
.grupo-cursos + .grupo-cursos { margin-top: var(--e5); }
.grupo-cursos__titulo {
	display: flex; align-items: baseline; gap: var(--e2); flex-wrap: wrap;
	border-bottom: 1px solid var(--linha); padding-bottom: var(--e1); margin-bottom: var(--e3);
}
.grupo-cursos__titulo h3 { margin: 0; }
.grupo-cursos__titulo p { margin: 0; color: var(--texto-suave); font-size: var(--t-sm); }

.cards { display: grid; gap: var(--e3); grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr)); }
.card {
	position: relative; display: flex; flex-direction: column;
	background: var(--grafite); border: 1px solid var(--linha); border-top: 4px solid var(--sinal);
	border-radius: var(--raio); overflow: hidden; text-decoration: none; color: var(--texto);
	transition: transform .25s var(--ease), border-color .25s;
}
.card:hover { transform: translateY(-4px); border-top-color: var(--refletivo); color: var(--texto); }
.card__imagem { position: relative; aspect-ratio: 16 / 10; background: var(--aco); overflow: hidden; }
.card__imagem img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.card:hover .card__imagem img { transform: scale(1.05); }
.card__imagem--logo { background: #fff; display: grid; place-items: center; }
.card__imagem--logo img { width: 62%; height: 80%; object-fit: contain; }
.card:hover .card__imagem--logo img { transform: none; }
.card__selos { position: absolute; left: .75rem; top: .75rem; display: flex; gap: .35rem; flex-wrap: wrap; }
.card__corpo { padding: var(--e3); display: flex; flex-direction: column; flex: 1; }
.card__titulo { font-size: 1.65rem; margin-bottom: .6rem; }
.card__texto { color: var(--texto-suave); font-size: var(--t-sm); margin-bottom: var(--e2); }
.card__meta { margin-top: auto; display: flex; justify-content: space-between; align-items: center; gap: 1rem;
	font-family: var(--fonte-titulo); font-weight: 600; text-transform: uppercase; letter-spacing: .1em; font-size: 1rem; }
.card__meta span:last-child { color: var(--sinal); }
.card:hover .card__meta span:last-child { color: var(--refletivo); }

/* ---------- 9. SOBRE / DUAS COLUNAS ---------- */
.duas-colunas { display: grid; gap: var(--e4); align-items: center; }
.duas-colunas > * { min-width: 0; }
@media (min-width: 900px) {
	.duas-colunas { grid-template-columns: 5fr 7fr; gap: var(--e5); }
	.duas-colunas--inverso { grid-template-columns: 7fr 5fr; }
	.duas-colunas--topo { align-items: start; }
}
.moldura { position: relative; }
.moldura img { width: 100%; border-radius: var(--raio); box-shadow: var(--sombra); }
.moldura::after {
	content: ""; position: absolute; inset: 14px -14px -14px 14px; z-index: -1;
	border: 2px solid var(--sinal); border-radius: var(--raio);
}
.destaque-oficial {
	border-left: 4px solid var(--refletivo); background: rgba(255,212,0,.07);
	padding: var(--e2) var(--e3); margin: var(--e3) 0; font-size: var(--t-sm);
}
.secao--papel .destaque-oficial { background: rgba(255,212,0,.22); }
.destaque-oficial strong { font-family: var(--fonte-titulo); text-transform: uppercase; letter-spacing: .06em; font-size: 1.15rem; display: block; }

.clientes { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; margin: 0; }
.clientes li { border: 1px solid var(--linha); padding: .4rem .8rem; font-size: var(--t-sm); border-radius: 2px; color: var(--texto-suave); background: var(--grafite); }

/* ---------- 10. FICHA TÉCNICA (placa de dados) ---------- */
.ficha {
	background: var(--grafite); color: var(--texto); border: 1px solid var(--linha); border-radius: var(--raio);
	position: relative; padding: var(--e3);
}
.ficha::before { content: ""; position: absolute; left: -1px; top: -1px; width: 56px; height: 5px; background: var(--sinal); }
.ficha__titulo { font-size: 1.1rem; letter-spacing: .2em; color: var(--texto-suave); margin-bottom: var(--e2); }
.ficha dl { margin: 0; }
.ficha dt { font-family: var(--fonte-titulo); font-weight: 600; text-transform: uppercase; letter-spacing: .14em; font-size: .95rem; color: var(--sinal); margin-top: var(--e2); }
.ficha dt:first-child { margin-top: 0; }
.ficha dd { margin: .15rem 0 0; font-size: var(--t-base); }
.ficha .btn { width: 100%; margin-top: var(--e3); }
.ficha--lateral { position: sticky; top: 6rem; }

/* ---------- 11. TEXTO LONGO ---------- */
.texto-longo { max-width: var(--largura-texto); }
.texto-longo h3 { margin-top: var(--e4); }
.texto-longo h3:first-child { margin-top: 0; }
.lista-marcada { list-style: none; padding: 0; margin: 0 0 1em; }
.lista-marcada li { position: relative; padding-left: 1.5rem; margin-bottom: .45rem; }
.lista-marcada li::before { content: ""; position: absolute; left: 0; top: .62em; width: .6rem; height: .6rem; background: var(--sinal); }
.lista-duas { columns: 1; column-gap: var(--e4); }
@media (min-width: 800px) { .lista-duas { columns: 2; } .lista-duas li { break-inside: avoid; } }

/* acordeões de conteúdo programático */
.conteudo { display: grid; gap: .75rem; }
.conteudo details { background: var(--grafite); border: 1px solid var(--linha); border-radius: var(--raio); }
.secao--papel .conteudo details { background: var(--branco); border-color: #cfcac0; }
.conteudo summary {
	list-style: none; cursor: pointer; padding: 1rem 1.25rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem;
	font-family: var(--fonte-titulo); font-weight: 700; font-size: 1.35rem; text-transform: uppercase; letter-spacing: .04em;
}
.conteudo summary::-webkit-details-marker { display: none; }
.conteudo summary::after { content: "+"; font-size: 1.8rem; color: var(--sinal); line-height: 1; transition: transform .2s var(--ease); }
.conteudo details[open] summary::after { transform: rotate(45deg); }
.conteudo details[open] summary { border-bottom: 1px solid var(--linha); }
.secao--papel .conteudo details[open] summary { border-bottom-color: #e2ded5; }
.conteudo__corpo { padding: 1rem 1.25rem 1.25rem; }
.conteudo__corpo ul { margin: 0; }
.conteudo__acoes { margin-bottom: var(--e2); }
.conteudo__acoes button {
	background: none; border: 0; color: var(--sinal); font: inherit; font-weight: 600; cursor: pointer; padding: 0; text-decoration: underline; text-underline-offset: .2em;
}
.secao--papel .conteudo__acoes button { color: var(--sinal-escuro); }

/* cronograma */
.cronograma { display: grid; gap: var(--e2); counter-reset: dia; }
.cronograma__dia { position: relative; background: var(--grafite); border: 1px solid var(--linha); border-left: 4px solid var(--refletivo); padding: var(--e2) var(--e3); border-radius: var(--raio); }
.cronograma__dia h4 { color: var(--refletivo); margin-bottom: .5rem; }
.cronograma__dia ul { margin: 0; }

/* ---------- 12. GALERIA E LIGHTBOX ---------- */
.galeria { columns: 2; column-gap: .75rem; }
@media (min-width: 700px) { .galeria { columns: 3; } }
@media (min-width: 1100px) { .galeria { columns: 4; } }
.galeria__item { display: block; margin: 0 0 .75rem; break-inside: avoid; position: relative; overflow: hidden; border-radius: var(--raio); background: var(--aco); border: 0; padding: 0; width: 100%; cursor: zoom-in; }
.galeria__item img { width: 100%; transition: transform .5s var(--ease), filter .3s; }
.galeria__item:hover img { transform: scale(1.04); filter: brightness(1.1); }

.lightbox { position: fixed; inset: 0; z-index: 300; background: rgba(5,8,11,.95); display: none; align-items: center; justify-content: center; padding: 3.5rem 1rem 1rem; }
.lightbox.aberto { display: flex; }
.lightbox img { max-height: 100%; max-width: 100%; object-fit: contain; border-radius: var(--raio); }
.lightbox button {
	position: absolute; background: var(--grafite); color: var(--texto); border: 1px solid var(--linha);
	width: 3rem; height: 3rem; border-radius: var(--raio); font-size: 1.6rem; cursor: pointer; line-height: 1;
}
.lightbox button:hover { background: var(--sinal); border-color: var(--sinal); }
.lightbox__fechar { top: .75rem; right: .75rem; }
.lightbox__ant { left: .75rem; top: 50%; transform: translateY(-50%); }
.lightbox__prox { right: .75rem; top: 50%; transform: translateY(-50%); }

/* ---------- 13. INSTRUTORES ---------- */
.instrutores { display: grid; gap: var(--e3); grid-template-columns: repeat(auto-fill, minmax(min(100%, 21rem), 1fr)); }
.instrutor { background: var(--grafite); border: 1px solid var(--linha); border-top: 4px solid var(--indigo); border-radius: var(--raio); padding: var(--e3); }
.instrutor h3 { font-size: 1.6rem; margin-bottom: .2rem; }
.instrutor__nivel { font-family: var(--fonte-titulo); text-transform: uppercase; letter-spacing: .14em; font-size: .95rem; color: var(--refletivo); margin-bottom: var(--e2); }
.instrutor ul { margin: 0; font-size: var(--t-sm); color: var(--texto-suave); }
.instrutor li { margin-bottom: .25rem; }
.instrutor--destaque { display: grid; gap: var(--e3); align-items: center; }
@media (min-width: 700px) { .instrutor--destaque { grid-template-columns: 11rem 1fr; } }
.instrutor--destaque img { border-radius: var(--raio); width: 100%; }

.certificacoes { columns: 1; column-gap: var(--e4); font-size: var(--t-sm); }
@media (min-width: 800px) { .certificacoes { columns: 2; } }
.certificacoes li { break-inside: avoid; margin-bottom: .5rem; }

/* ---------- 14. EVENTOS REALIZADOS ---------- */
.evento { display: grid; background: var(--grafite); border: 1px solid var(--linha); border-radius: var(--raio); overflow: hidden; }
.evento + .evento { margin-top: var(--e3); }
@media (min-width: 800px) { .evento { grid-template-columns: 18rem 1fr; } }
.evento__imagem { background: #fff; display: grid; place-items: center; min-height: 12rem; }
.evento__imagem img { width: 100%; height: 100%; object-fit: cover; max-height: 22rem; }
.evento__imagem--logo img { object-fit: contain; width: 70%; padding: var(--e2); }
.evento__corpo { padding: var(--e3); }
.evento__data { font-family: var(--fonte-titulo); text-transform: uppercase; letter-spacing: .16em; color: var(--texto-suave); font-size: 1rem; margin-bottom: .5rem; display: flex; gap: .75rem; align-items: center; flex-wrap: wrap; }
.evento h3 { margin-bottom: .6rem; }
.tabela-edicoes { width: 100%; border-collapse: collapse; font-size: var(--t-sm); }
.tabela-edicoes th, .tabela-edicoes td { text-align: left; padding: .8rem 1rem; border-bottom: 1px solid var(--linha); }
.tabela-edicoes th { font-family: var(--fonte-titulo); text-transform: uppercase; letter-spacing: .14em; font-size: .95rem; color: var(--texto-suave); font-weight: 600; }

.palestrantes { display: grid; gap: var(--e2); grid-template-columns: repeat(auto-fill, minmax(min(100%, 22rem), 1fr)); }
.palestrante { background: var(--branco); border: 1px solid #d6d1c6; border-left: 4px solid var(--sinal); border-radius: var(--raio); padding: var(--e3); }
.palestrante h3 { font-size: 1.5rem; margin-bottom: .25rem; }
.palestrante__tema { color: var(--sinal-escuro); font-weight: 600; margin-bottom: var(--e1); }
.palestrante ul { margin: 0; font-size: var(--t-sm); color: var(--tinta-suave); }
.programacao { list-style: none; margin: 0; padding: 0; }
.programacao li { display: grid; grid-template-columns: 8.5rem 1fr; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid #d6d1c6; }
.programacao time { font-family: var(--fonte-titulo); font-weight: 700; font-size: 1.15rem; letter-spacing: .04em; color: var(--sinal-escuro); }
@media (max-width: 560px) { .programacao li { grid-template-columns: 1fr; gap: 0; } }

/* ---------- 15. CHAMADA FINAL ---------- */
.chamada { background: var(--sinal); color: #fff; position: relative; overflow: hidden; }
.chamada::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(-45deg, rgba(0,0,0,.07) 0 22px, transparent 22px 44px); }
.chamada .container { position: relative; display: grid; gap: var(--e3); align-items: center; padding-block: var(--e5); }
@media (min-width: 800px) { .chamada .container { grid-template-columns: 1fr auto; } }
.chamada h2 { margin: 0; }
.chamada p { margin: .5rem 0 0; font-size: var(--t-lg); }
.chamada .btn--fantasma { border-color: #fff; color: #fff; }
.chamada .btn--fantasma:hover { background: #fff; color: var(--sinal-escuro); }
.chamada .btn--escuro { background: var(--noite); color: #fff; }
.chamada .btn--escuro:hover { background: #000; color: var(--refletivo); }

/* ---------- 16. RODAPÉ ---------- */
.rodape { background: var(--noite); border-top: 1px solid var(--grafite); padding-top: var(--e5); font-size: var(--t-sm); color: var(--texto-suave); }
.rodape__grade { display: grid; gap: var(--e4); padding-bottom: var(--e4); }
@media (min-width: 800px) { .rodape__grade { grid-template-columns: 1.4fr 1fr 1fr 1.3fr; } }
.rodape img { height: 3rem; width: auto; margin-bottom: var(--e2); }
.rodape h4 { color: var(--texto); font-size: 1.1rem; letter-spacing: .16em; margin-bottom: var(--e2); }
.rodape ul { list-style: none; padding: 0; margin: 0; }
.rodape li { margin-bottom: .45rem; }
.rodape a { text-decoration: none; }
.rodape a:hover { text-decoration: underline; }
.rodape__base { border-top: 1px solid var(--grafite); padding-block: var(--e2); font-size: var(--t-xs); display: flex; flex-wrap: wrap; gap: .5rem 2rem; justify-content: space-between; }

.zap-flutuante {
	position: fixed; right: 1rem; bottom: 1rem; z-index: 90;
	width: 3.75rem; height: 3.75rem; border-radius: 50%; background: var(--ok); color: #fff;
	display: grid; place-items: center; box-shadow: 0 10px 28px -6px rgba(0,0,0,.6); transition: transform .2s var(--ease);
}
.zap-flutuante:hover { transform: scale(1.08); color: #fff; }
.zap-flutuante svg { width: 2rem; height: 2rem; }

/* ---------- 17. 404 / AVISOS ---------- */
.aviso { background: var(--grafite); border: 1px dashed var(--linha); padding: var(--e3); border-radius: var(--raio); }

/* ---------- 18. MOVIMENTO ---------- */
.js .revelar { opacity: 0; transform: translateY(22px); transition: opacity .7s var(--ease), transform .7s var(--ease); }
.js .revelar.visivel { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; animation: none !important; }
	.js .revelar { opacity: 1; transform: none; }
}

@media print {
	.topo, .rodape, .zap-flutuante, .fita-zebrada, .lightbox { display: none !important; }
	body { background: #fff; color: #000; }
}
