/* Visual da prévia V4 do site da Projeto de Deus (#5237): redesenho do zero. Identidade da igreja (marinho + ciano + branco),
   serifa digna nos títulos (Fraunces) e Inter no texto, escala contida, logo sempre parado. Entradas suaves por rolagem.
   gz-cor-fixa: site externo da igreja, fora do Genezze; as cores são a identidade visual da marca do cliente, não papel do tema. */
:root {
  --navy: #0b2246; --navy-900: #061731; --navy-700: #10305f; --azul: #0a3967;
  --ciano: #2eafd1; --ciano-claro: #8fd9ee; --ciano-texto: #1a90b2;
  --papel: #ffffff; --nevoa: #f3f6fa; --linha: #e1e8f0;
  --tinta: #0e1b2e; --tinta-2: #51607a; --tinta-3: #8a97ab;
  --branco-70: rgba(255, 255, 255, .72); --branco-40: rgba(255, 255, 255, .4); --branco-15: rgba(255, 255, 255, .14);
  --sombra: 0 24px 50px -30px rgba(6, 23, 49, .45); --sombra-escura: 0 30px 60px -30px rgba(0, 0, 0, .6);
  --raio: 18px; --raio-p: 12px;
  --serifa: 'Fraunces', 'Iowan Old Style', 'Palatino Linotype', Georgia, serif;
  --sans: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --suave: cubic-bezier(.22, .8, .25, 1);
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: clip; -webkit-text-size-adjust: 100%; }
body { font: 400 16px/1.7 var(--sans); color: var(--tinta); background: var(--papel); -webkit-font-smoothing: antialiased; overflow-x: clip; }
img { max-width: 100%; display: block; }
a { color: inherit; }
button { font: inherit; }
h1, h2, h3, .serifa { font-family: var(--serifa); font-weight: 500; line-height: 1.12; letter-spacing: -.012em; font-optical-sizing: auto; text-wrap: balance; }
h1 em, h2 em, h3 em, .serifa em { font-style: italic; font-weight: 400; color: var(--ciano-texto); }
.escuro h1 em, .escuro h2 em, .escuro h3 em { color: var(--ciano-claro); }
h2 { font-size: clamp(28px, 3.3vw, 42px); margin-bottom: 16px; }
h3 { font-size: 21px; }
p { text-wrap: pretty; }
.caixa { width: min(1160px, 100% - 48px); margin-inline: auto; }
.secao { padding: clamp(64px, 8vw, 112px) 0; }
.secao--apertada { padding: clamp(48px, 6vw, 80px) 0; }
.escuro { background: var(--navy-900); color: #e8eef6; }
.escuro p { color: #b5c3d6; }
.nevoa { background: var(--nevoa); }
.texturado { position: relative; isolation: isolate; }
.texturado::before { content: ''; position: absolute; inset: 0; z-index: -1; background: url(img/textura.jpg) center/cover; opacity: .28; mix-blend-mode: luminosity; }
.texturado::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(6, 23, 49, .2), rgba(6, 23, 49, .75)); }
.rotulo { display: inline-flex; align-items: center; gap: 10px; font: 600 12px/1.3 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--ciano-texto); margin-bottom: 16px; }
.rotulo::before { content: ''; width: 26px; height: 1.5px; background: var(--ciano); flex: none; }
.escuro .rotulo { color: var(--ciano-claro); }
.lead { font-size: clamp(17px, 1.3vw, 19px); line-height: 1.65; color: var(--tinta-2); max-width: 600px; }
.escuro .lead { color: #c3cfdf; }
.cabeca { max-width: 720px; margin-bottom: clamp(32px, 4vw, 52px); }
.cabeca--centro { margin-inline: auto; text-align: center; }
.cabeca--centro .rotulo { justify-content: center; }
.cabeca--centro .lead { margin-inline: auto; }
.linha-acoes { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }

/* botões */
.botao { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 14px 24px; border-radius: 999px; border: 0; cursor: pointer; text-decoration: none; white-space: nowrap;
  font: 600 14.5px/1 var(--sans); background: var(--navy); color: #fff; transition: transform .25s var(--suave), box-shadow .25s, background .25s, color .25s; }
.botao:hover { transform: translateY(-2px); box-shadow: 0 14px 28px -14px rgba(6, 23, 49, .7); background: var(--azul); }
.botao svg { width: 16px; height: 16px; fill: currentColor; flex: none; }
.botao--branco { background: #fff; color: var(--navy); }
.botao--branco:hover { background: #eef6fb; box-shadow: 0 14px 28px -14px rgba(0, 0, 0, .6); }
.botao--ciano { background: var(--ciano); color: var(--navy-900); }
.botao--ciano:hover { background: #4bc1e0; }
.botao--vazado { background: transparent; color: var(--navy); box-shadow: inset 0 0 0 1.5px var(--linha); }
.botao--vazado:hover { background: var(--nevoa); box-shadow: inset 0 0 0 1.5px var(--navy); }
.escuro .botao--vazado, .botao--vazado-claro { background: transparent; color: #fff; box-shadow: inset 0 0 0 1.5px var(--branco-40); }
.escuro .botao--vazado:hover, .botao--vazado-claro:hover { background: var(--branco-15); box-shadow: inset 0 0 0 1.5px #fff; }
.botao--p { padding: 11px 18px; font-size: 13.5px; }
.link-seta { display: inline-flex; align-items: center; gap: 8px; font: 600 14.5px/1 var(--sans); color: var(--navy); text-decoration: none; }
.link-seta::after { content: '→'; transition: transform .25s; }
.link-seta:hover::after { transform: translateX(4px); }
.escuro .link-seta { color: var(--ciano-claro); }

/* selo de prévia */
.selo-previa { position: fixed; z-index: 90; right: 14px; bottom: 14px; display: flex; gap: 8px; align-items: center; padding: 6px 6px 6px 12px; border-radius: 999px;
  background: #ffbc7d; color: #3a2108; font: 700 11px/1 var(--sans); letter-spacing: .05em; text-transform: uppercase; box-shadow: var(--sombra); }
.selo-previa a { background: rgba(58, 33, 8, .12); padding: 5px 9px; border-radius: 999px; text-decoration: none; }

/* topo: transparente sobre o herói, branco ao rolar. Logo sempre parado. */
.topo { position: fixed; inset: 0 0 auto; z-index: 70; transition: background .35s, box-shadow .35s; }
.topo__linha { height: 80px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.marca { display: block; width: 178px; aspect-ratio: 873/174; background: url(img/logo-branco.png) left center/contain no-repeat; transition: filter .35s; }
.topo.claro .marca, .topo.rolou .marca { background-image: url(img/logo.png); }
.topo__menu { display: flex; align-items: center; gap: 28px; }
.topo__menu > a:not(.botao) { position: relative; text-decoration: none; font: 500 14px/1 var(--sans); color: #fff; opacity: .88; transition: opacity .25s, color .35s; }
.topo__menu > a:not(.botao):hover, .topo__menu > a[aria-current]:not(.botao) { opacity: 1; }
.topo__menu > a:not(.botao)::after { content: ''; position: absolute; left: 0; right: 0; bottom: -8px; height: 1.5px; background: var(--ciano); transform: scaleX(0); transform-origin: left; transition: transform .3s var(--suave); }
.topo__menu > a:not(.botao):hover::after, .topo__menu > a[aria-current]:not(.botao)::after { transform: scaleX(1); }
.topo__menu .botao { margin-left: 8px; }
.topo.claro .topo__menu > a:not(.botao), .topo.rolou .topo__menu > a:not(.botao) { color: var(--tinta); }
.topo.claro .botao--branco, .topo.rolou .botao--branco { background: var(--navy); color: #fff; }
.topo.rolou { background: rgba(255, 255, 255, .92); backdrop-filter: blur(14px) saturate(1.3); box-shadow: 0 1px 0 var(--linha); }
.topo.rolou .topo__linha { height: 68px; }
.topo__abrir { display: none; width: 44px; height: 44px; border: 0; background: transparent; cursor: pointer; flex-direction: column; justify-content: center; align-items: flex-end; gap: 6px; }
.topo__abrir span { display: block; height: 2px; width: 24px; background: #fff; border-radius: 2px; transition: transform .3s, width .3s, background .35s; }
.topo__abrir span:last-child { width: 16px; }
.topo.claro .topo__abrir span, .topo.rolou .topo__abrir span { background: var(--navy); }
.topo__abrir[aria-expanded=true] span { background: #fff; }
.topo__abrir[aria-expanded=true] span:first-child { transform: translateY(4px) rotate(45deg); }
.topo__abrir[aria-expanded=true] span:last-child { width: 24px; transform: translateY(-4px) rotate(-45deg); }
.topo__abrir.fixo-claro span { background: #fff; }

/* HOME: herói com a foto real da igreja, véu marinho e luz suave */
.heroi { position: relative; min-height: 100svh; display: flex; flex-direction: column; justify-content: flex-end; color: #fff; overflow: hidden; background: var(--navy-900); isolation: isolate; }
.heroi__foto { position: absolute; inset: 0; z-index: -2; }
.heroi__foto img { width: 100%; height: 100%; object-fit: cover; object-position: center 42%; animation: respira 24s ease-in-out infinite alternate; }
.heroi__veu { position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(100deg, rgba(6, 23, 49, .94) 0%, rgba(6, 23, 49, .78) 40%, rgba(6, 23, 49, .42) 75%, rgba(6, 23, 49, .55) 100%),
              linear-gradient(180deg, rgba(6, 23, 49, .35) 0%, rgba(6, 23, 49, 0) 30%, rgba(6, 23, 49, .55) 75%, var(--navy-900) 100%); }
.heroi__luz { position: absolute; z-index: -1; width: 70vw; height: 70vw; max-width: 900px; max-height: 900px; right: -18vw; top: -28vw; border-radius: 50%; pointer-events: none;
  background: radial-gradient(circle, rgba(46, 175, 209, .28) 0%, rgba(46, 175, 209, .08) 38%, transparent 68%); filter: blur(10px); }
.heroi__marca { position: absolute; z-index: -1; right: clamp(-60px, 2vw, 40px); top: 14%; width: clamp(260px, 32vw, 480px); opacity: .07; pointer-events: none; }
.heroi__conteudo { position: relative; padding: 150px 0 0; }
.heroi__miolo { max-width: 700px; }
.heroi__eyebrow { display: inline-flex; align-items: center; gap: 12px; font: 600 12px/1.3 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--ciano-claro); margin-bottom: 22px; }
.heroi__eyebrow img { width: 30px; height: 30px; }
.heroi h1 { font-size: clamp(40px, 5.6vw, 70px); line-height: 1.06; margin-bottom: 20px; max-width: 12ch; }
.heroi h1 em { color: var(--ciano-claro); }
.heroi__texto { font-size: clamp(17px, 1.35vw, 19.5px); line-height: 1.6; color: var(--branco-70); max-width: 560px; margin-bottom: 30px; }
.heroi__texto strong { color: #fff; font-weight: 600; }
.heroi__rodape { margin-top: clamp(44px, 7vh, 80px); border-top: 1px solid var(--branco-15); backdrop-filter: blur(6px); background: rgba(6, 23, 49, .35); }
.heroi__rodape .caixa { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding: 18px 0; }
.heroi__cultos { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; font: 500 13.5px/1.4 var(--sans); color: var(--branco-70); }
.heroi__cultos b { display: block; font: 600 11px/1.3 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--ciano-claro); }
.heroi__cultos span { display: block; color: #fff; font-weight: 600; font-size: 15px; }
.heroi__cultos i { font-style: normal; color: var(--branco-40); }
.rolar { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; font: 500 13px/1 var(--sans); color: var(--branco-70); }
.rolar i { width: 20px; height: 32px; border-radius: 16px; box-shadow: inset 0 0 0 1.5px var(--branco-40); position: relative; }
.rolar i::after { content: ''; position: absolute; left: 50%; top: 7px; width: 3px; height: 6px; margin-left: -1.5px; border-radius: 2px; background: var(--ciano-claro); animation: rola 1.9s infinite; }
.heroi .entra { opacity: 0; transform: translateY(18px); animation: entra 1.1s var(--suave) forwards; }
.heroi .entra:nth-child(2) { animation-delay: .15s; } .heroi .entra:nth-child(3) { animation-delay: .3s; } .heroi .entra:nth-child(4) { animation-delay: .45s; }
.heroi__rodape.entra { animation-delay: .7s; }
@keyframes entra { to { opacity: 1; transform: none; } }
@keyframes respira { from { transform: scale(1); } to { transform: scale(1.06); } }
@keyframes rola { 0% { opacity: 0; transform: translateY(-3px); } 40% { opacity: 1; } 100% { opacity: 0; transform: translateY(9px); } }

/* cultos em destaque */
.cultos__grade { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.culto { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 6px; padding: 30px 28px 26px; border-radius: var(--raio); background: #fff; border: 1px solid var(--linha); transition: transform .3s var(--suave), box-shadow .3s; }
.culto:hover { transform: translateY(-4px); box-shadow: var(--sombra); }
.culto small { font: 600 12px/1.3 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--ciano-texto); }
.culto strong { font: 500 clamp(34px, 3.4vw, 44px)/1 var(--serifa); letter-spacing: -.02em; color: var(--navy); margin: 8px 0 2px; }
.culto strong i { font-style: italic; font-weight: 400; font-size: .62em; color: var(--tinta-3); margin-left: 6px; }
.culto h3 { font-size: 19px; margin-top: 4px; }
.culto p { color: var(--tinta-2); font-size: 14.5px; line-height: 1.55; }
.culto .link-seta { margin-top: auto; padding-top: 16px; }
.culto--destaque { background: var(--navy); border-color: var(--navy); color: #fff; }
.culto--destaque small { color: var(--ciano-claro); }
.culto--destaque strong, .culto--destaque h3 { color: #fff; }
.culto--destaque strong i { color: var(--branco-40); }
.culto--destaque p { color: #b5c3d6; }
.culto--destaque .link-seta { color: var(--ciano-claro); }
.culto--destaque::after { content: ''; position: absolute; right: -40px; top: -40px; width: 180px; height: 180px; border-radius: 50%; background: radial-gradient(circle, rgba(46, 175, 209, .35), transparent 70%); }
.cultos__nota { margin-top: 22px; font-size: 14.5px; color: var(--tinta-2); display: flex; gap: 10px; align-items: flex-start; }
.cultos__nota svg { width: 18px; height: 18px; fill: var(--ciano-texto); flex: none; margin-top: 3px; }
.cultos__nota a { color: var(--navy); font-weight: 600; text-decoration: none; }

/* quem somos (home) */
.sobre__grade { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(36px, 6vw, 88px); align-items: center; }
.sobre__fotos { position: relative; }
.sobre__fotos .f1 { border-radius: var(--raio); aspect-ratio: 4/3.2; object-fit: cover; object-position: center 40%; width: 92%; box-shadow: var(--sombra); }
.sobre__fotos .f2 { position: absolute; right: 0; bottom: -36px; width: 46%; aspect-ratio: 1; object-fit: cover; object-position: center 20%; border-radius: var(--raio-p); border: 6px solid #fff; box-shadow: var(--sombra); }
.sobre__fotos .desde { position: absolute; left: 20px; top: 20px; background: rgba(6, 23, 49, .78); backdrop-filter: blur(6px); color: #fff; border-radius: 999px; padding: 8px 16px; font: 600 12px/1.3 var(--sans); letter-spacing: .1em; text-transform: uppercase; }
.sobre__texto p + p { margin-top: 14px; }
.sobre__texto p { color: var(--tinta-2); }
.pilares { list-style: none; display: grid; gap: 14px; margin: 28px 0 30px; }
.pilares li { display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-items: start; }
.pilares i { width: 44px; height: 44px; border-radius: 12px; background: var(--nevoa); display: grid; place-items: center; color: var(--navy); }
.pilares i svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.pilares b { display: block; font: 600 15px/1.3 var(--sans); color: var(--tinta); }
.pilares span { font-size: 14.5px; color: var(--tinta-2); }

/* números */
.numeros__grade { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.numeros__grade div { padding: 26px 0 22px 26px; border-left: 1px solid var(--branco-15); }
.numeros__grade strong { display: block; font: 500 clamp(34px, 3.6vw, 48px)/1 var(--serifa); letter-spacing: -.02em; color: #fff; }
.numeros__grade span { display: block; margin-top: 8px; font: 500 14px/1.4 var(--sans); color: #b5c3d6; }
.numeros__frase { max-width: 760px; margin: 0 auto clamp(32px, 4vw, 48px); text-align: center; font: italic 400 clamp(22px, 2.4vw, 30px)/1.4 var(--serifa); color: #fff; }
.numeros__frase cite { display: block; margin-top: 10px; font: 600 11.5px/1.3 var(--sans); font-style: normal; letter-spacing: .14em; text-transform: uppercase; color: var(--ciano-claro); }

/* ministérios (home e página) */
.min__grade { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.min { position: relative; display: block; padding: 26px 24px 24px; border-radius: var(--raio); background: #fff; border: 1px solid var(--linha); text-decoration: none; overflow: hidden; transition: transform .3s var(--suave), box-shadow .3s, border-color .3s; }
.min::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: linear-gradient(180deg, var(--ciano), var(--navy)); transform: scaleY(0); transform-origin: top; transition: transform .35s var(--suave); }
.min:hover { transform: translateY(-4px); box-shadow: var(--sombra); border-color: #cfdbe8; }
.min:hover::before { transform: scaleY(1); }
.min small { font: 600 12px/1 var(--sans); letter-spacing: .1em; color: var(--ciano-texto); }
.min h3 { font-size: 20px; margin: 12px 0 6px; }
.min p { font-size: 14.5px; color: var(--tinta-2); line-height: 1.55; }
.min__rodape { margin-top: 28px; display: flex; justify-content: center; }

/* mensagens recentes */
.msgs__grade { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.msg { display: block; text-decoration: none; color: #fff; }
.msg__capa { position: relative; border-radius: var(--raio-p); overflow: hidden; aspect-ratio: 16/9; background: var(--navy-700); box-shadow: var(--sombra-escura); }
.msg__capa img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--suave); }
.msg:hover .msg__capa img { transform: scale(1.04); }
.msg__play { position: absolute; left: 14px; bottom: 14px; width: 42px; height: 42px; border-radius: 50%; background: rgba(255, 255, 255, .92); display: grid; place-items: center; transition: transform .3s; }
.msg__play svg { width: 16px; fill: var(--navy); margin-left: 2px; }
.msg:hover .msg__play { transform: scale(1.08); }
.msg__dur { position: absolute; right: 12px; top: 12px; padding: 5px 9px; border-radius: 999px; background: rgba(6, 23, 49, .75); font: 600 11px/1 var(--sans); letter-spacing: .06em; }
.msg h3 { font-size: 18px; margin: 14px 0 6px; line-height: 1.3; color: #fff; }
.msg span { font: 500 13.5px/1.4 var(--sans); color: #9db0c7; }
.msg--grande { grid-column: span 3; display: grid; grid-template-columns: 1.4fr 1fr; gap: 28px; align-items: center; margin-bottom: 8px; }
.msg--grande h3 { font-size: clamp(24px, 2.6vw, 32px); margin-top: 0; }
.msg--grande .msg__capa { aspect-ratio: 16/9; }
.msgs__rodape { margin-top: 36px; display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* galeria em mosaico */
.galeria { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 200px; gap: 12px; }
.galeria figure { position: relative; overflow: hidden; border-radius: var(--raio-p); background: var(--nevoa); }
.galeria img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--suave); }
.galeria figure:hover img { transform: scale(1.05); }
.galeria figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 36px 16px 14px; color: #fff; font: 500 13px/1.3 var(--sans); background: linear-gradient(180deg, transparent, rgba(6, 23, 49, .75)); opacity: 0; transition: opacity .4s; }
.galeria figure:hover figcaption { opacity: 1; }
.galeria .g-larga { grid-column: span 2; }
.galeria .g-alta { grid-row: span 2; }
.galeria .g-grande { grid-column: span 2; grid-row: span 2; }

/* unidades (home e página) */
.unid__grade { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.unid { display: flex; flex-direction: column; padding: 26px 24px 22px; border-radius: var(--raio); background: #fff; border: 1px solid var(--linha); text-decoration: none; transition: transform .3s var(--suave), box-shadow .3s; }
.unid:hover { transform: translateY(-4px); box-shadow: var(--sombra); }
.unid small { font: 600 11.5px/1.3 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--ciano-texto); }
.unid h3 { font-size: 21px; margin: 10px 0 6px; }
.unid p { font-size: 14.5px; color: var(--tinta-2); line-height: 1.5; flex: 1; }
.unid .link-seta { margin-top: 18px; font-size: 13.5px; }
.unid--sede { background: var(--navy); border-color: var(--navy); color: #fff; }
.unid--sede small { color: var(--ciano-claro); }
.unid--sede h3 { color: #fff; }
.unid--sede p { color: #b5c3d6; }
.unid--sede .link-seta { color: var(--ciano-claro); }
.mapa { margin-top: 18px; border-radius: var(--raio); overflow: hidden; border: 1px solid var(--linha); box-shadow: var(--sombra); background: var(--nevoa); }
.mapa iframe { display: block; width: 100%; height: 380px; border: 0; filter: saturate(.85); }
.onde__grade { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: stretch; }
.onde__grade .unid__grade { grid-template-columns: 1fr 1fr; }
.onde__grade .mapa { margin: 0; }
.onde__grade .mapa iframe { height: 100%; min-height: 420px; }

/* chamada final */
.chamada { position: relative; overflow: hidden; text-align: center; }
.chamada__marca { position: absolute; left: 50%; top: 50%; width: 520px; translate: -50% -50%; opacity: .05; pointer-events: none; }
.chamada h2 { font-size: clamp(32px, 4.4vw, 54px); line-height: 1.1; margin-bottom: 16px; }
.chamada .lead { margin: 0 auto 28px; }
.chamada .linha-acoes { justify-content: center; }

/* PÁGINAS INTERNAS: abertura escura com a marca parada */
.abertura { position: relative; overflow: hidden; padding: 160px 0 72px; color: #fff; background: var(--navy-900); isolation: isolate; }
.abertura::before { content: ''; position: absolute; inset: 0; z-index: -2; background: url(img/textura.jpg) center/cover; opacity: .32; mix-blend-mode: luminosity; }
.abertura::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(100deg, rgba(6, 23, 49, .9) 0%, rgba(6, 23, 49, .6) 60%, rgba(10, 57, 103, .5) 100%), radial-gradient(60% 80% at 100% 0%, rgba(46, 175, 209, .3), transparent 60%); }
.abertura__marca { position: absolute; z-index: 0; right: clamp(-40px, 3vw, 60px); top: 50%; translate: 0 -46%; width: clamp(220px, 26vw, 380px); opacity: .08; pointer-events: none; }
.abertura .caixa { position: relative; z-index: 1; }
.abertura .rotulo { color: var(--ciano-claro); }
.abertura h1 { font-size: clamp(34px, 4.6vw, 56px); line-height: 1.08; margin-bottom: 16px; max-width: 18ch; }
.abertura h1 em { color: var(--ciano-claro); }
.abertura .lead { color: var(--branco-70); }
.abertura--foto { padding-top: 200px; }
.abertura--foto .abertura__foto { position: absolute; inset: 0; z-index: -3; }
.abertura--foto .abertura__foto img { width: 100%; height: 100%; object-fit: cover; object-position: center 35%; }

/* Quem somos: história, fundadores, líderes */
.hist__grade { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(36px, 6vw, 80px); align-items: center; }
.hist__texto p { color: var(--tinta-2); }
.hist__texto p + p { margin-top: 14px; }
.hist__texto blockquote { margin: 22px 0; padding: 18px 22px; border-left: 3px solid var(--ciano); background: var(--nevoa); border-radius: 0 var(--raio-p) var(--raio-p) 0; font: italic 400 19px/1.5 var(--serifa); color: var(--navy); }
.hist__foto { position: relative; }
.hist__foto img { border-radius: var(--raio); aspect-ratio: 4/3; object-fit: cover; object-position: center 40%; width: 100%; box-shadow: var(--sombra); }
.hist__foto figcaption { position: absolute; left: 18px; bottom: 18px; padding: 10px 14px; border-radius: 10px; background: rgba(6, 23, 49, .8); backdrop-filter: blur(6px); color: #fff; font: 500 13px/1.3 var(--sans); }
.pilares-g { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.pilares-g article { padding: 30px 28px; border-radius: var(--raio); background: #fff; border: 1px solid var(--linha); }
.pilares-g i { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 12px; background: var(--navy); color: #fff; margin-bottom: 18px; }
.pilares-g i svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.pilares-g small { font: 600 11.5px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--ciano-texto); }
.pilares-g h3 { font-size: 20px; margin: 10px 0 8px; }
.pilares-g p { color: var(--tinta-2); font-size: 15px; }
.fund { color: #fff; }
.fund__grade { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(32px, 5vw, 72px); align-items: end; }
.fund__foto { position: relative; align-self: end; }
.fund__foto::before { content: ''; position: absolute; left: 10%; right: 10%; top: 12%; bottom: 0; border-radius: 50% 50% 0 0 / 40% 40% 0 0; background: radial-gradient(ellipse at 50% 100%, rgba(46, 175, 209, .35), rgba(46, 175, 209, 0) 70%); }
.fund__foto img { position: relative; width: 100%; max-width: 440px; margin-inline: auto; filter: drop-shadow(0 30px 40px rgba(0, 0, 0, .5)); }
.fund__texto { padding-bottom: clamp(24px, 4vw, 56px); }
.fund__pessoa { padding-top: 18px; margin-top: 18px; border-top: 1px solid var(--branco-15); }
.fund__pessoa h3 { font-size: 20px; color: #fff; margin-bottom: 6px; }
.fund__pessoa p { color: #b5c3d6; font-size: 15px; }
.lideres { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.lideres li { text-align: center; }
.lideres img, .lideres i { width: 100%; aspect-ratio: 1; border-radius: 50%; object-fit: cover; object-position: top; margin: 0 auto 14px; background: var(--nevoa); max-width: 200px; transition: transform .35s var(--suave), box-shadow .35s; }
.lideres li:hover img, .lideres li:hover i { transform: translateY(-4px); box-shadow: var(--sombra); }
.lideres i { display: grid; place-items: center; font: 500 34px/1 var(--serifa); font-style: normal; color: #fff; background: linear-gradient(140deg, var(--navy), var(--azul)); }
.lideres strong { display: block; font: 600 15.5px/1.3 var(--sans); }
.lideres span { font: 500 13.5px/1.3 var(--sans); color: var(--ciano-texto); }

/* Pregações */
.player { position: relative; border-radius: var(--raio); overflow: hidden; aspect-ratio: 16/9; background: var(--navy-700); box-shadow: var(--sombra-escura); }
.player iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.preg__grade { display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(28px, 4vw, 56px); align-items: center; }
.preg__texto h2 { color: #fff; }
.preg__texto p { color: #b5c3d6; margin-bottom: 22px; }
.preg__lista { list-style: none; display: grid; gap: 10px; }
.preg__lista a { display: grid; grid-template-columns: 100px 1fr; gap: 14px; align-items: center; padding: 10px; border-radius: 12px; text-decoration: none; color: #fff; background: var(--branco-15); transition: background .25s; }
.preg__lista a:hover { background: rgba(255, 255, 255, .22); }
.preg__lista img { width: 100px; aspect-ratio: 16/9; object-fit: cover; border-radius: 8px; }
.preg__lista b { display: block; font: 600 14px/1.35 var(--sans); }
.preg__lista span { font: 500 12.5px/1.3 var(--sans); color: #9db0c7; }

/* Contribua */
.contrib__grade { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.pix, .online { border-radius: var(--raio); padding: clamp(28px, 3.2vw, 40px); display: grid; gap: 10px; align-content: start; }
.pix { background: var(--nevoa); justify-items: start; border: 1px solid var(--linha); }
.online { background: var(--navy); color: #fff; text-decoration: none; position: relative; overflow: hidden; transition: transform .3s var(--suave); }
.online::after { content: ''; position: absolute; right: -60px; bottom: -60px; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, rgba(46, 175, 209, .4), transparent 70%); }
.online:hover { transform: translateY(-4px); }
.pix small, .online small { font: 600 11.5px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--ciano-texto); }
.online small { color: var(--ciano-claro); }
.pix strong { font: 600 clamp(18px, 1.8vw, 22px)/1.3 var(--sans); color: var(--navy); word-break: break-all; }
.online strong { font: 500 clamp(24px, 2.4vw, 30px)/1.2 var(--serifa); }
.pix span, .online span { color: var(--tinta-2); font-size: 15px; margin-bottom: 8px; }
.online span { color: #b5c3d6; }
.versiculo { max-width: 680px; margin: 0 auto clamp(36px, 5vw, 56px); text-align: center; font: italic 400 clamp(20px, 2.2vw, 26px)/1.5 var(--serifa); color: var(--navy); }
.versiculo cite { display: block; margin-top: 8px; font: 600 11.5px/1.3 var(--sans); font-style: normal; letter-spacing: .14em; text-transform: uppercase; color: var(--ciano-texto); }

/* Contato */
.cont__grade { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(32px, 5vw, 72px); align-items: start; }
.cont__lista { list-style: none; display: grid; gap: 4px; margin-top: 26px; }
.cont__lista li { display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--linha); }
.cont__lista i { width: 44px; height: 44px; border-radius: 12px; background: var(--nevoa); display: grid; place-items: center; color: var(--navy); }
.cont__lista i svg { width: 20px; height: 20px; fill: currentColor; }
.cont__lista b { display: block; font: 600 11.5px/1.3 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--ciano-texto); }
.cont__lista a { font: 600 16px/1.35 var(--sans); text-decoration: none; color: var(--tinta); }
.form { display: grid; gap: 16px; padding: clamp(24px, 3vw, 36px); border-radius: var(--raio); background: #fff; box-shadow: var(--sombra); border: 1px solid var(--linha); }
.form label { display: grid; gap: 7px; font: 600 13.5px/1.2 var(--sans); }
.form input:not([type=radio]), .form textarea { width: 100%; padding: 13px 14px; border-radius: 12px; border: 1px solid var(--linha); background: var(--nevoa); font: 400 15px/1.4 var(--sans); color: var(--tinta); transition: border-color .2s, box-shadow .2s, background .2s; }
.form input:focus, .form textarea:focus { outline: 0; background: #fff; border-color: var(--ciano); box-shadow: 0 0 0 4px rgba(46, 175, 209, .15); }
.form__dupla { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.form fieldset { border: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.form legend { font: 600 13.5px/1 var(--sans); margin-bottom: 10px; }
.chip { cursor: pointer; display: inline-block !important; position: relative; }
.chip input { position: absolute; opacity: 0; }
.chip span { display: inline-block; padding: 9px 14px; border-radius: 999px; border: 1px solid var(--linha); font: 500 13px/1 var(--sans); transition: all .2s; }
.chip input:checked + span { background: var(--navy); border-color: var(--navy); color: #fff; }
.chip input:focus-visible + span { box-shadow: 0 0 0 3px rgba(46, 175, 209, .3); }
.form .botao { justify-self: start; }
.form__aviso { font-size: 14px; color: #8a5a1f; }

/* rodapé completo */
.rodape { background: var(--navy-900); color: #9db0c7; padding: clamp(56px, 7vw, 88px) 0 24px; position: relative; overflow: hidden; }
.rodape::before { content: ''; position: absolute; inset: 0; background: url(img/textura.jpg) center/cover; opacity: .18; mix-blend-mode: luminosity; }
.rodape .caixa { position: relative; }
.rodape__topo { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 36px; padding-bottom: 40px; border-bottom: 1px solid var(--branco-15); }
.rodape__marca { display: block; width: 190px; aspect-ratio: 873/174; background: url(img/logo-branco.png) left center/contain no-repeat; margin-bottom: 18px; }
.rodape__topo p { font-size: 14.5px; line-height: 1.6; max-width: 320px; }
.rodape h4 { font: 600 11.5px/1.3 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--ciano-claro); margin-bottom: 16px; }
.rodape ul { list-style: none; display: grid; gap: 10px; font-size: 14.5px; }
.rodape ul b { display: block; color: #fff; font-weight: 600; }
.rodape ul a { color: #d6e0ec; text-decoration: none; }
.rodape ul a:hover { color: #fff; }
.rodape__redes { display: flex; gap: 10px; margin-top: 22px; }
.rodape__redes a { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--branco-15); color: #fff; transition: background .25s, transform .25s; }
.rodape__redes a:hover { background: var(--ciano); color: var(--navy-900); transform: translateY(-2px); }
.rodape__redes svg { width: 18px; height: 18px; fill: currentColor; }
.rodape__fim { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-top: 22px; font-size: 13px; }
.rodape__fim b { color: var(--ciano-claro); font-weight: 600; }

/* entrada das seções ao rolar */
.rev { opacity: 0; transform: translateY(26px); transition: opacity .9s var(--suave), transform .9s var(--suave); }
.rev.in { opacity: 1; transform: none; }
.rev[data-atraso="1"] { transition-delay: .1s; } .rev[data-atraso="2"] { transition-delay: .2s; } .rev[data-atraso="3"] { transition-delay: .3s; } .rev[data-atraso="4"] { transition-delay: .4s; } .rev[data-atraso="5"] { transition-delay: .5s; }
@media (prefers-reduced-motion: reduce) {
  .rev, .heroi .entra { opacity: 1; transform: none; animation: none; transition: none; }
  .heroi__foto img, .rolar i::after { animation: none; }
}

/* responsivo */
@media (max-width: 1080px) {
  .cultos__grade, .pilares-g { grid-template-columns: 1fr 1fr; }
  .culto--online { grid-column: span 2; }
  .unid__grade { grid-template-columns: 1fr 1fr; }
  .onde__grade { grid-template-columns: 1fr; }
  .sobre__grade, .hist__grade, .fund__grade, .preg__grade, .cont__grade { grid-template-columns: 1fr; }
  .sobre__fotos { margin-bottom: 50px; max-width: 620px; }
  .fund__foto img { max-width: 360px; }
  .numeros__grade { grid-template-columns: 1fr 1fr; }
  .msgs__grade { grid-template-columns: 1fr 1fr; }
  .msg--grande { grid-column: span 2; }
  .galeria { grid-template-columns: repeat(3, 1fr); grid-auto-rows: 180px; }
  .lideres { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 860px) {
  .topo__linha { height: 68px; }
  .marca { width: 150px; }
  .topo__abrir { display: flex; position: relative; z-index: 2; }
  .topo__menu { position: fixed; inset: 0; z-index: 1; flex-direction: column; align-items: flex-start; justify-content: center; gap: 4px; padding: 90px 28px 40px; background: var(--navy-900); color: #fff;
    opacity: 0; visibility: hidden; transform: translateY(-12px); transition: opacity .35s var(--suave), transform .35s var(--suave), visibility .35s; }
  .topo__menu.aberto { opacity: 1; visibility: visible; transform: none; }
  .topo__menu > a:not(.botao) { color: #fff !important; font: 500 24px/1.2 var(--serifa); padding: 10px 0; opacity: .9; }
  .topo__menu > a::after { display: none; }
  .topo__menu .botao { margin: 22px 0 0; background: #fff !important; color: var(--navy) !important; }
  .topo.claro .topo__abrir[aria-expanded=true] span, .topo.rolou .topo__abrir[aria-expanded=true] span { background: #fff; }
  .heroi { min-height: 92svh; }
  .heroi__conteudo { padding-top: 120px; }
  .heroi h1 { max-width: none; }
  .heroi__rodape .caixa { padding: 16px 0; }
  .rolar { display: none; }
  .abertura { padding: 120px 0 52px; }
  .abertura--foto { padding-top: 150px; }
  .cultos__grade { grid-template-columns: 1fr; }
  .culto--online { grid-column: auto; }
  .pilares-g { grid-template-columns: 1fr; }
  .rodape__topo { grid-template-columns: 1fr 1fr; }
  .rodape__topo > div:first-child { grid-column: span 2; }
  .galeria { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 160px; }
  .galeria .g-grande { grid-column: span 2; }
  .mapa iframe { height: 300px; }
}
@media (max-width: 560px) {
  body { font-size: 15.5px; }
  .caixa { width: calc(100% - 36px); }
  .heroi h1 { font-size: clamp(34px, 9.6vw, 44px); }
  .heroi__cultos { gap: 14px 20px; }
  .linha-acoes .botao { flex: 1; }
  .numeros__grade { gap: 8px; }
  .numeros__grade div { padding: 18px 0 16px 16px; }
  .min__grade, .unid__grade, .msgs__grade, .contrib__grade, .form__dupla, .onde__grade .unid__grade { grid-template-columns: 1fr; }
  .msg--grande { grid-column: auto; grid-template-columns: 1fr; gap: 0; }
  .galeria { grid-template-columns: 1fr 1fr; grid-auto-rows: 130px; }
  .lideres { gap: 12px; }
  .lideres img, .lideres i { max-width: 140px; }
  .sobre__fotos .f2 { bottom: -28px; }
  .rodape__topo { grid-template-columns: 1fr; }
  .rodape__topo > div:first-child { grid-column: auto; }
  .rodape__fim { flex-direction: column; }
}

/* menu do celular aberto: o logo fica visível (branco) por cima da cortina escura */
@media (max-width: 860px) {
  .marca { position: relative; z-index: 2; }
  .topo.menu-aberto { background: transparent; box-shadow: none; backdrop-filter: none; }
  .topo.menu-aberto .marca { background-image: url(img/logo-branco.png); }
}
