.notary-flow {
  --flow-line: #caa2b2;
  margin: 24px 0;
  padding: clamp(20px, 4vw, 36px);
  background: #fffafc;
  border: 1px solid var(--line);
  border-radius: 24px;
}
.notary-flow__heading { margin-bottom: 28px; text-align: center; }
.notary-flow__eyebrow { color: var(--rose); font-size: .875rem; font-weight: 700; letter-spacing: .14em; }
.notary-flow__heading h2 { margin: 7px 0 0; color: var(--plum-dark); font-size: clamp(1.4rem, 3vw, 1.9rem); line-height: 1.4; }
.notary-start {
  position: relative; display: flex; align-items: center; justify-content: center; gap: 14px;
  width: min(100%, 360px); margin: 0 auto 28px; padding: 20px 18px;
  color: #fff; background: var(--plum); border-radius: 16px;
  box-shadow: 0 10px 24px rgba(100,43,70,.12);
}
.notary-start h3 { margin: 0; color: #fff; font-size: 1.05rem; line-height: 1.6; }
.notary-start::after { content: ""; position: absolute; bottom: -28px; left: calc(50% - 1px); height: 28px; border-left: 2px solid var(--flow-line); }
.notary-document { position: relative; display: inline-block; width: 23px; height: 29px; flex: 0 0 23px; border: 1.5px solid currentColor; border-radius: 4px; }
.notary-document::before { content: ""; position: absolute; top: 7px; left: 4px; width: 12px; border-top: 1.5px solid currentColor; box-shadow: 0 5px currentColor, 0 10px currentColor; }
.notary-branches { position: relative; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px; }
.notary-branches::before { content: ""; position: absolute; top: 0; left: calc(25% - 7.5px); right: calc(25% - 7.5px); border-top: 2px solid var(--flow-line); }
.notary-path { position: relative; min-width: 0; padding-top: 24px; }
.notary-path::before { content: ""; position: absolute; top: 0; left: calc(50% - 1px); height: 24px; border-left: 2px solid var(--flow-line); }
.notary-condition { width: fit-content; margin: 0 auto 20px; padding: 8px 16px; color: var(--plum); background: var(--blush); border: 1px solid #dfbec9; border-radius: 999px; font-size: 1rem; line-height: 1.5; text-align: center; }
.notary-path--missing .notary-condition { color: #775421; background: #fff0d5; border-color: #e9cea5; }
.notary-steps { display: grid; gap: 26px; padding: 0; margin: 0; list-style: none; }
.notary-steps li { position: relative; display: flex; align-items: center; gap: 12px; min-height: 78px; padding: 16px; border: 1px solid #dfbec9; border-radius: 14px; background: #fff; box-shadow: 0 4px 14px rgba(69,24,47,.03); }
.notary-steps li:not(:last-child)::after { content: ""; position: absolute; bottom: -19px; left: calc(50% - 1px); height: 18px; border-left: 2px solid var(--flow-line); }
.notary-steps li:not(:last-child)::before { content: ""; position: absolute; bottom: -26px; left: calc(50% - 5px); border: 5px solid transparent; border-top-color: var(--flow-line); border-bottom: 0; }
.notary-number { display: grid; place-items: center; flex: 0 0 35px; height: 35px; border-radius: 10px; color: var(--plum); background: #f7ebef; font-family: Georgia, serif; font-size: 1rem; }
.notary-flow .notary-steps p { margin: 0; color: var(--ink); font-size: 1rem; line-height: 1.65; }
.notary-steps .notary-step--complete { background: var(--plum); border-color: var(--plum); }
.notary-flow .notary-step--complete p { color: #fff; }
.notary-step--complete .notary-number { color: #fff; background: rgba(255,255,255,.16); }
.notary-correction { display: flex; align-items: center; gap: 14px; padding: 22px 18px; border: 1px solid #e9cea5; border-radius: 14px; color: #775421; background: #fff7e8; }
.notary-flow .notary-correction p { margin: 0; color: #775421; font-size: 1rem; line-height: 1.7; }
.notary-flow .notary-flow__note { margin: 28px 0 0; padding-top: 20px; border-top: 1px solid var(--line); color: var(--muted); font-size: .9rem; line-height: 1.7; text-align: center; }
@media (max-width: 620px) {
  .notary-flow { padding: 20px 14px; border-radius: 18px; }
  .notary-branches { grid-template-columns: 1fr; gap: 30px; }
  .notary-branches::before, .notary-path::before, .notary-start::after { content: none; }
  .notary-path { padding-top: 0; }
  .notary-path--missing { padding-top: 24px; border-top: 1px dashed var(--flow-line); }
  .notary-start { margin-bottom: 24px; padding: 16px 12px; }
  .notary-steps li { padding: 15px 12px; }
}
