.sacraments-guide section { padding: 1.4rem 0; border-bottom: 1px solid var(--line); }
.sacraments-guide .sac-group { margin-bottom: .2rem; font-weight: 600; color: var(--muted); }
.sacraments-guide section h2 { margin-top: 0; }
.sacraments-guide figure { margin: 1rem 0; }
.sacraments-guide .sac-diagram { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.8rem; padding: 0; list-style: none; }
.sac-diagram li { position: relative; padding: 1rem; border: 1px solid var(--line); border-top: 3px solid var(--gold); border-radius: .4rem; }
.sac-diagram li + li::before { content: "→"; position: absolute; left: -1.55rem; top: 42%; font-size: 1.2rem; }
.sac-diagram strong, .sac-diagram span { display: block; }
.sac-diagram strong { margin-bottom: .4rem; }
@media (max-width: 700px) {
  .sacraments-guide .sac-diagram { grid-template-columns: 1fr; gap: 1.7rem; }
  .sac-diagram li + li::before { content: "↓"; left: 50%; top: -1.8rem; }
}

/* The cloud fill and gold rim echo the Jesus Christ bubble. */
.site-body .heaven-bubble, .direction-bubble.heaven-bubble {
  background: radial-gradient(ellipse at 15% 110%, white 0 22%, transparent 44%),
              radial-gradient(ellipse at 88% 112%, #fff 0 25%, transparent 47%),
              radial-gradient(ellipse at 50% 0%, #fff5c8, transparent 68%), #e4edf9;
  box-shadow: 0 0 0 3px #fff9e7, 0 0 17px 5px #e5c26485;
  color: #33294b;
  border: 1px solid #c7a347;
  border-radius: 2rem;
}
.site-body .heaven-word {
  padding: .03em .35em;
  box-shadow: 0 0 3px 1px #e5c26485;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.site-body .sac-diagram .heaven-bubble {
  align-content: center;
  text-align: center;
  padding: 1rem 1.25rem;
}
.site-body .sac-diagram .heaven-bubble :is(strong, span) { color: inherit; }
