/* ═════════════════════════════════════════════════════════════════════════
   TEMPLATE IMPACTO — dark cinematográfico: luzes de palco, tipografia forte
   e a mensagem no centro (referências: Elevation, Bethel, Saddleback).
   Folha ÚNICA do site. CONTRATO DE THEMING: TODA cor vive no :root abaixo —
   mudar o tema inteiro = trocar SOMENTE este bloco. No restante use apenas
   var(...) e color-mix(). (Exceção: imagens em data-URI.)
   ═════════════════════════════════════════════════════════════════════════ */
:root {
  --p: #f97316;                          /* primária (laranja de palco) */
  --s: #fbbf24;                          /* secundária (âmbar) */
  --fundo: #0b0b12;                      /* noite */
  --fundo-suave: #12121d;                /* seções alternadas */
  --texto: #f4f4f8;                      /* branco quente */
  --texto-suave: #a7a9bd;
  --texto-nav: #c7c9da;
  --borda: #232336;
  --claro: #ffffff;
  --escuro: #020204;
  --nav-fundo: rgba(8, 8, 14, .86);
  --sombra: rgba(0, 0, 0, .55);
  --hero-veu-topo: rgba(2, 2, 6, .15);
  --hero-veu-base: rgba(4, 4, 9, .72);
  --rodape-fundo: #050508;
  --rodape-texto: #8e90a6;
  --rodape-borda: #1d1d2e;
  --ok: #22c55e;
}

/* ── base ──────────────────────────────────────────────────────────────── */
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  font-family: -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color: var(--texto); background: var(--fundo); line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: var(--p); }
:focus-visible { outline: 3px solid var(--s); outline-offset: 2px; }

.miolo { max-width: 1120px; margin: 0 auto; }
section { padding: 88px 6vw; }
.rotulo {
  font-size: .72rem; letter-spacing: .3em; text-transform: uppercase;
  font-weight: 800; color: var(--p);
}
h2 { font-size: clamp(1.8rem, 4vw, 2.7rem); font-weight: 900; letter-spacing: -.02em; margin: 8px 0 14px; text-transform: uppercase; line-height: 1.08; }
.intro { color: var(--texto-suave); max-width: 60ch; }

/* ── botões ────────────────────────────────────────────────────────────── */
.btn {
  display: inline-block; padding: 15px 34px; border-radius: 999px;
  text-decoration: none; font-weight: 800; font-size: .85rem;
  letter-spacing: .1em; text-transform: uppercase;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn-cheio {
  background: var(--p); color: var(--claro);
  box-shadow: 0 12px 38px color-mix(in srgb, var(--p) 45%, transparent);
}
.btn-cheio:hover { background: color-mix(in srgb, var(--p) 85%, var(--claro)); }
.btn-borda { border: 2px solid color-mix(in srgb, var(--claro) 55%, transparent); color: var(--claro); }
.btn-borda:hover { border-color: var(--claro); background: color-mix(in srgb, var(--claro) 10%, transparent); }
.btn-azul { background: var(--claro); color: var(--escuro); }
.btn-azul:hover { background: color-mix(in srgb, var(--claro) 85%, var(--p)); }
.btn-suave { border: 2px solid var(--borda); color: var(--texto); background: transparent; }
.btn-suave:hover { border-color: var(--p); color: var(--p); }

/* ── navegação ─────────────────────────────────────────────────────────── */
nav.topo {
  position: sticky; top: 0; z-index: 20;
  display: flex; justify-content: space-between; align-items: center; gap: 18px;
  padding: 16px 5vw; background: var(--nav-fundo);
  backdrop-filter: blur(12px); border-bottom: 1px solid var(--borda);
}
nav.topo .marca {
  font-weight: 900; color: var(--claro); font-size: 1rem; letter-spacing: .04em;
  text-transform: uppercase; text-decoration: none; white-space: nowrap;
}
nav.topo .links { display: flex; align-items: center; gap: 26px; font-size: .8rem; }
nav.topo .links a {
  color: var(--texto-nav); text-decoration: none; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase; padding: 6px 0;
}
nav.topo .links a:hover { color: var(--claro); }
nav.topo .links a[aria-current="page"] {
  color: var(--p); border-bottom: 2px solid var(--p); padding-bottom: 4px;
}
nav.topo .links a.destaque {
  background: var(--p); color: var(--claro); padding: 10px 22px;
  border-radius: 999px; border-bottom: none;
}
nav.topo .links a.destaque:hover { background: color-mix(in srgb, var(--p) 85%, var(--claro)); color: var(--claro); }

/* menu mobile 100% CSS */
nav.topo .menu-chave { display: none; }
nav.topo .menu-botao { display: none; cursor: pointer; padding: 6px; }
nav.topo .menu-botao span {
  display: block; width: 24px; height: 3px; border-radius: 3px;
  background: var(--claro); margin: 4px 0; transition: transform .2s ease, opacity .2s ease;
}

/* ── hero (palco) ──────────────────────────────────────────────────────── */
header.hero {
  position: relative; min-height: 88vh; display: flex; align-items: center;
  justify-content: center; text-align: center;
  padding: 12vh 6vw; color: var(--claro); overflow: hidden;
  background-image:
    linear-gradient(180deg, var(--hero-veu-topo), var(--hero-veu-base)),
    url('../img/hero.jpg'),
    url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNjAwIDkwMCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiPgogIDxkZWZzPgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJub2l0ZSIgeDE9IjAiIHkxPSIwIiB4Mj0iMCIgeTI9IjEiPgogICAgICA8c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiMwNTA1MDgiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIuNjUiIHN0b3AtY29sb3I9IiMwZDBkMTYiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMTYxMjFjIi8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJzcG90IiB4MT0iMCIgeTE9IjAiIHgyPSIwIiB5Mj0iMSI+CiAgICAgIDxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI2ZmYjM1YyIgc3RvcC1vcGFjaXR5PSIuOCIvPgogICAgICA8c3RvcCBvZmZzZXQ9Ii43IiBzdG9wLWNvbG9yPSIjZjk3MzE2IiBzdG9wLW9wYWNpdHk9Ii4xOCIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNmOTczMTYiIHN0b3Atb3BhY2l0eT0iMCIvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0ic3BvdDIiIHgxPSIwIiB5MT0iMCIgeDI9IjAiIHkyPSIxIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjZTBlNmZmIiBzdG9wLW9wYWNpdHk9Ii41Ii8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2UwZTZmZiIgc3RvcC1vcGFjaXR5PSIwIi8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPHJhZGlhbEdyYWRpZW50IGlkPSJicmFzYSIgY3g9Ii41IiBjeT0iMSIgcj0iLjgiPgogICAgICA8c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNmOTczMTYiIHN0b3Atb3BhY2l0eT0iLjQiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIuNiIgc3RvcC1jb2xvcj0iI2Y5NzMxNiIgc3RvcC1vcGFjaXR5PSIuMDgiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjZjk3MzE2IiBzdG9wLW9wYWNpdHk9IjAiLz4KICAgIDwvcmFkaWFsR3JhZGllbnQ+CiAgPC9kZWZzPgoKICA8cmVjdCB3aWR0aD0iMTYwMCIgaGVpZ2h0PSI5MDAiIGZpbGw9InVybCgjbm9pdGUpIi8+CgogIDwhLS0gbmVibGluYSBkZSBwYWxjbyAtLT4KICA8ZWxsaXBzZSBjeD0iODAwIiBjeT0iODgwIiByeD0iOTAwIiByeT0iMzYwIiBmaWxsPSJ1cmwoI2JyYXNhKSIvPgoKICA8IS0tIGNvbmVzIGRlIHNwb3RsaWdodCAtLT4KICA8cG9seWdvbiBwb2ludHM9IjI3MCwwIDMzMCwwIDY0MCw5MDAgMzQwLDkwMCIgZmlsbD0idXJsKCNzcG90KSIvPgogIDxwb2x5Z29uIHBvaW50cz0iMTI3MCwwIDEzMzAsMCAxMjYwLDkwMCA5NjAsOTAwIiBmaWxsPSJ1cmwoI3Nwb3QpIi8+CiAgPHBvbHlnb24gcG9pbnRzPSI3NzAsMCA4MzAsMCAxMDAwLDkwMCA2MDAsOTAwIiBmaWxsPSJ1cmwoI3Nwb3QyKSIgb3BhY2l0eT0iLjciLz4KICA8IS0tIHBvbnRvcyBkZSBsdXogZG8gcmlnIC0tPgogIDxnIGZpbGw9IiNmZmIzNWMiPgogICAgPGNpcmNsZSBjeD0iMzAwIiBjeT0iMTQiIHI9IjkiLz48Y2lyY2xlIGN4PSI4MDAiIGN5PSIxNCIgcj0iOSIvPjxjaXJjbGUgY3g9IjEzMDAiIGN5PSIxNCIgcj0iOSIvPgogIDwvZz4KCiAgPCEtLSBtdWx0aWTDo28gZW0gc2lsaHVldGEgY29tIG3Do29zIGxldmFudGFkYXMgLS0+CiAgPGcgZmlsbD0iIzAyMDIwNCI+CiAgICA8cGF0aCBkPSJNLTIwIDkwMCB2LTExNiBxNiAtMzQgMjQgLTM0IHExNSAwIDE5IDI4IGw4IC01MiBxNCAtMTYgMTIgLTE2IHE5IDAgMTIgMTggbDYgNDYgcTUgLTI2IDE3IC0yNiBxMTYgMCAxOSAzNiB2MTE2IFoiLz4KICAgIDxwYXRoIGQ9Ik0xOTUgOTAwIHYtMTA0IHE2IC0zNiAyNCAtMzYgcTE2IDAgMjAgMzAgbDggLTU2IHEzIC0xNSAxMSAtMTUgcTkgMCAxMiAxNyBsNyA1MCBxNSAtMjUgMTcgLTI1IHExNSAwIDE4IDM0IHYxMDUgWiIvPgogICAgPHBhdGggZD0iTTQ3MCA5MDAgdi0xMjIgcTYgLTMzIDIzIC0zMyBxMTUgMCAxOSAyNyBsOSAtNTUgcTQgLTE2IDEyIC0xNiBxOSAwIDExIDE4IGw3IDQ5IHE2IC0yNSAxNyAtMjUgcTE2IDAgMTkgMzUgdjEyMiBaIi8+CiAgICA8cGF0aCBkPSJNNzc1IDkwMCB2LTExMCBxNiAtMzcgMjUgLTM3IHExNiAwIDIwIDMwIGw4IC01OCBxNCAtMTYgMTIgLTE2IHExMCAwIDEyIDE5IGw3IDUxIHE1IC0yNiAxNyAtMjYgcTE2IDAgMTkgMzYgdjExMSBaIi8+CiAgICA8cGF0aCBkPSJNMTA4NSA5MDAgdi0xMTYgcTYgLTM0IDI0IC0zNCBxMTUgMCAxOSAyOCBsOSAtNTQgcTQgLTE1IDEyIC0xNSBxOSAwIDExIDE3IGw3IDQ5IHE1IC0yNSAxNyAtMjUgcTE2IDAgMTkgMzUgdjExNSBaIi8+CiAgICA8cGF0aCBkPSJNMTM5NSA5MDAgdi0xMDYgcTYgLTM2IDI0IC0zNiBxMTYgMCAyMCAyOSBsOCAtNTUgcTMgLTE1IDExIC0xNSBxOSAwIDEyIDE4IGw3IDQ5IHE1IC0yNSAxNiAtMjUgcTE1IDAgMTkgMzQgdjEwNyBaIi8+CiAgPC9nPgogIDxnIGZpbGw9IiMwNzA3MGMiIG9wYWNpdHk9Ii45Ij4KICAgIDxwYXRoIGQ9Ik05MCA5MDAgdi04OCBxNCAtMjYgMTggLTI2IHExMiAwIDE1IDIyIGw2IC00MCBxMyAtMTQgMTAgLTE0IHE4IDAgMTAgMTYgbDUgMzYgcTQgLTIwIDE0IC0yMCBxMTMgMCAxNiAzMCB2ODQgWiIvPgogICAgPHBhdGggZD0iTTYyMCA5MDAgdi05MiBxNSAtMjggMTkgLTI4IHExMiAwIDE1IDI0IGw2IC00NCBxMyAtMTMgMTAgLTEzIHE4IDAgMTAgMTUgbDUgNDAgcTQgLTIxIDE0IC0yMSBxMTMgMCAxNiAzMCB2ODkgWiIvPgogICAgPHBhdGggZD0iTTk1MCA5MDAgdi04NCBxNCAtMjggMTggLTI4IHExMyAwIDE2IDI0IGw2IC00MiBxMyAtMTMgOSAtMTMgcTggMCAxMCAxNSBsNSAzOCBxNSAtMjAgMTQgLTIwIHExMiAwIDE1IDI4IHY4MiBaIi8+CiAgICA8cGF0aCBkPSJNMTI4MCA5MDAgdi05MCBxNSAtMjcgMTkgLTI3IHExMiAwIDE1IDIzIGw3IC00NSBxMyAtMTIgOSAtMTIgcTcgMCA5IDE0IGw2IDQyIHE0IC0yMCAxMyAtMjAgcTEzIDAgMTYgMjkgdjg2IFoiLz4KICA8L2c+Cjwvc3ZnPgo='),
    linear-gradient(180deg, var(--escuro), var(--fundo));
  background-size: cover, cover, cover, cover;
  background-position: center, center, center bottom, center;
}
.hero-conteudo { position: relative; max-width: 860px; margin: 0 auto; }
.hero .selo {
  display: inline-block; font-size: .74rem; letter-spacing: .4em; text-transform: uppercase;
  font-weight: 800; color: var(--s); margin-bottom: 20px;
}
.hero h1 {
  font-size: clamp(2.8rem, 8vw, 5.6rem); font-weight: 900; text-transform: uppercase;
  letter-spacing: -.02em; line-height: .98; margin-bottom: 22px;
  text-shadow: 0 4px 40px color-mix(in srgb, var(--escuro) 80%, transparent);
}
.hero p.slogan { font-size: clamp(1.02rem, 2vw, 1.25rem); opacity: .9; max-width: 46ch; margin: 0 auto 38px; }
.hero .acoes { display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; }

/* hero compacto das páginas internas */
header.pagina {
  position: relative; padding: 108px 6vw 70px; color: var(--claro);
  text-align: center; overflow: hidden;
  background-image:
    linear-gradient(180deg, var(--hero-veu-topo), var(--hero-veu-base)),
    url('../img/hero.jpg'),
    url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNjAwIDkwMCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiPgogIDxkZWZzPgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJub2l0ZSIgeDE9IjAiIHkxPSIwIiB4Mj0iMCIgeTI9IjEiPgogICAgICA8c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiMwNTA1MDgiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIuNjUiIHN0b3AtY29sb3I9IiMwZDBkMTYiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMTYxMjFjIi8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJzcG90IiB4MT0iMCIgeTE9IjAiIHgyPSIwIiB5Mj0iMSI+CiAgICAgIDxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI2ZmYjM1YyIgc3RvcC1vcGFjaXR5PSIuOCIvPgogICAgICA8c3RvcCBvZmZzZXQ9Ii43IiBzdG9wLWNvbG9yPSIjZjk3MzE2IiBzdG9wLW9wYWNpdHk9Ii4xOCIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNmOTczMTYiIHN0b3Atb3BhY2l0eT0iMCIvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0ic3BvdDIiIHgxPSIwIiB5MT0iMCIgeDI9IjAiIHkyPSIxIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjZTBlNmZmIiBzdG9wLW9wYWNpdHk9Ii41Ii8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2UwZTZmZiIgc3RvcC1vcGFjaXR5PSIwIi8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPHJhZGlhbEdyYWRpZW50IGlkPSJicmFzYSIgY3g9Ii41IiBjeT0iMSIgcj0iLjgiPgogICAgICA8c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNmOTczMTYiIHN0b3Atb3BhY2l0eT0iLjQiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIuNiIgc3RvcC1jb2xvcj0iI2Y5NzMxNiIgc3RvcC1vcGFjaXR5PSIuMDgiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjZjk3MzE2IiBzdG9wLW9wYWNpdHk9IjAiLz4KICAgIDwvcmFkaWFsR3JhZGllbnQ+CiAgPC9kZWZzPgoKICA8cmVjdCB3aWR0aD0iMTYwMCIgaGVpZ2h0PSI5MDAiIGZpbGw9InVybCgjbm9pdGUpIi8+CgogIDwhLS0gbmVibGluYSBkZSBwYWxjbyAtLT4KICA8ZWxsaXBzZSBjeD0iODAwIiBjeT0iODgwIiByeD0iOTAwIiByeT0iMzYwIiBmaWxsPSJ1cmwoI2JyYXNhKSIvPgoKICA8IS0tIGNvbmVzIGRlIHNwb3RsaWdodCAtLT4KICA8cG9seWdvbiBwb2ludHM9IjI3MCwwIDMzMCwwIDY0MCw5MDAgMzQwLDkwMCIgZmlsbD0idXJsKCNzcG90KSIvPgogIDxwb2x5Z29uIHBvaW50cz0iMTI3MCwwIDEzMzAsMCAxMjYwLDkwMCA5NjAsOTAwIiBmaWxsPSJ1cmwoI3Nwb3QpIi8+CiAgPHBvbHlnb24gcG9pbnRzPSI3NzAsMCA4MzAsMCAxMDAwLDkwMCA2MDAsOTAwIiBmaWxsPSJ1cmwoI3Nwb3QyKSIgb3BhY2l0eT0iLjciLz4KICA8IS0tIHBvbnRvcyBkZSBsdXogZG8gcmlnIC0tPgogIDxnIGZpbGw9IiNmZmIzNWMiPgogICAgPGNpcmNsZSBjeD0iMzAwIiBjeT0iMTQiIHI9IjkiLz48Y2lyY2xlIGN4PSI4MDAiIGN5PSIxNCIgcj0iOSIvPjxjaXJjbGUgY3g9IjEzMDAiIGN5PSIxNCIgcj0iOSIvPgogIDwvZz4KCiAgPCEtLSBtdWx0aWTDo28gZW0gc2lsaHVldGEgY29tIG3Do29zIGxldmFudGFkYXMgLS0+CiAgPGcgZmlsbD0iIzAyMDIwNCI+CiAgICA8cGF0aCBkPSJNLTIwIDkwMCB2LTExNiBxNiAtMzQgMjQgLTM0IHExNSAwIDE5IDI4IGw4IC01MiBxNCAtMTYgMTIgLTE2IHE5IDAgMTIgMTggbDYgNDYgcTUgLTI2IDE3IC0yNiBxMTYgMCAxOSAzNiB2MTE2IFoiLz4KICAgIDxwYXRoIGQ9Ik0xOTUgOTAwIHYtMTA0IHE2IC0zNiAyNCAtMzYgcTE2IDAgMjAgMzAgbDggLTU2IHEzIC0xNSAxMSAtMTUgcTkgMCAxMiAxNyBsNyA1MCBxNSAtMjUgMTcgLTI1IHExNSAwIDE4IDM0IHYxMDUgWiIvPgogICAgPHBhdGggZD0iTTQ3MCA5MDAgdi0xMjIgcTYgLTMzIDIzIC0zMyBxMTUgMCAxOSAyNyBsOSAtNTUgcTQgLTE2IDEyIC0xNiBxOSAwIDExIDE4IGw3IDQ5IHE2IC0yNSAxNyAtMjUgcTE2IDAgMTkgMzUgdjEyMiBaIi8+CiAgICA8cGF0aCBkPSJNNzc1IDkwMCB2LTExMCBxNiAtMzcgMjUgLTM3IHExNiAwIDIwIDMwIGw4IC01OCBxNCAtMTYgMTIgLTE2IHExMCAwIDEyIDE5IGw3IDUxIHE1IC0yNiAxNyAtMjYgcTE2IDAgMTkgMzYgdjExMSBaIi8+CiAgICA8cGF0aCBkPSJNMTA4NSA5MDAgdi0xMTYgcTYgLTM0IDI0IC0zNCBxMTUgMCAxOSAyOCBsOSAtNTQgcTQgLTE1IDEyIC0xNSBxOSAwIDExIDE3IGw3IDQ5IHE1IC0yNSAxNyAtMjUgcTE2IDAgMTkgMzUgdjExNSBaIi8+CiAgICA8cGF0aCBkPSJNMTM5NSA5MDAgdi0xMDYgcTYgLTM2IDI0IC0zNiBxMTYgMCAyMCAyOSBsOCAtNTUgcTMgLTE1IDExIC0xNSBxOSAwIDEyIDE4IGw3IDQ5IHE1IC0yNSAxNiAtMjUgcTE1IDAgMTkgMzQgdjEwNyBaIi8+CiAgPC9nPgogIDxnIGZpbGw9IiMwNzA3MGMiIG9wYWNpdHk9Ii45Ij4KICAgIDxwYXRoIGQ9Ik05MCA5MDAgdi04OCBxNCAtMjYgMTggLTI2IHExMiAwIDE1IDIyIGw2IC00MCBxMyAtMTQgMTAgLTE0IHE4IDAgMTAgMTYgbDUgMzYgcTQgLTIwIDE0IC0yMCBxMTMgMCAxNiAzMCB2ODQgWiIvPgogICAgPHBhdGggZD0iTTYyMCA5MDAgdi05MiBxNSAtMjggMTkgLTI4IHExMiAwIDE1IDI0IGw2IC00NCBxMyAtMTMgMTAgLTEzIHE4IDAgMTAgMTUgbDUgNDAgcTQgLTIxIDE0IC0yMSBxMTMgMCAxNiAzMCB2ODkgWiIvPgogICAgPHBhdGggZD0iTTk1MCA5MDAgdi04NCBxNCAtMjggMTggLTI4IHExMyAwIDE2IDI0IGw2IC00MiBxMyAtMTMgOSAtMTMgcTggMCAxMCAxNSBsNSAzOCBxNSAtMjAgMTQgLTIwIHExMiAwIDE1IDI4IHY4MiBaIi8+CiAgICA8cGF0aCBkPSJNMTI4MCA5MDAgdi05MCBxNSAtMjcgMTkgLTI3IHExMiAwIDE1IDIzIGw3IC00NSBxMyAtMTIgOSAtMTIgcTcgMCA5IDE0IGw2IDQyIHE0IC0yMCAxMyAtMjAgcTEzIDAgMTYgMjkgdjg2IFoiLz4KICA8L2c+Cjwvc3ZnPgo='),
    linear-gradient(180deg, var(--escuro), var(--fundo));
  background-size: cover, cover, cover, cover;
  background-position: center, center 30%, center bottom, center;
}
header.pagina .selo {
  display: inline-block; font-size: .7rem; letter-spacing: .36em; text-transform: uppercase;
  font-weight: 800; color: var(--s); margin-bottom: 12px;
}
header.pagina h1 { font-size: clamp(2.1rem, 5vw, 3.6rem); font-weight: 900; text-transform: uppercase; letter-spacing: -.02em; }
header.pagina p { opacity: .88; max-width: 56ch; margin: 12px auto 0; }

/* ── cultos ────────────────────────────────────────────────────────────── */
[data-secao="cultos"] { background: var(--fundo-suave); }
.cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; margin-top: 36px; }
.card {
  background: var(--fundo); border: 1px solid var(--borda); border-radius: 18px;
  padding: 28px 24px; border-top: 3px solid var(--p);
  transition: box-shadow .15s ease;
}
.card:hover { box-shadow: 0 0 44px color-mix(in srgb, var(--p) 18%, transparent); }
.card .quando { font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .24em; color: var(--s); }
.card h3 { font-size: 1.12rem; font-weight: 800; margin: 10px 0 4px; }
.card .hora { font-size: 1.9rem; font-weight: 900; color: var(--claro); }
.onde {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap; justify-content: center;
  margin-top: 30px; padding: 18px 22px; border-radius: 14px;
  background: var(--fundo); border: 1px solid var(--borda); color: var(--texto-suave);
}
.onde strong { color: var(--claro); }
.onde a { font-weight: 800; white-space: nowrap; }

/* ── passos (sou novo) ─────────────────────────────────────────────────── */
.passos { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; margin-top: 36px; }
.passo { background: var(--fundo-suave); border: 1px solid var(--borda); border-radius: 18px; padding: 30px 26px; }
.passo .numero {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 12px; margin-bottom: 14px;
  background: color-mix(in srgb, var(--p) 18%, var(--fundo));
  color: var(--p); font-weight: 900; font-size: 1.1rem;
}
.passo h3 { font-size: 1.1rem; font-weight: 800; margin-bottom: 6px; }
.passo p { color: var(--texto-suave); font-size: .95rem; }

/* ── mensagem recente (o coração do template) ──────────────────────────── */
[data-secao="mensagem"] .palco {
  margin-top: 32px; border-radius: 22px; aspect-ratio: 16/7; position: relative;
  display: flex; align-items: center; justify-content: center; overflow: hidden;
  border: 1px solid var(--borda);
  background:
    radial-gradient(ellipse at 50% 0%, color-mix(in srgb, var(--p) 32%, transparent), transparent 60%),
    linear-gradient(180deg, var(--fundo-suave), var(--escuro));
}
[data-secao="mensagem"] .palco .play {
  display: inline-flex; align-items: center; gap: 14px;
  color: var(--claro); text-decoration: none; font-weight: 800; font-size: 1rem;
  letter-spacing: .1em; text-transform: uppercase;
}
[data-secao="mensagem"] .palco .play .disco {
  display: inline-flex; align-items: center; justify-content: center;
  width: 72px; height: 72px; border-radius: 50%;
  background: var(--p); color: var(--claro); font-size: 1.5rem;
  box-shadow: 0 0 60px color-mix(in srgb, var(--p) 55%, transparent);
}

/* ── eventos ───────────────────────────────────────────────────────────── */
.evento { display: flex; align-items: center; gap: 22px; padding: 20px 0; border-bottom: 1px solid var(--borda); }
.evento .data {
  flex: none; width: 76px; height: 76px; border-radius: 16px;
  background: color-mix(in srgb, var(--p) 15%, var(--fundo)); color: var(--s);
  display: flex; align-items: center; justify-content: center;
  font-weight: 900; text-align: center; font-size: .8rem; padding: 6px;
}
.evento h3 { font-size: 1.1rem; font-weight: 800; }
.evento p { color: var(--texto-suave); font-size: .92rem; }
.acao-secao { margin-top: 32px; }

/* ── contribua / faixas de convite ─────────────────────────────────────── */
[data-secao="doacao"], [data-secao="cta"] {
  background:
    radial-gradient(ellipse at 50% 120%, color-mix(in srgb, var(--p) 35%, transparent), transparent 70%),
    var(--fundo-suave);
  color: var(--claro); text-align: center; border-top: 1px solid var(--borda);
}
[data-secao="doacao"] h2, [data-secao="cta"] h2 { color: var(--claro); }
[data-secao="doacao"] p, [data-secao="cta"] p { color: var(--texto-suave); max-width: 52ch; margin: 0 auto 30px; }
.formas { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 18px; margin-top: 36px; text-align: left; }
.forma { background: var(--fundo); border: 1px solid var(--borda); border-radius: 18px; padding: 30px 26px; }
.forma .icone { font-size: 1.6rem; margin-bottom: 12px; }
.forma h3 { font-size: 1.1rem; font-weight: 800; margin-bottom: 8px; }
.forma p { color: var(--texto-suave); font-size: .95rem; }
.versiculo { margin: 48px auto 0; max-width: 54ch; text-align: center; color: var(--texto-suave); font-style: italic; }
.versiculo strong { display: block; margin-top: 10px; color: var(--s); font-style: normal; font-size: .74rem; letter-spacing: .26em; text-transform: uppercase; }

/* ── quem somos ────────────────────────────────────────────────────────── */
.duas-colunas { display: grid; grid-template-columns: 1.1fr .9fr; gap: 48px; align-items: center; }
.sobre-arte {
  aspect-ratio: 4/3; border-radius: 22px; border: 1px solid var(--borda);
  background:
    radial-gradient(circle at 50% 20%, color-mix(in srgb, var(--p) 30%, transparent), transparent 60%),
    linear-gradient(180deg, var(--fundo-suave), var(--escuro));
  display: flex; align-items: center; justify-content: center;
  color: var(--p); font-size: 2.6rem;
}
.pilares { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; margin-top: 36px; }
.pilar { border-left: 3px solid var(--p); background: var(--fundo-suave); border-radius: 0 16px 16px 0; padding: 26px; }
.pilar h3 { font-size: .8rem; letter-spacing: .26em; text-transform: uppercase; color: var(--s); margin-bottom: 8px; font-weight: 800; }
.pilar p { color: var(--texto-suave); font-size: .95rem; }
.cremos { margin-top: 32px; display: grid; gap: 12px; }
.cremos li {
  list-style: none; padding: 18px 22px; border: 1px solid var(--borda);
  border-radius: 14px; color: var(--texto-suave); background: var(--fundo-suave);
}
.cremos li strong { color: var(--claro); }

/* liderança */
[data-secao="lideranca"] { background: var(--fundo-suave); }
.equipe { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 18px; margin-top: 36px; }
.pessoa { background: var(--fundo); border: 1px solid var(--borda); border-radius: 18px; padding: 30px 26px; text-align: center; }
.pessoa .foto {
  width: 96px; height: 96px; border-radius: 50%; margin: 0 auto 14px;
  background:
    radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--s) 32%, transparent), transparent 65%),
    color-mix(in srgb, var(--p) 20%, var(--fundo));
  display: flex; align-items: center; justify-content: center;
  color: var(--s); font-weight: 900; font-size: 1.5rem;
}
.pessoa h3 { font-size: 1.06rem; font-weight: 800; }
.pessoa .funcao { color: var(--p); font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .26em; display: block; margin: 6px 0 10px; }
.pessoa p { color: var(--texto-suave); font-size: .92rem; }

/* ── ministérios ───────────────────────────────────────────────────────── */
.ministerios { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; margin-top: 36px; }
.ministerio {
  background: var(--fundo-suave); border: 1px solid var(--borda); border-radius: 18px;
  padding: 30px 26px; transition: transform .15s ease, box-shadow .15s ease;
}
.ministerio:hover { transform: translateY(-3px); box-shadow: 0 0 44px color-mix(in srgb, var(--p) 16%, transparent); }
.ministerio .icone {
  display: inline-flex; align-items: center; justify-content: center;
  width: 52px; height: 52px; border-radius: 14px; margin-bottom: 14px; font-size: 1.5rem;
  background: color-mix(in srgb, var(--p) 16%, var(--fundo));
}
.ministerio .grupo { display: block; font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .26em; color: var(--s); margin-bottom: 4px; }
.ministerio h3 { font-size: 1.12rem; font-weight: 800; margin-bottom: 8px; }
.ministerio p { color: var(--texto-suave); font-size: .94rem; }

/* ── FAQ ───────────────────────────────────────────────────────────────── */
.faq { margin-top: 32px; display: grid; gap: 12px; }
.faq details { border: 1px solid var(--borda); border-radius: 14px; background: var(--fundo-suave); overflow: hidden; }
.faq summary {
  cursor: pointer; padding: 18px 22px; font-weight: 800; list-style: none;
  display: flex; justify-content: space-between; align-items: center; gap: 12px;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; font-size: 1.4rem; color: var(--p); font-weight: 900; }
.faq details[open] summary::after { content: "–"; }
.faq details p { padding: 0 22px 18px; color: var(--texto-suave); }

/* ── contato ───────────────────────────────────────────────────────────── */
.canais { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 18px; margin-top: 36px; }
.canal { background: var(--fundo-suave); border: 1px solid var(--borda); border-radius: 18px; padding: 30px 26px; }
.canal .icone { font-size: 1.6rem; margin-bottom: 12px; }
.canal h3 { font-size: 1.02rem; font-weight: 800; margin-bottom: 6px; }
.canal p { color: var(--texto-suave); font-size: .94rem; word-break: break-word; }
.canal a { font-weight: 800; }
.canal.destaque { border-color: color-mix(in srgb, var(--ok) 55%, var(--borda)); }
.canal.destaque .icone { color: var(--ok); }

/* ── rodapé ────────────────────────────────────────────────────────────── */
footer { background: var(--rodape-fundo); color: var(--rodape-texto); padding: 62px 6vw 42px; border-top: 1px solid var(--borda); }
footer .miolo { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 34px; }
footer strong { color: var(--claro); display: block; margin-bottom: 12px; font-size: .76rem; letter-spacing: .26em; text-transform: uppercase; font-weight: 800; }
footer ul { list-style: none; display: grid; gap: 9px; }
footer a { color: var(--rodape-texto); text-decoration: none; }
footer a:hover { color: var(--p); }
footer p { font-size: .94rem; }
footer .assinatura { margin-top: 46px; padding-top: 20px; border-top: 1px solid var(--rodape-borda); font-size: .78rem; text-align: center; letter-spacing: .08em; }

/* ── responsivo ────────────────────────────────────────────────────────── */
/* -- videos ----------------------------------------------------------------- */
[data-secao="videos"] { background: var(--fundo-suave); }
[data-secao="canal-cta"] { background: var(--fundo); }
.grade-videos {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 22px;
  margin-top: 40px;
}
.video-card {
  display: flex; flex-direction: column;
  background: var(--fundo); border: 1px solid var(--borda); border-radius: 18px;
  overflow: hidden; text-decoration: none; color: var(--texto);
  transition: transform .15s ease, box-shadow .15s ease;
}
.video-card:hover { transform: translateY(-4px); box-shadow: 0 0 48px color-mix(in srgb, var(--p) 22%, transparent); }
.video-thumb {
  aspect-ratio: 16/9;
  display: flex; align-items: center; justify-content: center;
  background:
    radial-gradient(ellipse at 50% 30%, color-mix(in srgb, var(--p) 28%, transparent), transparent 60%),
    linear-gradient(180deg, var(--fundo-suave), var(--escuro));
  border-bottom: 1px solid var(--borda);
}
.video-thumb .play-icone {
  display: inline-flex; align-items: center; justify-content: center;
  width: 60px; height: 60px; border-radius: 50%;
  background: var(--p); color: var(--claro); font-size: 1.3rem;
  box-shadow: 0 0 50px color-mix(in srgb, var(--p) 50%, transparent);
  transition: transform .15s ease, box-shadow .15s ease;
}
.video-card:hover .play-icone { transform: scale(1.12); box-shadow: 0 0 70px color-mix(in srgb, var(--p) 70%, transparent); }
.video-info { padding: 20px 22px 24px; display: flex; flex-direction: column; gap: 6px; }
.video-rotulo { font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .26em; color: var(--s); }
.video-info h3 { font-size: 1.05rem; font-weight: 800; color: var(--claro); }
.video-info p { font-size: .9rem; color: var(--texto-suave); }

@media (max-width: 900px) {
  .duas-colunas { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  section { padding: 66px 6vw; }
  header.hero { min-height: 78vh; }

  nav.topo { flex-wrap: wrap; }
  nav.topo .menu-botao { display: block; }
  nav.topo .links {
    display: none; width: 100%; flex-direction: column; align-items: flex-start;
    gap: 4px; padding: 12px 0 6px; border-top: 1px solid var(--borda); margin-top: 12px;
  }
  nav.topo .links a { width: 100%; padding: 11px 0; font-size: .85rem; }
  nav.topo .links a.destaque { text-align: center; margin-top: 6px; }
  nav.topo .menu-chave:checked ~ .links { display: flex; }
  nav.topo .menu-chave:checked ~ .menu-botao span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  nav.topo .menu-chave:checked ~ .menu-botao span:nth-child(2) { opacity: 0; }
  nav.topo .menu-chave:checked ~ .menu-botao span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  .evento { gap: 14px; }
  [data-secao="mensagem"] .palco { aspect-ratio: 16/10; }
}

/* -- organograma SVG ---------------------------------------------------- */
.organograma-visual-wrapper {
  margin-top: 48px; border-radius: 22px; overflow: hidden;
  border: 1px solid var(--borda);
  background:
    radial-gradient(ellipse at 50% 0%, color-mix(in srgb, var(--p) 15%, transparent), transparent 60%),
    var(--fundo-suave);
  padding: 32px 20px;
  display: flex; align-items: center; justify-content: center;
}
.organograma-svg {
  width: 100%; height: auto; max-width: 100%;
  display: block;
  filter: drop-shadow(0 4px 16px color-mix(in srgb, var(--escuro) 40%, transparent));
}

.observacao {
  margin-top: 42px; padding: 26px 28px; border-radius: 16px;
  background: color-mix(in srgb, var(--p) 10%, var(--fundo-suave));
  border: 1px solid var(--borda); border-left: 3px solid var(--p);
}
.observacao p {
  color: var(--texto-suave); font-size: .95rem; margin: 0;
}
.observacao p strong { color: var(--claro); }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .btn, .ministerio, .card { transition: none; }
}
