/* Direção visual: editorial, acolhedora e sóbria. Mantém os componentes funcionais. */
:root{--manto:#132b39;--manto-fundo:#0b1d28;--tinta:#243642;--tinta-suave:#646d70;--cal:#f8f6f1;--nevoa:#e5e3dc;--ouro:#d9bd7e;--ouro-fosco:#a58649;--rubrica:#8a6b36;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans','Segoe UI',sans-serif;--raio:6px}
body{font-size:1rem;background:var(--cal)}
h1,h2,h3{font-weight:400;letter-spacing:-.025em}
.app{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:'nav' 'palco' 'rodape'}
.terco{flex-direction:row;align-items:center;justify-content:space-between;gap:2rem;padding:1.15rem 4%;background:var(--cal);color:var(--manto);border-bottom:1px solid var(--nevoa)}
.marca{flex:none;margin:0;column-gap:.7rem;max-width:250px}
.marca img{width:38px}.marca-nome{color:var(--manto);font:400 1.65rem/1.1 var(--serif)}
.marca-local{color:var(--tinta-suave);font-size:.62rem;line-height:1.5;max-width:190px}
.contas{flex:0 1 auto;flex-direction:row;align-items:center;gap:1.3rem;justify-content:flex-end}
.contas::before,.contas .conta,.terco>.cruz{display:none}
.contas a{color:var(--tinta-suave);font-size:.77rem;font-weight:500;min-height:2.6rem;white-space:nowrap;border-bottom:1px solid transparent}
.contas a:hover,.contas a[aria-current='page']{color:var(--manto);font-weight:500;border-bottom-color:var(--ouro-fosco)}
.contas li:last-child a{border:1px solid #b7b8b0;border-radius:3px;padding:0 1rem;color:var(--manto)}
.palco{background:var(--cal);view-transition-name:none}
.frame{padding:2.6rem 5%;gap:1.8rem}
.cabecalho{padding-bottom:1.1rem;border-bottom:1px solid var(--nevoa)}
.cabecalho h2{font-size:clamp(2.4rem,4.7cqh,3.6rem)}
.abas{gap:1.5rem}.abas [role=tab]{font-size:.9rem;padding:.6rem 0;border-bottom-width:2px}
.botao{font-family:var(--sans);font-size:.88rem;font-weight:500;border-width:1px;min-height:3.15rem;border-radius:3px;gap:1.6rem;padding:.8rem 1.3rem}
.rubrica{font:500 .78rem/1.5 var(--sans);letter-spacing:.05em}
.rodape{background:var(--cal);font-size:.65rem;padding:.65rem 4%;color:var(--tinta-suave)}
.f-inicio{display:block;padding:0;overflow-x:hidden}
.hero{display:grid;grid-template-columns:1fr 1fr;min-height:520px;background:var(--manto)}
.hero-copy{padding:4.5rem 5vw 3rem;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;color:var(--cal)}
.eyebrow{font:500 .64rem/1.6 var(--sans);letter-spacing:.17em}
.hero .eyebrow{color:var(--ouro);margin-bottom:1.7rem}
.f-inicio h1{font:400 clamp(3.4rem,5.4vw,6rem)/1.01 var(--serif);letter-spacing:-.035em;color:#fbf8ef;text-wrap:initial}
.f-inicio h1 em{color:var(--ouro);font-weight:400}
.hero .lead{font-size:1rem;line-height:1.8;color:#cbd2d3;margin:1.6rem 0 1.8rem}
.hero .botao{background:var(--ouro);border-color:var(--ouro);color:#172b36}.hero .botao:hover{background:#e9d09c}
.hero .acoes{align-items:center;gap:1.4rem}
.hero-link{font-size:.8rem;text-decoration:none;color:#f4f0e8}.hero-link span{margin-left:.6rem}.hero-link:hover{text-decoration:underline;text-underline-offset:5px}
.hero-assinatura{display:flex;align-items:center;gap:.8rem;border-top:1px solid #ffffff20;margin-top:2.8rem;padding-top:1.2rem;width:100%;font-size:.72rem;line-height:1.8;color:#e5e5df}
.hero-assinatura p span{display:block;color:#aab8bf;font-size:.65rem}.small-cross{color:var(--ouro);font-size:1.7rem}
.hero-photo{position:relative;min-width:0;overflow:hidden}.hero-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:52% 45%}
.hero-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0b1d28c9,transparent 38%)}
.hero-photo figcaption{position:absolute;bottom:2rem;left:2.2rem;right:2rem;z-index:1;color:white;display:flex;flex-direction:column;gap:.45rem;font:400 1.25rem var(--serif)}
.hero-photo figcaption span:first-child{font:500 .6rem var(--sans);letter-spacing:.18em;color:#ebd4a7}
.encontro-strip{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.8rem 5%;border-bottom:1px solid #d8d4c9;background:#eeebe2}
.encontro-label{display:flex;align-items:center;gap:1.15rem}.strip-symbol{font-size:2rem;color:var(--ouro-fosco)}
.encontro-strip .eyebrow{color:#766441;font-size:.58rem;margin-bottom:.4rem}.strip-date{font:400 1.4rem/1.25 var(--serif);color:var(--manto)}
.strip-place{font-size:.78rem;line-height:1.7}.strip-place span{display:block;color:var(--tinta-suave);font-size:.7rem}
.encontro-strip>a{font-size:.78rem;white-space:nowrap;text-decoration:none;border-bottom:1px solid #aaa18c;padding:.6rem 0}.encontro-strip>a span{margin-left:1.3rem}
.home-more{padding:4rem 5%;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:1.6rem}
.home-intro{padding:1rem 1.7rem 1rem 0}.home-intro .eyebrow{color:var(--rubrica);font-size:.58rem}.home-intro h2{font-size:2.6rem;line-height:1.07;margin:1rem 0}.home-intro>p:last-child{font-size:.87rem;line-height:1.8;color:var(--tinta-suave);max-width:31em}
.home-feature{display:flex;flex-direction:column;position:relative;isolation:isolate;overflow:hidden;background:#eae7de;padding:1.8rem;text-decoration:none;min-height:260px;border-radius:3px;transition:transform .2s}
.home-feature:hover{transform:translateY(-4px)}.feature-number{font-size:.57rem;letter-spacing:.15em;color:#776644}.home-feature h3{font-size:2.25rem;line-height:1.1;margin:auto 0 1.5rem}.feature-link{font-size:.73rem;display:flex;justify-content:space-between;border-top:1px solid #172b3628;padding-top:1rem}
.photo-feature{background:var(--manto);color:white}.photo-feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.photo-feature::after{content:'';position:absolute;inset:0;background:linear-gradient(#132b3975,#132b39ed);z-index:-1}.photo-feature h3{color:white}.photo-feature .feature-number{color:#ead6ad}.photo-feature .feature-link{border-color:#ffffff50}
.home-quote{border-top:1px solid var(--nevoa);padding:2.5rem 15%;text-align:center}.home-quote p{font:400 1.7rem/1.4 var(--serif);color:var(--manto)}.home-quote cite{display:block;font:400 .65rem var(--sans);letter-spacing:.1em;margin-top:1.1rem;text-transform:uppercase;color:var(--rubrica)}
.marco-midia,.video-caixa,.reflexao-foto img,.grade button{border-radius:5px}.marco-ano{font-weight:400;color:#97845d;background:#eae7df;width:100%;height:100%;display:grid;place-items:center}.marco-texto{gap:1rem}.marco-texto h3{font-size:2.4rem}
.missao p,.evangelho-texto,.oracao-aux p,.respostas p{line-height:1.7}.missao h3{font-size:2.3rem}.campo input,.campo textarea{border-width:1px}.misterios-botoes button{border-width:1px;font-size:.88rem}.passo-oracao{font-size:1.35rem}.grade img{transition:transform .3s}.grade button:hover img{transform:scale(1.035)}
@media(min-width:901px) and (max-width:1200px){.terco{padding:1rem 2.5%;gap:1rem}.contas{gap:.8rem}.contas a{font-size:.67rem}.marca{max-width:210px}.marca-nome{font-size:1.45rem}.marca-local{font-size:.58rem}.hero-copy{padding:3.5rem 4vw}.hero .acoes{gap:1rem}.hero-link{font-size:.73rem}}
@media(max-width:56.25rem){
 .app{grid-template-areas:'topo' 'palco' 'rodape'}
 .topo{background:var(--cal);color:var(--manto);padding:1rem 1.25rem;border-bottom:1px solid var(--nevoa)}.topo-nome{font:400 1.45rem var(--serif)}.topo-secao{color:var(--tinta-suave);font-size:.65rem;margin-top:.2rem}.topo-menu{color:var(--manto);border:1px solid #b8b4a9;font-size:.8rem}
 .terco{flex-direction:column;align-items:stretch;justify-content:flex-start;background:var(--manto);padding:1.5rem;gap:1.5rem}.terco .marca-nome{color:var(--cal)}.terco .marca-local{color:#bac7cf}.terco .marca{max-width:none}.terco-fechar{font-size:.8rem}.contas{flex-direction:column;align-items:stretch;gap:.35rem}.contas a{color:#cbd4d8;font-size:1.05rem;padding:.55rem 0}.contas a:hover,.contas a[aria-current='page']{color:var(--ouro)}.contas li:last-child a{color:var(--cal);padding:.7rem 1rem;margin-top:.7rem}
 .frame{padding:1.5rem}.f-inicio{padding:0;display:block}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:2.8rem 1.5rem 2.4rem}.f-inicio h1{font-size:clamp(3.2rem,9vw,5rem)}.hero .eyebrow{font-size:.56rem;margin-bottom:1.5rem}.hero .lead{font-size:.95rem}.hero .acoes{gap:1.2rem}.hero-assinatura{margin-top:2rem}.hero-photo{height:340px}.hero-photo img{object-position:50% 42%}.hero-photo figcaption{left:1.5rem;bottom:1.5rem}
 .encontro-strip{flex-direction:column;align-items:flex-start;gap:1.2rem;padding:1.6rem}.strip-date{font-size:1.5rem}.strip-place{padding-left:2.4rem}.encontro-strip>a{margin-left:2.4rem}.home-more{grid-template-columns:1fr 1fr;padding:2.5rem 1.5rem;gap:1rem}.home-intro{grid-column:1/-1;padding:0 0 1rem}.home-feature{padding:1.25rem;min-height:245px}.home-feature h3{font-size:1.9rem}.home-quote{padding:2rem 1.5rem}.home-quote p{font-size:1.5rem}.rodape{padding:.6rem 1.25rem}.cabecalho h2{font-size:2.8rem}.abas{gap:.4rem 1rem}.abas [role=tab]{font-size:.85rem}.marco-texto h3{font-size:2rem}
}
@media(max-width:430px){.home-more{grid-template-columns:1fr}.hero-photo{height:300px}.hero-link{font-size:.75rem}.strip-date{font-size:1.3rem}.feature-number{font-size:.6rem}}
/* Tratamento das seções internas. */
.f-quem .linha{padding-top:1rem;border-top:1px solid var(--nevoa)}
.linha ol::before{height:1px;background:#c9bd9e;top:1rem}.linha .conta{width:.8rem;height:.8rem;border-width:1px}.linha li button{font:500 .75rem var(--sans);gap:.6rem}
.missao>div:not(.brasoes){border-top:2px solid var(--ouro-fosco);padding-top:1.6rem}.missao p{font-family:var(--sans);font-size:1rem;color:var(--tinta-suave)}
.rezar{background:#fffefa;border:1px solid var(--nevoa);border-radius:6px;padding:1.5rem 2.5rem}.terco-svg{filter:drop-shadow(0 8px 12px #132b3910)}
.passo-titulo{font-size:2.6rem}.passo-oracao{color:#41505a}.misterios{padding-bottom:.8rem}.passo-controles{padding-top:.6rem}
.evangelho{background:#fffefa;border:1px solid var(--nevoa);padding:1.8rem;border-radius:5px}.evangelho-texto{font-family:var(--serif);font-size:1.35rem;column-rule:1px solid var(--nevoa)}
.agenda{gap:2rem;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr)}
.semana{background:var(--manto);color:#e2e8e9;padding:1.8rem;border-radius:5px;overflow:auto}.semana h3{color:#f5ead2;font-size:1.9rem}.semana .encontro-dia{color:var(--ouro);font-size:1.5rem;font-weight:400}.semana .encontro-quando,.semana .local{color:#b9c6cb}.semana .datas dt{color:#e0c68b;font-weight:400}.semana .destaque{color:#d4c29b}.semana .encontro-o-que{font-size:.9rem}
.festa{padding:.5rem 0}.festa h3{font-size:2rem}.novena li{padding:.7rem 0}.novena .tema{font-size:.9rem}.novena time{font-size:1.3rem;font-weight:400}
.galeria-legenda{font-size:.9rem;max-width:65em}.grade{gap:1rem}.grade button:focus-visible{outline-offset:4px}.paginas{padding-top:.6rem}
.nicho-fundo{clip-path:none;background:#eae7df;border-radius:6px}.nicho .moldura{display:none}.simbolos-lista button{font-size:.9rem;padding:.7rem .9rem}.simbolo-texto{padding:1rem 1.25rem;background:#fffefa;border:1px solid var(--nevoa);border-radius:5px}.padroeira-texto .texto-corrido,.padroeira-texto .oracao-aux{padding:1.4rem;background:#fffefa;border:1px solid var(--nevoa);border-radius:5px}
.contato{gap:3rem}.pedido{padding:1.7rem;background:#fffefa;border:1px solid var(--nevoa);border-radius:6px}.pedido h3,.onde h3{font-size:2rem}.pedido-intro{font-size:.9rem;line-height:1.65;color:var(--tinta-suave)}.campo label{font-size:.8rem;font-weight:500}.campo input,.campo textarea{font-size:.95rem;padding:.85rem}.aviso{font-size:.78rem;line-height:1.6}.onde address{font-size:.9rem;line-height:1.7}.onde address strong{font:400 1.45rem var(--serif)}
@media(max-width:56.25rem){.rezar{padding:1.25rem}.passo-titulo{font-size:1.9rem}.agenda{display:flex;gap:2rem}.semana{overflow:visible;padding:1.5rem}.evangelho{padding:1.25rem}.evangelho-texto{font-size:1.25rem}.contato{gap:2rem}.pedido{padding:1.25rem}.nicho{margin:0}.simbolos{gap:1rem}.marco-midia{min-height:220px}.f-quem .linha{gap:.25rem}.linha li button{font-size:.65rem}.linha .seta{width:2rem;height:2rem}}
/* Altura livre para orações e formulários: o conteúdo nunca sobrepõe o cabeçalho. */
@media(min-width:56.251rem){
 .f-terco #p-rezar{flex:1 0 auto;grid-template-rows:auto}
 .rezar{min-height:560px;grid-template-rows:auto;align-items:center;padding:2rem 2.5rem}
 .rezar .terco-svg{height:430px;width:auto;max-width:240px}
 .contato{flex:1 0 auto;min-height:610px}
 .agenda{flex:1 0 auto;min-height:540px}
}
@media(prefers-reduced-motion:reduce){.home-feature,.grade img{transition:none}}
