/* Quote generation: source context, purchasing decision, two human checkpoints. */
.quote-flow { margin: 27px 0 0; color: var(--ink); }
.quote-flow h3 { margin: 0 0 4px; font-size: 12px; line-height: 1.5; font-weight: 520; letter-spacing: -.08px; }
.quote-flow p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.65; }
.quote-flow ul, .quote-flow ol { list-style: none; padding: 0; margin: 0; }
.quote-flow__inputs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: 4px; }
.quote-flow__inputs li { padding: 12px 16px; min-width: 0; }
.quote-flow__inputs li + li { border-left: 1px solid var(--line); }
.quote-flow__arrow { display: flex; align-items: center; justify-content: center; height: 23px; color: #aaa; }
.quote-flow__arrow--down svg { transform: rotate(90deg); }
.quote-flow__stage { padding: 12px 16px; border: 1px solid var(--line); border-radius: 4px; text-align: center; }
.quote-flow .quote-flow__sources, .quote-flow .quote-flow__criteria { display: flex; flex-wrap: wrap; justify-content: center; gap: 5px 14px; margin-top: 9px; }
.quote-flow__sources li { color: #666; font-size: 10px; line-height: 1.5; }
.quote-flow__stage--decision { background: #fafaf9; }
.quote-flow__criteria li { padding: 2px 7px; border: 1px solid #e5e5e2; border-radius: 2px; color: #666; font-size: 10px; line-height: 1.5; }
.quote-flow__approval { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px; }
.quote-flow__approval > li { position: relative; min-width: 0; padding: 12px; border: 1px solid var(--line); border-radius: 4px; }
.quote-flow__approval > .quote-flow__checkpoint { border-color: #c6c6c1; border-top-width: 2px; padding-top: 11px; }
.quote-flow__eyebrow { display: block; margin-bottom: 7px; color: #777; font-size: 9px; line-height: 1.5; letter-spacing: .025em; }
.quote-flow__approval .quote-flow__arrow { position: absolute; left: 100%; top: calc(50% - 7px); width: 25px; height: 14px; }
.quote-flow figcaption { margin-top: 14px; color: var(--muted); font-size: 11px; line-height: 1.7; }
@media (max-width: 520px) {
  .quote-flow__inputs li { padding: 11px 12px; }
  .quote-flow__stage { padding: 12px; }
  .quote-flow__approval { grid-template-columns: minmax(0, 1fr); gap: 23px; }
  .quote-flow__approval > li { padding: 12px 14px; }
  .quote-flow__approval > .quote-flow__checkpoint { padding-top: 11px; }
  .quote-flow__approval .quote-flow__arrow { left: calc(50% - 7px); top: 100%; width: 14px; height: 23px; }
  .quote-flow__arrow--across svg { transform: rotate(90deg); }
}
