:root{
  --noite:#0f1f45;
  --azul:#1d3a78;
  --ceu:#dce8f6;
  --ceu-suave:#eef3fa;
  --creme:#fbf8f1;
  --papel:#f4efe4;
  --ouro:#b98d3f;
  --ouro-claro:#d9b872;
  --coracao:#9b2c36;
  --texto:#24304a;
  --suave:#5d6a85;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Nunito Sans',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{font-family:var(--sans);color:var(--texto);background:var(--creme);line-height:1.7;font-size:17px;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08;color:var(--noite)}
h2{font-size:clamp(2.2rem,4.6vw,3.6rem);letter-spacing:-.01em}
h2 em,h1 em{font-style:italic;font-weight:400}
.miolo{max-width:1120px;margin:0 auto;padding:0 24px}
.miolo.estreito{max-width:820px}
.miolo.largo{max-width:1280px}
section{padding:112px 0}
.sobretitulo{font-size:.78rem;letter-spacing:.24em;text-transform:uppercase;font-weight:600;color:var(--ouro-claro);margin-bottom:20px}
.sobretitulo.escuro{color:var(--ouro)}
.secao-cab{margin-bottom:56px}
.secao-cab.centro{text-align:center}
.lede{margin-top:18px;max-width:52ch;color:var(--suave);font-size:1.08rem}

/* botões */
.btn{display:inline-block;padding:15px 30px;font-family:var(--sans);font-size:.88rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border-radius:2px;transition:.25s;border:1px solid transparent}
.btn-ouro{background:var(--ouro);color:#fff}
.btn-ouro:hover{background:#a37a31}
.btn-linha{border-color:rgba(255,255,255,.55);color:#fff}
.btn-linha:hover{background:#fff;color:var(--noite)}

/* topo */
.topo{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:16px 32px;transition:.3s;color:#fff}
.topo.rolado{padding:10px 32px;box-shadow:0 1px 0 rgba(255,255,255,.08)}
/* o fundo e o desfoque ficam num pseudo-elemento: filtros no próprio cabeçalho prendem o menu lateral dentro dele */
.topo::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(15,31,69,.96);backdrop-filter:blur(8px);opacity:0;transition:opacity .3s;pointer-events:none}
.topo.rolado::before{opacity:1}
.marca{display:flex;align-items:center;gap:12px;text-decoration:none}
.marca-logo{width:54px;height:54px;flex:none;margin:-6px 0}
.topo.rolado .marca-logo{width:46px;height:46px}
.marca-texto{white-space:nowrap;font-family:var(--serif);font-size:1.25rem;font-weight:500;line-height:1.05;display:flex;flex-direction:column}
.marca-texto small{font-family:var(--sans);font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;opacity:.75;margin-top:3px}
.menu{display:flex;gap:clamp(12px,1.4vw,26px);align-items:center}
.menu a{white-space:nowrap;text-decoration:none;font-size:.76rem;letter-spacing:.05em;text-transform:uppercase;font-weight:600;opacity:.9;position:relative}
.menu a:not(.menu-contato)::after{content:"";position:absolute;left:0;bottom:-5px;height:1px;width:0;background:var(--ouro-claro);transition:.25s}
.menu a:hover::after{width:100%}
.menu-contato{border:1px solid var(--ouro-claro);padding:8px 14px;border-radius:2px}
.menu-contato:hover{background:var(--ouro);border-color:var(--ouro)}
.menu-btn{display:none;background:none;border:0;width:40px;height:40px;position:relative;z-index:2;cursor:pointer}
.menu-btn span{position:absolute;left:8px;right:8px;height:2px;background:#fff;transition:.25s}
.menu-btn span:first-child{top:15px}.menu-btn span:last-child{top:23px}
.menu-btn[aria-expanded=true] span:first-child{top:19px;transform:rotate(45deg)}
.menu-btn[aria-expanded=true] span:last-child{top:19px;transform:rotate(-45deg)}

/* hero */
.hero{position:relative;min-height:100vh;min-height:100svh;padding:0;background:var(--noite);color:#fff;display:flex;align-items:center;overflow:hidden}
.hero-foto{position:absolute;top:0;right:0;bottom:0;width:58%;background:url(img/fachada.jpg) center 40%/cover no-repeat}
.hero-foto::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--noite) 0%,rgba(15,31,69,.55) 35%,rgba(15,31,69,0) 70%),linear-gradient(0deg,rgba(15,31,69,.6),transparent 30%)}
.hero-conteudo{position:relative;z-index:2;width:100%;max-width:1280px;margin:0 auto;padding:140px 32px 90px}
.hero h1{color:#fff;font-size:clamp(3.1rem,7.4vw,6.4rem);font-weight:500;letter-spacing:-.015em;margin-bottom:28px}
.subtitulo{font-family:var(--serif);font-size:clamp(1.4rem,2.4vw,1.9rem);font-style:italic;color:var(--ceu);margin-bottom:36px}
.oracao{max-width:30rem;border-left:2px solid var(--ouro);padding-left:22px;font-family:var(--serif);font-size:1.15rem;line-height:1.55;color:rgba(255,255,255,.88);margin-bottom:44px}
.oracao cite{display:block;margin-top:12px;font-family:var(--sans);font-style:normal;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ouro-claro)}
.botoes{display:flex;gap:16px;flex-wrap:wrap}

/* horários */
.horarios{background:var(--creme);padding-top:96px}
.horarios-grade{display:grid;grid-template-columns:1.45fr 1.15fr .9fr 1.2fr;border-top:1px solid var(--ouro)}
.hor-bloco{padding:34px 28px 20px 0;margin-right:28px;border-right:1px solid rgba(185,141,63,.3)}
.hor-bloco:last-child{border-right:0;margin-right:0}
.hor-bloco h3{font-size:2rem;margin-bottom:16px;color:var(--azul)}
.hor-bloco p{font-size:.95rem;color:var(--suave)}
.hor-missas dl div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px dotted rgba(36,48,74,.25)}
.hor-missas dt{font-size:.9rem;color:var(--suave)}
.hor-missas dd{font-family:var(--serif);font-size:1.35rem;font-weight:600;color:var(--noite);text-align:right}
.conferir{display:inline-block;margin-top:14px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ouro);font-weight:700}
.nota{margin-top:30px;font-size:.82rem;color:var(--suave)}

/* sobre */
.sobre{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;max-width:1280px;margin:0 auto;padding:60px 32px 120px}
.sobre-fotos{position:relative;height:640px}
.sobre-fotos img{position:absolute;object-fit:cover;box-shadow:0 20px 50px rgba(15,31,69,.18)}
.foto-alta{left:0;top:0;width:66%;height:88%}
.foto-baixa{right:0;bottom:0;width:50%;height:52%;border:8px solid var(--creme);object-position:50% 70%}
.sobre-texto h2{margin-bottom:28px}
.sobre-texto p{margin-bottom:18px;max-width:52ch}
.destaque{margin-top:32px;font-family:var(--serif);font-style:italic;font-size:1.5rem;line-height:1.35;color:var(--azul);padding-top:26px;border-top:1px solid var(--ouro);max-width:30rem}
.destaque cite{display:block;margin-top:8px;font-family:var(--sans);font-style:normal;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ouro)}

/* padres */
.padres{background:var(--ceu-suave)}
.padres-grade{display:grid;grid-template-columns:1fr 1fr;gap:56px;max-width:860px;margin:0 auto}
.padres figure img{width:100%;aspect-ratio:4/5;object-fit:cover}
.padres figcaption{padding-top:20px}
.padres figcaption span{display:block;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ouro);font-weight:700;margin-bottom:4px}
.padres figcaption strong{font-family:var(--serif);font-size:1.7rem;font-weight:500;color:var(--noite);line-height:1.15}

/* vida */
.vida{display:grid;grid-template-columns:5fr 6fr;padding:0;background:var(--noite);color:#fff}
.vida-foto{background:var(--noite)}
.vida-foto img{position:sticky;top:0;width:100%;height:100vh;max-height:900px;object-fit:cover;object-position:50% 70%}
.vida-conteudo{padding:110px 8vw 110px 7vw}
.vida h2{color:#fff;margin-bottom:38px}
.vida-lista{list-style:none;padding:0;border-top:1px solid rgba(255,255,255,.2)}
.vida-lista li{border-bottom:1px solid rgba(255,255,255,.2)}
.vida summary{list-style:none;cursor:pointer;font-family:var(--serif);font-size:1.9rem;padding:18px 0;display:flex;justify-content:space-between;align-items:center;transition:color .2s}
.vida summary::-webkit-details-marker{display:none}
.vida summary::after{content:"+";font-family:var(--sans);font-weight:300;color:var(--ouro-claro);font-size:1.6rem}
.vida details[open] summary::after{content:"–"}
.vida summary:hover{color:var(--ouro-claro)}
.vida details p{padding:0 0 22px;color:var(--ceu);max-width:46ch;font-size:.98rem}
.chamada{margin-top:32px;color:var(--ceu)}
.chamada a{color:var(--ouro-claro)}

/* avisos */
.avisos{background:var(--papel)}
.avisos-corpo{display:grid;grid-template-columns:4fr 7fr;gap:64px;align-items:start}
.avisos-destaque img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%}
.aviso{padding:26px 0;border-top:1px solid rgba(36,48,74,.2)}
.aviso:first-child{padding-top:0;border-top:0}
.aviso time{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ouro);font-weight:700}
.aviso h3{font-size:1.9rem;margin:6px 0 8px}
.aviso p{color:var(--suave);max-width:56ch}
.avisos .secao-cab .sobretitulo{color:var(--ouro)}

/* agenda */
.agenda-lista{list-style:none;padding:0;border-top:1px solid var(--ouro)}
.evento{display:grid;grid-template-columns:110px 1fr auto;gap:28px;align-items:baseline;padding:26px 0;border-bottom:1px solid rgba(36,48,74,.15)}
.ev-data{font-family:var(--serif);color:var(--azul);line-height:1}
.ev-data b{display:block;font-size:3.2rem;font-weight:500}
.ev-data span{font-family:var(--sans);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ouro);font-weight:700}
.ev-tit{font-family:var(--serif);font-size:1.7rem;color:var(--noite);line-height:1.15}
.ev-desc{font-size:.95rem;color:var(--suave);margin-top:4px}
.ev-hora{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--suave);font-weight:600;white-space:nowrap}

/* galeria */
.galeria{background:var(--creme);padding-top:40px}

/* local */
.local{display:grid;grid-template-columns:1fr 1.25fr;padding:0;background:var(--azul);color:#fff}
.local-info{padding:100px 6vw 100px 8vw}
.local h2{color:#fff;margin-bottom:30px}
.local address{font-style:normal;font-family:var(--serif);font-size:1.5rem;line-height:1.4;margin-bottom:30px;color:var(--ceu)}
.local address strong{color:#fff;font-weight:600}
.contatos{list-style:none;padding:0;margin-bottom:36px;border-top:1px solid rgba(255,255,255,.2)}
.contatos li{display:flex;gap:20px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.2);font-size:.95rem;color:var(--ceu)}
.contatos li span{flex:0 0 140px;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ouro-claro);font-weight:700;padding-top:3px}
.contatos a{color:#fff}
.local-mapa{min-height:520px}
.local-mapa iframe{width:100%;height:100%;min-height:520px;border:0;filter:saturate(.8)}

/* cta */
.cta{position:relative;text-align:center;color:#fff;background:linear-gradient(rgba(15,31,69,.82),rgba(15,31,69,.88)),url(img/nossa-senhora.jpg) center 35%/cover;padding:150px 24px}
.cta h2{color:#fff;font-style:italic;font-weight:400;font-size:clamp(2.4rem,5.4vw,4.4rem);max-width:16ch;margin:0 auto 44px}
.cta-sinal{position:relative;width:16px;height:26px;margin:0 auto 32px;font-size:0}
.cta-sinal::before,.cta-sinal::after{content:"";position:absolute;background:var(--ouro-claro)}
.cta-sinal::before{left:7px;top:0;width:2px;height:26px}
.cta-sinal::after{left:1px;top:7px;width:14px;height:2px}

.rodape{background:var(--noite);color:var(--ceu);text-align:center;padding:48px 24px;font-size:.88rem}
.rodape-nome{font-family:var(--serif);font-size:1.4rem;color:#fff;margin-bottom:4px}
.rodape-oracao{margin-top:18px;font-family:var(--serif);font-style:italic;color:var(--ouro-claro);font-size:1.1rem}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .9s ease,transform .9s ease}
.reveal.on{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

/* responsivo */
@media (max-width:1260px){
  .menu-btn{display:block}
  .menu{position:fixed;inset:0 0 0 auto;width:min(320px,82vw);background:var(--noite);flex-direction:column;align-items:flex-start;justify-content:center;gap:26px;padding:40px;transform:translateX(100%);transition:.35s}
  .menu.aberto{transform:none}
  .menu a{font-size:1rem}
}
@media (max-width:980px){
  section{padding:80px 0}
  .menu-btn{display:block}
  .menu{position:fixed;inset:0 0 0 auto;width:min(320px,82vw);background:var(--noite);flex-direction:column;align-items:flex-start;justify-content:center;gap:26px;padding:40px;transform:translateX(100%);transition:.35s}
  .menu.aberto{transform:none}
  .menu a{font-size:1rem}
  .hero-foto{width:100%;opacity:.55}
  .hero-foto::after{background:linear-gradient(0deg,var(--noite) 8%,rgba(15,31,69,.5) 60%,rgba(15,31,69,.7))}
  .hero-conteudo{padding:120px 24px 70px}
  .horarios-grade{grid-template-columns:1fr 1fr}
  .hor-bloco{margin-right:0;padding-right:20px;border-right:0;border-bottom:1px solid rgba(185,141,63,.3);padding-bottom:28px}
  .hor-bloco:last-child{border-bottom:0}
  .sobre{grid-template-columns:1fr;gap:56px;padding:40px 24px 80px}
  .sobre-fotos{height:520px}
  .vida{grid-template-columns:1fr}
  .vida-foto img{position:static;height:380px}
  .vida-conteudo{padding:70px 24px}
  .avisos-corpo{grid-template-columns:1fr;gap:40px}
  .avisos-destaque img{aspect-ratio:16/10}
  .local{grid-template-columns:1fr}
  .local-info{padding:70px 24px}
  
}
@media (max-width:620px){
  body{font-size:16px}
  .topo{padding:12px 18px}
  .marca-texto{font-size:1.1rem}
  .horarios-grade{grid-template-columns:1fr}
  .padres-grade{grid-template-columns:1fr;gap:40px}
  .evento{grid-template-columns:76px 1fr;gap:16px}
  .ev-hora{grid-column:2}
  .ev-data b{font-size:2.4rem}
  .contatos li{flex-direction:column;gap:2px}
  .contatos li span{flex:none;padding-top:0}
  .so-desktop{display:none}
}

.comunidade{position:relative;padding:0;height:min(78vh,720px);overflow:hidden;background:var(--noite)}
.comunidade img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 38%}
.comunidade::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,31,69,.88),rgba(15,31,69,.05) 60%)}
.comunidade-texto{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:0 24px 56px;text-align:center;color:#fff}
.comunidade-texto p{max-width:28ch;margin:0 auto;font-family:var(--serif);font-style:italic;font-size:clamp(1.7rem,3.6vw,2.8rem);line-height:1.2}
.comunidade-texto cite{display:block;margin-top:12px;font-family:var(--sans);font-style:normal;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ouro-claro)}
.rodape-logo{width:150px;height:150px;margin:0 auto 16px;opacity:.95}
@media (max-width:980px){.comunidade{height:60vh}}

.hor-bloco .hora{font-family:var(--serif);font-size:1.3rem;font-weight:600;color:var(--noite);line-height:1.3}
.sec-nota{margin-top:10px}
.link-zap{display:inline-block;margin-top:14px;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--azul);text-decoration:none;border-bottom:1px solid var(--ouro);padding-bottom:2px}
.link-zap:hover{color:var(--ouro)}

.hor-missas dd small{font-family:var(--sans);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ouro);font-weight:700;margin-left:2px}
.hor-missas dd{font-size:1.2rem}
.hor-missas dt{font-size:.85rem}
.rodape-bloco{margin-top:14px;font-size:.8rem!important;line-height:1.55}
.hor-bloco p.destaque-hora{font-size:1.6rem;font-family:var(--serif);font-size:1.6rem;font-weight:600;color:var(--noite)!important;line-height:1.2;margin-bottom:12px}
.dizimo{background:var(--ceu-suave)}
.dizimo-grade{display:grid;grid-template-columns:1fr 1fr;gap:56px;border-top:1px solid var(--ouro);padding-top:36px}
.dizimo h3{font-size:1.8rem;margin-bottom:14px;color:var(--azul)}
.dizimo p{font-size:.95rem;color:var(--suave)}
.dizimo a{color:var(--azul)}
.dizimo ul{margin:12px 0 0 18px;color:var(--suave);font-size:.95rem}
.banco div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px dotted rgba(36,48,74,.25)}
.banco dt{font-size:.85rem;color:var(--suave)}
.banco dd{font-weight:600;color:var(--noite);text-align:right}
@media (max-width:980px){.horarios-grade{grid-template-columns:1fr 1fr}.dizimo-grade{grid-template-columns:1fr;gap:36px}}
@media (max-width:620px){.horarios-grade{grid-template-columns:1fr}}

/* galeria de álbuns */
.galeria-filtros{display:flex;gap:26px;margin:-20px 0 36px;border-bottom:1px solid rgba(36,48,74,.15)}
.galeria-filtros button{background:none;border:0;padding:10px 0;font:inherit;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--suave);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.galeria-filtros button[aria-pressed=true]{color:var(--noite);border-color:var(--ouro)}
.albuns{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:36px 28px}
.album-item{display:block;width:100%;text-align:left;background:none;border:0;padding:0;cursor:pointer;font:inherit;color:inherit}
.album-item .capa{display:block;aspect-ratio:4/5;overflow:hidden;background:var(--ceu)}
.album-item img{width:100%;height:100%;object-fit:cover;transition:transform .9s ease}
.album-item:hover img,.album-item:focus-visible img{transform:scale(1.045)}
.album-item .meta{display:block;margin-top:16px;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ouro);font-weight:700}
.album-item .nome{display:block;font-family:var(--serif);font-size:1.8rem;line-height:1.12;color:var(--noite);margin-top:4px}
.album-vazio{color:var(--suave)}
.album{position:fixed;inset:0;z-index:90;background:var(--creme);overflow-y:auto}
.album[hidden]{display:none}
.album-barra{position:sticky;top:0;z-index:2;background:rgba(251,248,241,.95);backdrop-filter:blur(6px);padding:14px 28px;border-bottom:1px solid rgba(36,48,74,.12)}
.album-voltar{background:none;border:0;font:inherit;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--azul);cursor:pointer;padding:8px 0}
.album-corpo{max-width:1280px;margin:0 auto;padding:56px 24px 100px}
.album-cab{margin-bottom:48px}
.album-fotos{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:14px;align-items:start}
.album-col{display:flex;flex-direction:column;gap:14px}
.album-foto{display:block;width:100%;border:0;padding:0;cursor:zoom-in;overflow:hidden;background:var(--ceu)}
.album-foto img{width:100%;height:auto;transition:transform .8s ease}
.album-foto:hover img{transform:scale(1.03)}
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(9,17,40,.95);display:flex;align-items:center;justify-content:center;gap:12px;padding:24px}
.lightbox[hidden]{display:none}
.lightbox figure{margin:0;text-align:center;max-width:min(1100px,84vw)}
.lightbox img{max-height:82vh;max-width:100%;object-fit:contain;margin:0 auto}
.lightbox figcaption{color:var(--ceu);font-family:var(--serif);font-style:italic;font-size:1.2rem;margin-top:12px;min-height:1.5em}
.lb-fechar{position:absolute;top:14px;right:24px;background:none;border:0;color:#fff;font-size:2.8rem;cursor:pointer;line-height:1}
.lb-nav{background:none;border:0;color:#fff;font-size:3.4rem;line-height:1;cursor:pointer;padding:12px;opacity:.75}
.lb-nav:hover{opacity:1}
.lb-nav[hidden]{display:none}
body.trava{overflow:hidden}
@media (max-width:620px){
  .albuns{grid-template-columns:1fr;gap:32px}
  .album-corpo{padding:36px 16px 80px}
  .album-fotos,.album-col{gap:8px}
  .lb-nav{position:absolute;bottom:14px;font-size:2.6rem}.lb-ant{left:16px}.lb-prox{right:16px}
  .lightbox figure{max-width:100%}
}

.alerta-topo{position:fixed;top:0;left:0;right:0;z-index:70;background:#7a1f2a;color:#fff;text-align:center;padding:10px 20px;font-size:.92rem}
.alerta-topo[hidden]{display:none}
.alerta-topo p{margin:0}.alerta-topo a{color:var(--ouro-claro);margin-left:8px;font-weight:700}
body.com-alerta .topo{top:var(--alerta-h,0)}
body.com-alerta .hero-conteudo{padding-top:calc(140px + var(--alerta-h,0px))}

/* avisos: prévia clicável e card com o texto completo */
.aviso-abrir{cursor:pointer;transition:background .2s,padding .2s}
.aviso-abrir:hover,.aviso-abrir:focus-visible{background:rgba(185,141,63,.08);outline:none}
.aviso-abrir:hover h3,.aviso-abrir:focus-visible h3{color:var(--azul)}
.aviso-mais{display:inline-block;margin-top:10px;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--ouro)}
.aviso-modal{position:fixed;inset:0;z-index:95;background:rgba(9,17,40,.72);display:grid;place-items:center;padding:20px;overflow-y:auto}
.aviso-modal[hidden]{display:none}
.aviso-card{position:relative;background:var(--creme);width:100%;max-width:640px;max-height:90vh;overflow-y:auto;padding:46px 44px 40px;border-top:4px solid var(--ouro);box-shadow:0 30px 80px rgba(0,0,0,.4)}
.aviso-fechar{position:absolute;top:8px;right:16px;background:none;border:0;font-size:2.4rem;line-height:1;color:var(--suave);cursor:pointer}
.aviso-fechar:hover{color:var(--noite)}
.aviso-cat{font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--ouro);margin-bottom:8px}
.aviso-card h3{font-size:clamp(1.9rem,4vw,2.5rem);margin-bottom:8px}
.aviso-data{font-size:.85rem;color:var(--suave);margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid rgba(185,141,63,.4)}
.aviso-data:empty{display:none}
.aviso-texto p{margin-bottom:14px;font-size:1.05rem}
@media (max-width:620px){.aviso-card{padding:40px 24px 30px}}

/* campanha do metro quadrado */
.campanha{background:var(--papel)}
.campanha[hidden]{display:none}
.campanha-grade{max-width:1120px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:5fr 6fr;gap:72px;align-items:center}
.campanha-arte{background:#f3f3f3;box-shadow:0 24px 60px rgba(15,31,69,.16)}
.campanha-arte img{width:100%;height:auto}
.campanha-texto h2{margin-bottom:24px}
.campanha-corpo p{margin-bottom:14px;max-width:52ch}
.campanha-itens{margin:28px 0 34px;border-top:1px solid var(--ouro)}
.campanha-itens div{padding:14px 0;border-bottom:1px solid rgba(36,48,74,.15)}
.campanha-itens dt{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--ouro)}
.campanha-itens dd{font-family:var(--serif);font-size:1.4rem;color:var(--noite);line-height:1.25;margin-top:2px}
@media (max-width:980px){.campanha-grade{grid-template-columns:1fr;gap:40px}.campanha-arte{width:100%;max-width:420px;margin:0 auto}}

/* ===== entrada do site: devagar, como quem abre a porta da igreja ===== */
:root{--ease:cubic-bezier(.2,.7,.2,1)}
@keyframes sobe{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes foto-entra{from{opacity:0;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}
@keyframes luz{from{opacity:0}to{opacity:1}}
@keyframes fio{from{width:0}to{width:44px}}
@keyframes rolar{0%{transform:scaleY(0);opacity:1}55%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}

.hero-foto{transform-origin:78% 42%;animation:foto-entra 2.8s cubic-bezier(.2,.6,.2,1) both}
/* um brilho dourado, como a luz da manhã entrando pela nave */
.hero::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;background:radial-gradient(55% 55% at 80% 16%,rgba(217,184,114,.30),rgba(217,184,114,0) 70%);animation:luz 3.4s ease .5s forwards}
.topo{animation:luz 1.4s ease .2s both}
.hero .sobretitulo::before{content:"";display:inline-block;width:0;height:1px;background:var(--ouro-claro);vertical-align:middle;margin-right:14px;animation:fio 1.3s var(--ease) .7s forwards}
.hero .sobretitulo{animation:sobe 1.1s var(--ease) .35s both}
.hero h1 .ln{display:block}
.hero h1 .ln:nth-child(1){animation:sobe 1.2s var(--ease) .5s both}
.hero h1 .ln:nth-child(2){animation:sobe 1.2s var(--ease) .68s both}
.hero h1 .ln:nth-child(3){animation:sobe 1.2s var(--ease) .86s both}
.hero .subtitulo{animation:sobe 1.2s var(--ease) 1.1s both}
.hero .oracao{animation:sobe 1.2s var(--ease) 1.35s both}
.hero .botoes{animation:sobe 1.2s var(--ease) 1.6s both}
.rolar{position:absolute;left:50%;bottom:24px;z-index:3;width:24px;height:48px;margin-left:-12px;opacity:0;animation:luz 1.4s ease 2.6s forwards}
.rolar span{position:absolute;left:50%;top:0;width:1px;height:100%;background:linear-gradient(var(--ouro-claro),rgba(217,184,114,0));transform-origin:top;animation:rolar 2.8s ease-in-out 3.2s infinite}
@media (max-height:620px){.rolar{display:none}}

.reveal{transform:translateY(30px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}
.comunidade img{object-position:50% 66%}

@media (prefers-reduced-motion:reduce){
  .hero-foto,.hero::before,.topo,.hero .sobretitulo,.hero h1 .ln,.hero .subtitulo,.hero .oracao,.hero .botoes,.rolar,.rolar span{animation:none!important}
  .hero::before{opacity:1}
  .hero .sobretitulo::before{animation:none;width:44px}
  .rolar{display:none}
}

/* nossa padroeira */
.padroeira{padding:0;background:var(--ceu-suave)}
.pad-intro{max-width:1120px;margin:0 auto;padding:110px 24px 60px;display:grid;grid-template-columns:5fr 6fr;gap:72px;align-items:center}
.pad-estatua{margin:0}
.pad-estatua img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 25%;box-shadow:0 24px 60px rgba(15,31,69,.18)}
.pad-texto h2{margin-bottom:24px}
.pad-texto p{margin-bottom:16px;max-width:54ch}
.pad-historia{padding-top:30px;padding-bottom:110px}
.linha-tempo{list-style:none;padding:0;border-top:1px solid var(--ouro)}
.linha-tempo li{display:grid;grid-template-columns:190px 1fr;gap:30px;padding:26px 0;border-bottom:1px solid rgba(36,48,74,.15)}
.linha-tempo time{font-family:var(--serif);font-size:1.75rem;line-height:1.1;color:var(--azul)}
.linha-tempo time small{display:block;font-family:var(--sans);font-size:.72rem;letter-spacing:.2em;color:var(--ouro);font-weight:700;margin-top:4px}
.linha-tempo h3{font-size:1.7rem;margin-bottom:6px}
.linha-tempo p{color:var(--suave);max-width:58ch}
.linha-tempo li.tl-foto{display:block;padding:22px 0;border-bottom:1px solid rgba(36,48,74,.15)}
.tl-foto figure{margin:0}
.tl-foto img{width:100%;max-height:440px;object-fit:cover;object-position:50% 40%;filter:sepia(.15)}
.tl-foto figcaption{font-size:.82rem;color:var(--suave);margin-top:8px;font-style:italic}
.tl-foto.duplo{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tl-foto.duplo img{aspect-ratio:4/3;max-height:none}
.pastorinhos{background:var(--noite);color:var(--ceu);padding:110px 24px 100px}
.pastorinhos>*{max-width:1120px;margin-left:auto;margin-right:auto}
.pastorinhos-topo{display:grid;grid-template-columns:6fr 5fr;gap:64px;align-items:center;margin-bottom:64px}
.pastorinhos-topo figure{margin:0}
.pastorinhos-topo img{width:100%;aspect-ratio:11/8;object-fit:cover;filter:sepia(.25) contrast(1.02)}
.pastorinhos h2{color:#fff;margin-bottom:20px}
.pastorinhos-topo p{max-width:46ch}
.pastorinhos-tres{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid rgba(255,255,255,.22)}
.pastorinho{padding:30px 30px 10px 0;margin-right:30px;border-right:1px solid rgba(255,255,255,.14)}
.pastorinho:last-child{border-right:0;margin-right:0}
.pastorinho h3{color:#fff;font-size:1.9rem}
.pastorinho .anos{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ouro-claro);font-weight:700;margin:2px 0 12px}
.pastorinho p:last-child{font-size:.98rem}
.pastorinhos-santos{margin-top:34px!important;padding-top:24px;border-top:1px solid rgba(255,255,255,.22);font-family:var(--serif);font-style:italic;font-size:1.35rem;color:var(--ouro-claro);max-width:60ch!important}
.pastorinhos-fim{margin-top:56px!important;text-align:center}
.pastorinhos-fim p{font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.1rem);color:#fff;max-width:26ch;margin:0 auto 26px}
@media (max-width:980px){
  .pad-intro{grid-template-columns:1fr;gap:40px;padding-top:80px}
  .pad-estatua{width:100%;max-width:420px;margin:0 auto}
  .pastorinhos-topo{grid-template-columns:1fr;gap:32px}
  .pastorinhos-tres{grid-template-columns:1fr}
  .pastorinho{border-right:0;margin-right:0;padding-right:0;border-bottom:1px solid rgba(255,255,255,.14);padding-bottom:22px}
  .pastorinho:last-child{border-bottom:0}
}
@media (max-width:620px){
  .linha-tempo li{grid-template-columns:1fr;gap:6px}
  .tl-foto.duplo{grid-template-columns:1fr}
}

@media (max-width:1260px){.menu{z-index:1}}
