:root {
  --j-ink: #27372e;
  --j-deep: #0d1b13;
  --j-forest: #173c2a;
  --j-leaf: #416a50;
  --j-cream: #f5efe2;
  --j-sand: #ebe0cc;
  --j-paper: #fffdf8;
  --j-warm: #faf6ed;
  --j-gold: #b9853b;
  --j-gold-dark: #79521f;
  --j-muted: #5e6b63;
  --j-line: #dcd1bd;
  --j-shadow: 0 18px 44px rgba(28, 52, 38, .09);
  --j-serif: "Cormorant Garamond", Georgia, serif;
  --j-sans: "Outfit", system-ui, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 94px; }
body {
  margin: 0;
  padding-bottom: 112px;
  color: var(--j-ink);
  background: var(--j-paper);
  font-family: var(--j-sans);
  font-size: 18px;
  line-height: 1.72;
  overflow-wrap: break-word;
}
a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .2em; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.j-skip { position: fixed; z-index: 9999; top: -80px; left: 16px; padding: 10px 16px; background: #fff; color: #111; border-radius: 8px; }
.j-skip:focus { top: 10px; }

.j-header { position: sticky; z-index: 50; top: 0; color: #f8f1e5; background: rgba(10, 25, 17, .97); border-bottom: 1px solid rgba(189, 139, 62, .3); backdrop-filter: blur(14px); }
.j-nav { width: min(1180px, calc(100% - 32px)); min-height: 72px; margin: auto; display: flex; align-items: center; gap: 20px; }
.j-brand { display: inline-flex; align-items: center; gap: 10px; font: 600 1.5rem/1 var(--j-serif); text-decoration: none; white-space: nowrap; }
.j-brand img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; border: 1px solid rgba(189, 139, 62, .7); }
.j-menu { display: flex; align-items: center; gap: 19px; margin-left: auto; }
.j-menu a { font-size: .82rem; text-decoration: none; color: #e7e1d7; }
.j-menu a[aria-current=page], .j-menu a:hover { color: #e5b968; }
.j-help { min-height: 44px; display: inline-flex; align-items: center; padding: 8px 15px; border: 1px solid rgba(255, 255, 255, .3); border-radius: 999px; text-decoration: none; }
.j-toggle { display: none; margin-left: auto; width: 46px; height: 46px; color: #fff; background: transparent; border: 1px solid rgba(255, 255, 255, .3); border-radius: 50%; }
.j-toggle span { display: block; width: 19px; height: 1px; margin: 5px auto; background: currentColor; }

.j-shell { width: min(100% - 40px, 1160px); margin: auto; }
.j-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 62px 0 56px;
  color: var(--j-ink);
  background:
    radial-gradient(circle at 86% 16%, rgba(185, 133, 59, .18), transparent 31%),
    radial-gradient(circle at 8% 110%, rgba(65, 106, 80, .13), transparent 34%),
    linear-gradient(138deg, #fbf7ef 0%, #f3ead9 58%, #e8e3cf 100%);
  border-bottom: 1px solid rgba(121, 82, 31, .16);
}
.j-hero::after { content: ""; position: absolute; z-index: -1; right: -7rem; bottom: -12rem; width: 30rem; height: 22rem; border: 1px solid rgba(65, 106, 80, .18); border-radius: 50%; transform: rotate(-13deg); }
.j-hero .j-shell { max-width: 980px; }
.j-kicker { margin: 0 0 12px; color: var(--j-gold-dark); font-size: .72rem; font-weight: 750; letter-spacing: .2em; text-transform: uppercase; }
.j-hero h1 { max-width: 930px; margin: 0 0 22px; color: var(--j-forest); font: 600 clamp(4rem, 5.4vw, 4.75rem)/1.01 var(--j-serif); letter-spacing: -.032em; text-wrap: balance; }
.j-lead { max-width: 760px; color: #435248; font-size: 1.06rem; line-height: 1.68; }
.j-lead p { margin: .34em 0; }
.j-lead p + p { margin-top: .28em; }

.j-actions, .j-links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 27px; }
.j-button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; padding: 11px 22px; border: 1px solid var(--j-gold); border-radius: 14px; background: var(--j-gold); color: #102018; font-weight: 720; line-height: 1.25; text-align: center; text-decoration: none; box-shadow: 0 8px 18px rgba(104, 68, 25, .12); transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease; }
.j-button:hover { transform: translateY(-2px); box-shadow: 0 11px 23px rgba(104, 68, 25, .18); }
.j-button.secondary { color: var(--j-forest); background: rgba(255, 253, 248, .58); border-color: rgba(23, 60, 42, .38); box-shadow: none; }
.j-button.light { color: var(--j-forest); background: transparent; box-shadow: none; }

.j-breadcrumb { padding: 22px 0 0; color: var(--j-muted); font-size: .76rem; }
.j-breadcrumb a { text-underline-offset: 3px; }
.j-content { width: min(100% - 40px, 740px); margin: auto; padding: 25px 0 90px; }
.j-section { position: relative; padding: 50px 0 52px; border-bottom: 1px solid var(--j-line); }
.j-section:last-child { border-bottom: 0; }
.j-section h2 { max-width: 680px; margin: 0 0 22px; color: var(--j-forest); font: 600 clamp(2.2rem, 4vw, 3.05rem)/1.08 var(--j-serif); letter-spacing: -.015em; text-wrap: balance; }
.j-section h3 { margin: 1.4em 0 .55em; color: var(--j-forest); font: 600 1.55rem/1.18 var(--j-serif); }
.j-section p { margin: .4em 0; }
.j-section p + p { margin-top: .34em; }
.j-section ul, .j-section ol { margin: 1em 0; padding-left: 1.4rem; }
.j-section li { margin: .45em 0; padding-left: .15rem; }
.j-section li::marker { color: var(--j-gold-dark); }

.j-note, .j-prayer, .j-scene, .j-emergency, .j-ecosystem, .j-index { margin: 28px 0; padding: 28px; border: 1px solid var(--j-line); border-radius: 20px; background: var(--j-cream); }
.j-prayer { position: relative; padding-left: 34px; border-left: 4px solid var(--j-gold); background: linear-gradient(135deg, #fbf6eb, #f3eadb); }
.j-prayer::before { content: ""; position: absolute; top: 25px; left: -7px; width: 10px; height: 10px; background: var(--j-gold); border-radius: 50%; }
.j-emergency { border-color: #c49675; background: #fff6ef; }
.j-ref { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 13px; color: var(--j-gold-dark); font-size: .76rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.j-ref::before { content: ""; width: 25px; height: 1px; background: currentColor; }

.j-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; width: min(1100px, calc(100vw - 40px)); margin: 30px 50% 0; transform: translateX(-50%); }
.j-card { position: relative; display: flex; flex-direction: column; min-height: 100%; padding: 28px; overflow: hidden; border: 1px solid var(--j-line); border-radius: 22px; background: rgba(255, 255, 255, .82); box-shadow: var(--j-shadow); transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.j-card::before { content: ""; width: 36px; height: 36px; margin-bottom: 19px; border: 1px solid rgba(65, 106, 80, .45); border-radius: 50% 50% 46% 54%; background: radial-gradient(circle at 64% 36%, rgba(185, 133, 59, .7) 0 3px, transparent 4px), rgba(65, 106, 80, .07); }
.j-card:nth-child(2n)::before { border-radius: 60% 40% 55% 45%; }
.j-card:nth-child(3n)::before { border-radius: 45% 55% 40% 60%; }
.j-card:hover { transform: translateY(-4px); border-color: rgba(185, 133, 59, .65); box-shadow: 0 22px 48px rgba(28, 52, 38, .13); }
.j-card h3 { margin: 0 0 12px; font: 600 1.72rem/1.12 var(--j-serif); text-wrap: balance; }
.j-card p { font-size: .94rem; line-height: 1.65; }
.j-card .j-button { align-self: flex-start; margin-top: auto; }

.j-index { background: linear-gradient(145deg, #f7f1e5, #f1eadc); box-shadow: 0 14px 30px rgba(28, 52, 38, .06); }
.j-index ul { columns: 2; gap: 36px; margin: 0; padding-left: 1.1rem; }
.j-index li { break-inside: avoid; margin: 0 0 .65em; }
.j-index a { text-decoration-color: rgba(121, 82, 31, .6); }

/* Tratamentos editoriais especiais, sem ocultar ou mover conteúdo. */
#uma-cena-para-observar { margin: 30px -30px; padding: 42px 30px; border: 1px solid #d2c29f; border-radius: 24px; background: linear-gradient(145deg, #f8f1e4, #eee4d2); box-shadow: var(--j-shadow); }
#uma-cena-para-observar::before { content: "Cena para observar"; display: inline-block; margin-bottom: 13px; color: var(--j-gold-dark); font-size: .7rem; font-weight: 750; letter-spacing: .16em; text-transform: uppercase; }
#uma-oracao-opcional, #uma-oracao-para-quem-deseja-comecar, #uma-oracao-para-aprender-o-olhar-de-jesus, #uma-oracao-para-quem-foi-ferido, #uma-oracao-para-o-tempo-do-silencio, #uma-oracao-diante-da-cruz-e-da-ressurreicao, #uma-oracao-para-aprender-o-caminho, #uma-oracao-para-quem-ainda-tem-perguntas, #uma-oracao-para-quem-deseja-recomecar { margin-top: 38px; padding-right: 28px; padding-left: 28px; border: 1px solid #d9c8a7; border-radius: 24px; background: linear-gradient(135deg, #fbf7ee, #f3ebdd); }
#quando-e-preciso-procurar-ajuda-agora, #fe-e-ajuda-profissional { margin: 38px -22px; padding: 36px 22px; border: 1px solid #cfac90; border-radius: 22px; background: #fff7f0; }
#voce-nao-precisa-voltar-para-provar-perdao { border-top: 4px solid rgba(65, 106, 80, .58); }
#e-os-textos-violentos-da-biblia { padding-right: 25px; padding-left: 25px; border-right: 1px solid var(--j-line); border-left: 1px solid var(--j-line); background: #faf7f0; }
#o-silencio-do-sabado { background: linear-gradient(90deg, rgba(65, 106, 80, .08), transparent); }
#a-ressurreicao { margin-right: -24px; margin-left: -24px; padding-right: 24px; padding-left: 24px; background: linear-gradient(120deg, #fffaf0, #f3eedc); border-top: 1px solid #d2bd91; }
#um-comeco-possivel-para-sete-dias { margin: 38px -24px; padding: 40px 24px; border: 1px solid var(--j-line); border-radius: 24px; background: #faf6ed; }
#um-comeco-possivel-para-sete-dias h3 { position: relative; margin: 24px 0 0; padding: 16px 18px 7px 46px; border-left: 2px solid var(--j-gold); background: #fffdf8; border-radius: 14px 14px 0 0; }
#um-comeco-possivel-para-sete-dias h3::before { content: ""; position: absolute; left: 16px; top: 21px; width: 12px; height: 12px; border: 3px solid #fffdf8; border-radius: 50%; background: var(--j-gold); box-shadow: 0 0 0 1px var(--j-gold); }
#um-comeco-possivel-para-sete-dias h3 + p { margin: 0; padding: 4px 18px 18px 46px; border-left: 2px solid var(--j-gold); border-radius: 0 0 14px 14px; background: #fffdf8; }
#uma-pratica-para-os-proximos-sete-dias, #um-passo-possivel-para-os-proximos-dias, #escolha-apenas-um-passo-para-hoje { padding-right: 24px; padding-left: 24px; background: linear-gradient(120deg, rgba(65, 106, 80, .08), transparent); }

.j-footer { padding: 54px 0 126px; color: #d8d9d2; background: var(--j-deep); }
.j-footer-grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 40px; }
.j-footer strong { display: block; margin-bottom: 12px; color: #fff; font: 600 1.25rem var(--j-serif); }
.j-footer a:not(.j-brand) { display: block; width: fit-content; margin: 8px 0; color: #c5cbc4; text-decoration-color: rgba(229, 185, 104, .65); }
.j-footer p { max-width: 320px; }
.j-cta-end { padding: 54px 0; text-align: center; }
.j-cta-end .j-actions { justify-content: center; }
.j-ecosystem { background: linear-gradient(135deg, #f5efe2, #ece4d6); }
.j-ecosystem .j-links a { font-weight: 650; text-decoration-thickness: .09em; text-decoration-color: rgba(121, 82, 31, .65); }
:focus-visible { outline: 3px solid #dba64d; outline-offset: 4px; }

@media (min-width: 1100px) {
  .j-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .j-card { padding: 30px; }
  .j-index { width: min(980px, calc(100vw - 64px)); margin-left: 50%; transform: translateX(-50%); }
}

@media (max-width: 860px) {
  body { font-size: 17.5px; }
  .j-toggle { display: block; }
  .j-menu { position: fixed; top: 72px; left: 12px; right: 12px; max-height: calc(100vh - 90px); overflow-y: auto; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 12px; border: 1px solid rgba(189, 139, 62, .35); border-radius: 18px; background: #102119; box-shadow: 0 20px 50px rgba(0, 0, 0, .28); }
  .j-menu a { min-height: 46px; display: flex; align-items: center; padding: 10px 12px; }
  .menu-open .j-menu { display: flex; }
  .j-help { display: none; }
  .j-footer-grid { grid-template-columns: 1fr 1fr; }
  .j-hero { padding: 52px 0 48px; }
  .j-hero h1 { font-size: clamp(3.15rem, 8vw, 4.1rem); }
  .j-cards { width: 100%; margin-right: 0; margin-left: 0; transform: none; }
}

@media (max-width: 600px) {
  html { scroll-padding-top: 78px; }
  body { padding-bottom: 122px; font-size: 17px; line-height: 1.68; }
  .j-shell, .j-content { width: min(100% - 30px, 740px); }
  .j-nav { width: calc(100% - 24px); min-height: 64px; gap: 10px; }
  .j-brand { font-size: 1.32rem; }
  .j-brand img { width: 39px; height: 39px; }
  .j-menu { top: 64px; }
  .j-toggle { width: 44px; height: 44px; flex: 0 0 44px; }
  .j-hero { padding: 46px 0 48px; }
  .j-hero h1 { margin-bottom: 17px; font-size: clamp(2.5rem, 11.4vw, 2.9rem); line-height: 1.02; letter-spacing: -.026em; }
  .j-kicker { margin-bottom: 10px; }
  .j-lead { font-size: 1rem; line-height: 1.63; }
  .j-lead p { margin: .24em 0; }
  .j-actions { flex-direction: column; align-items: stretch; margin-top: 23px; }
  .j-button { width: 100%; min-height: 50px; padding-right: 16px; padding-left: 16px; }
  .j-breadcrumb { padding-top: 17px; font-size: .72rem; line-height: 1.5; }
  .j-content { padding-top: 17px; padding-bottom: 78px; }
  .j-section { padding: 38px 0 40px; }
  .j-section h2 { margin-bottom: 18px; font-size: clamp(2rem, 9.5vw, 2.45rem); line-height: 1.08; }
  .j-section h3 { font-size: 1.42rem; }
  .j-section p { margin: .3em 0; }
  .j-note, .j-prayer, .j-scene, .j-emergency, .j-ecosystem, .j-index { padding: 20px; border-radius: 17px; }
  .j-cards { grid-template-columns: 1fr; gap: 15px; }
  .j-card { padding: 23px; border-radius: 19px; }
  .j-card::before { width: 32px; height: 32px; margin-bottom: 15px; }
  .j-card h3 { font-size: 1.65rem; }
  .j-card .j-button { margin-top: 18px; }
  .j-index ul { columns: 1; max-height: 380px; overflow-y: auto; padding-right: 8px; }
  #uma-cena-para-observar, #quando-e-preciso-procurar-ajuda-agora, #fe-e-ajuda-profissional, #um-comeco-possivel-para-sete-dias, #a-ressurreicao { margin-right: -7px; margin-left: -7px; padding-right: 20px; padding-left: 20px; }
  #uma-oracao-opcional, #uma-oracao-para-quem-deseja-comecar, #uma-oracao-para-aprender-o-olhar-de-jesus, #uma-oracao-para-quem-foi-ferido, #uma-oracao-para-o-tempo-do-silencio, #uma-oracao-diante-da-cruz-e-da-ressurreicao, #uma-oracao-para-aprender-o-caminho, #uma-oracao-para-quem-ainda-tem-perguntas, #uma-oracao-para-quem-deseja-recomecar { padding-right: 20px; padding-left: 20px; }
  .j-footer-grid { grid-template-columns: 1fr; gap: 30px; }
  .j-footer { padding: 46px 0 126px; }
  .j-cta-end { padding: 42px 0; }
}

@media (max-width: 370px) {
  .j-brand { font-size: 1.2rem; }
  .j-shell, .j-content { width: min(100% - 24px, 740px); }
  .j-hero h1 { font-size: 2.42rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
