/* Each figure has its own grammar; all labels remain ordinary, reflowing text. */
.resource-page .article-body figure + p { margin-top: 24px; }
.resource-page .article-body :is(.resource-search-map,.resource-answer-checks,.resource-handoff,.resource-lead-funnel,.resource-decision-path) { margin: 34px 0 0; min-width: 0; }
.resource-page .article-body :is(.resource-search-map,.resource-handoff,.resource-lead-funnel,.resource-decision-path) { padding: 28px; border-radius: 12px; }
.resource-page .article-body :is(.resource-search-map,.resource-answer-checks,.resource-handoff,.resource-lead-funnel,.resource-decision-path) figcaption h3 { margin: 0; font-size: clamp(23px,3vw,28px); line-height: 1.25; letter-spacing: -.035em; }
.resource-page .article-body :is(.resource-search-map,.resource-answer-checks,.resource-handoff,.resource-lead-funnel,.resource-decision-path) figcaption p { margin: 12px 0 0; font-size: 14px; line-height: 1.75; }
.resource-page .article-body .resource-visual-note { margin: 24px 0 0; font-size: 13px; line-height: 1.75; }
.resource-page .article-body :is(.resource-search-products,.resource-handoff-steps,.resource-funnel-stages), .resource-page .article-body .resource-decision-path > ol { list-style: none; padding: 0; }
.resource-page .article-body :is(.resource-search-products,.resource-handoff-steps,.resource-funnel-stages) > li, .resource-page .article-body .resource-decision-path > ol > li { margin: 0; min-width: 0; }

/* A public page branches to alternative products, rather than a guaranteed funnel. */
.resource-search-map { background: #f4f2ee; }
.resource-search-map__layout { display: grid; grid-template-columns: minmax(0,1fr) 94px minmax(0,1fr); align-items: center; margin-top: 28px; }
.resource-search-page { background: #fff; border: 1px solid #d7d3cc; border-radius: 8px; padding: 24px; min-width: 0; }
.resource-visual-kicker { display: block; font-size: 11px; line-height: 1.6; text-transform: uppercase; letter-spacing: .09em; color: var(--muted); }
.resource-search-page h4 { margin: 20px 0 0; font-size: 22px; font-weight: 500; line-height: 1.35; letter-spacing: -.025em; }
.resource-page .article-body .resource-search-page ul { list-style: none; margin: 22px 0 0; padding: 0; }
.resource-page .article-body .resource-search-page li { padding: 10px 0; margin: 0; border-top: 1px solid var(--line); font-size: 14px; line-height: 1.6; }
.resource-page .article-body .resource-search-page > p { margin: 18px 0 0; font-size: 12px; line-height: 1.6; }
.resource-search-map__connection { position: relative; align-self: stretch; }
.resource-search-map__connection::before { content: ''; position: absolute; width: 50%; height: 1px; background: #aaa49b; top: 50%; left: 0; }
.resource-search-map__connection::after { content: ''; position: absolute; top: 15.5%; bottom: 15.5%; left: 50%; width: 50%; border: 1px solid #aaa49b; border-right: 0; border-radius: 8px 0 0 8px; }
.resource-search-map__connection > span { position: absolute; top: calc(50% - 48px); left: 0; width: 100%; text-align: center; font-size: 13px; line-height: 1.5; color: var(--muted); }
.resource-page .article-body .resource-search-products { display: grid; grid-auto-rows: 1fr; gap: 14px; margin: 0; }
.resource-page .article-body .resource-search-products > li { position: relative; padding: 18px; min-height: 130px; border: 1px solid #d7d3cc; border-radius: 8px; background: #fff; }
.resource-search-products > li:nth-child(2)::before { content: ''; position: absolute; top: 50%; right: 100%; width: 48px; height: 1px; background: #aaa49b; }
.resource-search-products > li > div { display: flex; align-items: center; gap: 10px; }
.resource-search-products img { width: 24px; height: 24px; flex: 0 0 auto; object-fit: contain; }
.resource-search-products h4 { margin: 0; font-size: 17px; line-height: 1.4; font-weight: 500; letter-spacing: -.02em; }
.resource-page .article-body .resource-search-products p { margin: 10px 0 0; font-size: 14px; line-height: 1.6; }
.resource-search-products > li > span { display: block; font-size: 13px; line-height: 1.65; color: var(--muted); margin-top: 4px; }

/* Independent qualitative checks: no default pass marks, sliders or invented score. */
.resource-answer-checks { padding-block: 12px 0; }
.resource-answer-signals { margin: 26px 0 0; }
.resource-answer-signals > div { display: grid; grid-template-columns: minmax(140px,.65fr) minmax(0,1.35fr); gap: 28px; border-top: 1px solid var(--line); padding: 24px 0; }
.resource-answer-signals > div:last-child { border-bottom: 1px solid var(--line); }
.resource-answer-signals dt { display: flex; align-items: baseline; gap: 12px; font-size: 15px; line-height: 1.6; font-weight: 500; }
.resource-answer-signals dt span { display: inline-block; width: 12px; height: 12px; flex: 0 0 auto; border: 2px solid var(--blue); border-radius: 50%; }
.resource-answer-signals > div:nth-child(2) dt span { border-color: #216d87; }
.resource-answer-signals > div:nth-child(3) dt span { border-color: #995421; }
.resource-answer-signals dd { margin: 0; }
.resource-answer-signals strong { font-size: 17px; line-height: 1.5; }
.resource-page .article-body .resource-answer-signals p { margin: 8px 0 0; font-size: 14px; line-height: 1.75; }

/* An owner brief branches to three parallel reviews; feedback is part of the caption. */
.resource-handoff { background: #eff3f3; }
.resource-page .article-body .resource-handoff-steps { position: relative; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px 16px; margin: 28px 0 0; }
.resource-page .article-body .resource-handoff-step { position: relative; padding: 20px; border: 1px solid #cbd4d3; border-radius: 8px; background: #fff; }
.resource-handoff-step:first-child { grid-column: 1 / -1; justify-self: center; width: min(100%,360px); }
.resource-handoff-step:first-child::after { content: ''; position: absolute; left: 50%; width: 1px; height: 40px; top: 100%; background: #99aaa7; }
.resource-handoff-step:not(:first-child)::before { content: ''; position: absolute; left: 50%; width: 1px; height: 20px; bottom: 100%; background: #99aaa7; }
.resource-handoff-step:nth-child(3)::after { content: ''; position: absolute; left: calc(-50% - 16px); width: calc(200% + 32px); height: 1px; top: -20px; background: #99aaa7; }
.resource-handoff-kicker { display: block; font-size: 12px; line-height: 1.5; color: #47716b; margin-bottom: 16px; }
.resource-handoff-role { margin: 0; font-size: 18px; line-height: 1.35; font-weight: 500; letter-spacing: -.025em; }
.resource-page .article-body .resource-handoff-task { font-size: 14px; line-height: 1.75; margin-top: 12px; }

/* Every dot represents one item in this fixed example. Geometry is never an invented rate. */
.resource-lead-funnel { background: #f7f6f4; }
.resource-page .article-body .resource-funnel-stages { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin: 26px 0 0; }
.resource-page .article-body .resource-funnel-stage { position: relative; padding: 20px 18px; background: #eee8f8; border-radius: 8px; color: #5935a2; }
.resource-page .article-body .resource-funnel-stage--enquiries { background: #e4eff5; color: #256c89; }
.resource-page .article-body .resource-funnel-stage--qualified { background: #f6ead8; color: #895719; }
.resource-funnel-stage + .resource-funnel-stage::before { content: ''; position: absolute; right: calc(100% + 5px); top: 50%; width: 7px; height: 7px; border-right: 1px solid #7c7770; border-top: 1px solid #7c7770; transform: rotate(45deg); }
.resource-funnel-dots { display: block; width: min(100%,140px); height: 140px; margin-inline: auto; }
.resource-page .article-body .resource-funnel-count { margin: 14px 0 0; color: var(--ink); font-size: clamp(42px,5vw,58px); line-height: 1.15; letter-spacing: -.05em; font-weight: 500; }
.resource-funnel-label { margin: 8px 0 0; color: var(--ink); font-size: 18px; line-height: 1.4; letter-spacing: -.025em; font-weight: 500; }
.resource-page .article-body .resource-funnel-rate { font-size: 13px; line-height: 1.7; margin: 12px 0 0; color: #4e4b47; }
.resource-page .article-body .resource-funnel-summary { margin: 26px 0 0; font-size: 15px; line-height: 1.7; }
.resource-funnel-summary strong { font-size: 32px; line-height: 1.3; letter-spacing: -.03em; margin-right: 5px; }
.resource-funnel-summary span { display: block; font-size: 13px; margin-top: 6px; }

/* Questions branch to decisions. The stop/continue instruction is also explicit text. */
.resource-decision-path { background: #f4f2f8; }
.resource-page .article-body .resource-decision-path > ol { counter-reset: decision; margin: 28px 0 0; }
.resource-page .article-body .resource-decision-step { position: relative; counter-increment: decision; padding: 0 0 30px 26px; border-left: 1px solid #b4a9c7; }
.resource-page .article-body .resource-decision-step:last-child { padding-bottom: 0; border-left-color: transparent; }
.resource-decision-step::before { content: counter(decision); position: absolute; left: -13px; top: 0; width: 25px; height: 25px; display: grid; place-items: center; background: #5b3a93; color: #fff; border-radius: 50%; font-size: 12px; line-height: 1; }
.resource-decision-question { margin: 0 0 16px; font-size: 19px; line-height: 1.45; letter-spacing: -.025em; font-weight: 500; }
.resource-decision-branch { display: flex; align-items: baseline; gap: 14px; position: relative; padding: 14px 18px; margin-top: 10px; border-radius: 6px; background: #fff; }
.resource-page .article-body .resource-decision-branch p { margin: 0; font-size: 14px; line-height: 1.75; }
.resource-decision-branch > p:first-child:not(:only-child) { flex: 0 0 42px; }
.resource-decision-result strong { display: block; margin-bottom: 4px; color: #513675; }
.resource-page .article-body .resource-decision-continue { color: #513675; }

/* A paper-like page cross-section, and a true two-to-one consolidation connection. */
.resource-page .article-body .resource-page-example { border: 1px solid #d8d3ca; background: #faf9f6; }
.resource-page .article-body .resource-page-example__row { grid-template-columns: minmax(0,.8fr) minmax(0,1.5fr); gap: 22px; padding: 18px 0; }
.resource-page-example__row > div { background: #fff; padding: 16px 18px; border-radius: 4px; }
.resource-page .article-body .resource-page-example__row p { font-size: 14px; }
.resource-page-example__row strong { font-size: 17px; }
.resource-content-map__before { position: relative; padding-bottom: 20px; }
.resource-content-map__before::after { content: ''; position: absolute; width: 50%; height: 20px; left: 25%; bottom: 0; border: 1px solid #9e91b5; border-top: 0; border-radius: 0 0 8px 8px; }
.resource-content-map__after { margin-top: 30px; }
.resource-content-map__after::before { content: ''; width: 1px; height: 30px; left: 50%; top: -34px; background: #9e91b5; }

@media (max-width: 680px) {
  .resource-page .article-body :is(.resource-search-map,.resource-handoff,.resource-lead-funnel,.resource-decision-path) { padding: 22px 18px; }
  .resource-search-map__layout { grid-template-columns: 1fr; }
  .resource-search-map__connection { height: 58px; }
  .resource-search-map__connection::before { width: 1px; height: 100%; left: 12px; top: 0; }
  .resource-search-map__connection::after { display: none; }
  .resource-search-map__connection > span { top: 50%; transform: translateY(-50%); left: 32px; width: auto; text-align: left; font-size: 12px; }
  .resource-search-map__connection br { display: none; }
  .resource-page .article-body .resource-search-products { border-left: 1px solid #aaa49b; grid-auto-rows: auto; padding-left: 20px; margin-left: 12px; }
  .resource-page .article-body .resource-search-products > li { min-height: 0; padding: 18px; }
  .resource-search-products > li::before, .resource-search-products > li:nth-child(2)::before { content: ''; position: absolute; top: 50%; right: 100%; width: 21px; height: 1px; background: #aaa49b; }
  .resource-answer-signals > div { grid-template-columns: 1fr; gap: 10px; padding-block: 22px; }
  .resource-page .article-body .resource-handoff-steps { grid-template-columns: 1fr; border-left: 1px solid #99aaa7; margin-left: 12px; padding-left: 20px; gap: 16px; }
  .resource-handoff-step:first-child { grid-column: auto; width: 100%; }
  .resource-handoff-step:first-child::after, .resource-handoff-step:nth-child(3)::after { display: none; }
  .resource-handoff-step::before, .resource-handoff-step:not(:first-child)::before { content: ''; position: absolute; top: 50%; left: -21px; height: 1px; width: 20px; background: #99aaa7; }
  .resource-handoff-kicker { margin-bottom: 10px; }
  .resource-page .article-body .resource-funnel-stages { grid-template-columns: 1fr; gap: 16px; }
  .resource-page .article-body .resource-funnel-stage { display: grid; grid-template-columns: minmax(80px,.75fr) minmax(0,1.25fr); gap: 0 18px; padding: 20px 18px; }
  .resource-funnel-dots { grid-row: 1 / 4; width: 100%; height: auto; align-self: center; }
  .resource-page .article-body .resource-funnel-count { margin: 0; font-size: 48px; }
  .resource-funnel-label { margin-top: 4px; font-size: 17px; }
  .resource-page .article-body .resource-funnel-rate { margin-top: 8px; }
  .resource-funnel-stage + .resource-funnel-stage::before { top: -11px; left: 50%; right: auto; transform: rotate(135deg); }
  .resource-decision-branch { display: block; padding: 14px; }
  .resource-decision-branch > p + p { margin-top: 6px !important; }
  .resource-decision-question { font-size: 18px; }
  .resource-page .article-body .resource-page-example__row { grid-template-columns: 1fr; gap: 12px; }
  .resource-content-map__before::after { display: none; }
  .resource-content-map__after::before { left: 12px; }
}
