/* Factory, buying routes and project evidence. Loaded by the integration owner. */
.b2b-section {
  color: #17191d;
  overflow-wrap: anywhere;
}
.b2b-section h2 { font-size: 32px; line-height: 1.25; letter-spacing: 0; }
.b2b-section h3 { font-size: 24px; line-height: 1.35; letter-spacing: 0; }
.b2b-section p, .b2b-section dd { color: #505862; font-size: 18px; line-height: 1.7; }
.b2b-section .eyebrow { color: #164ed8; font-size: 14px; line-height: 1.5; }
.b2b-section h2 + p, .b2b-section h3 + p { margin-top: 20px; }
.b2b-section p + p { margin-top: 16px; }
.b2b-section .b2b-note { font-size: 15px; line-height: 1.65; }
.b2b-section [id], .b2b-section[id], .b2b-case-list [id] { scroll-margin-top: 112px; }
.b2b-factory, .b2b-audiences, .b2b-routes, .b2b-proof-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 32px;
}
.b2b-factory > *, .b2b-audiences > *, .b2b-routes > *, .b2b-proof-layout > * { min-width: 0; }
.b2b-factory { align-items: center; }
.b2b-factory .inline-link { margin-top: 24px; }
.b2b-photo { margin: 0; }
.b2b-photo img { display: block; width: 100%; height: auto; object-fit: contain; }
.b2b-photo figcaption { margin-top: 12px; color: #505862; font-size: 15px; line-height: 1.6; }
.b2b-audiences { margin-top: 40px; }
.b2b-audiences > article, .b2b-routes > article { border-top: 2px solid #164ed8; padding-top: 24px; }
.b2b-audiences > article { display: flex; flex-direction: column; align-items: flex-start; }
.b2b-audiences .b2b-actions { margin-top: auto; padding-top: 24px; }
.b2b-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 28px; margin-top: 24px; }
.b2b-actions .inline-link, .b2b-routes .inline-link {
  max-width: 100%;
  min-width: 0;
  font-size: 16px;
  line-height: 1.5;
  white-space: normal;
}
.b2b-actions .inline-link svg, .b2b-routes .inline-link svg { flex: 0 0 18px; width: 18px; height: 18px; }
.b2b-section a:focus-visible, .b2b-actions a:focus-visible { outline: 3px solid #164ed8; outline-offset: 5px; }
.b2b-routes > article { display: flex; flex-direction: column; align-items: flex-start; }
.b2b-route-heading { display: flex; align-items: center; justify-content: space-between; width: 100%; margin-bottom: 18px; color: #164ed8; }
.b2b-route-heading > span { font-size: 16px; font-weight: 700; }
.b2b-route-heading svg { width: 28px; height: 28px; }
.b2b-routes dl { margin: 24px 0 28px; }
.b2b-routes dt { font-size: 16px; font-weight: 700; margin-bottom: 8px; }
.b2b-routes dd { margin: 0; }
.b2b-routes dd + dt { margin-top: 22px; }
.b2b-routes .inline-link { margin-top: auto; }
.b2b-packaging-concept { padding-block: 40px; }
.b2b-packaging-concept h2 { max-width: 800px; margin: 0 auto 20px; font-size: 26px; }
.b2b-packaging-concept figure { max-width: 800px; margin: 0 auto; }
.b2b-packaging-image, .b2b-packaging-image img { display: block; width: 100%; height: auto; object-fit: contain; }
.b2b-packaging-concept figcaption { margin-top: 12px; color: #505862; font-size: 15px; line-height: 1.6; }
.b2b-proof-band { background: #17191d; }
.b2b-proof-band h2, .b2b-proof-band h3 { color: #fff; }
.b2b-proof-band p, .b2b-proof-band .b2b-note { color: #d4d8df; }
.b2b-proof-band .eyebrow { color: #a9c4ff; }
.b2b-proof-band .inline-link { color: #fff; }
.b2b-proof-band a:focus-visible { outline-color: #a9c4ff; }
.b2b-secondary-proof { border-top: 1px solid #51565e; padding-top: 28px; }
.b2b-case-list { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 760px) {
  .b2b-section h2 { font-size: 36px; }
  .b2b-factory { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 48px; }
  .b2b-audiences { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; margin-top: 56px; }
  .b2b-proof-layout, .b2b-case-list { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 48px; }
  .b2b-secondary-proof { border-top: 0; border-left: 1px solid #51565e; padding: 0 0 0 32px; }
}
@media (min-width: 1100px) {
  .b2b-routes { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; }
  .b2b-factory, .b2b-audiences, .b2b-proof-layout, .b2b-case-list { gap: 64px; }
}
