/* Opt-in buyer journey pages; shared shell and product demo styles stay separate. */
.buyer-journey-page .solution-display,
.buyer-journey-page .product-hero__title { max-width: 16ch; }
.buyer-journey-page .solution-audience,
.buyer-journey-page .buyer-audience {
  max-width: 56ch;
  color: #d5dfec;
  font-size: 15px;
  line-height: 1.6;
}
.buyer-journey-page .buyer-audience > span {
  display: block;
  margin-bottom: 4px;
  color: #afbdd1;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.buyer-journey-page .solution-hero__microcopy,
.buyer-journey-page .product-hero__microcopy { color: #c2d0df; }
.buyer-journey-page .solution-section { padding-block: clamp(64px, 7vw, 104px); }
.buyer-journey-page .solution-section__head { margin-bottom: 36px; }
.buyer-journey-page .solution-section--problem { background: #f3f5f9; }
.buyer-journey-page .solution-section--problem .v3-kicker { color: #435876; }
.buyer-journey-page .solution-problem {
  border: 1px solid #dce2ec;
  border-top: 3px solid #b3c3da;
  background: #fff;
  box-shadow: none;
}
.buyer-journey-page .solution-problem__top { margin-bottom: 20px; }
.buyer-journey-page .solution-problem__number { color: #60728a; }
.buyer-journey-page .solution-problem__icon { color: #395078; background: #edf2fb; }
.buyer-journey-page .buyer-step > article {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 20px;
  height: 100%;
  border-color: #dce2ec;
  background: #fbfcff;
}
.buyer-journey-page .buyer-step > article::after { display: none; }
.buyer-journey-page .buyer-step > article:hover { transform: none; box-shadow: none; border-color: #b9c7dc; }
.buyer-step__head { display: flex; align-items: center; gap: 12px; }
.buyer-step__number {
  display: grid;
  flex: 0 0 36px;
  height: 36px;
  place-items: center;
  border: 1px solid #cdd8ed;
  border-radius: 50%;
  background: #edf2ff;
  color: #374e7f;
  font: 600 13px/1 var(--font-body);
}
.buyer-step__role { color: #50617a; font-size: 12px; font-weight: 600; letter-spacing: .035em; }
.buyer-journey-page .buyer-step__handoff {
  margin: auto 0 0;
  padding-top: 18px;
  border-top: 1px solid #dce2ec;
  color: #253e62;
  font-size: 15px;
  line-height: 1.55;
}
.buyer-step__handoff > span { display: block; margin-bottom: 5px; color: #596b83; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.buyer-tools { margin-top: 28px; border: 1px solid #dce2ec; border-radius: 12px; background: #fff; }
.buyer-tools > summary { padding: 20px 24px; color: #20354e; font-size: 17px; font-weight: 600; line-height: 1.5; cursor: pointer; }
.buyer-tools[open] > summary { border-bottom: 1px solid #e5e9ef; }
.buyer-tools__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; padding: 28px; }
.buyer-tools__grid > article { min-width: 0; }
.buyer-tools__grid h3 { margin: 0 0 10px; color: #20354e; font-size: 18px; line-height: 1.3; }
.buyer-tools__grid p { margin: 0; color: #52637a; font-size: 15px; line-height: 1.65; }
.buyer-related { margin: 22px 0 0; }
.buyer-related a { color: #294d83; font-size: 15px; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
.buyer-journey-page .product-section--white > .container > .product-section__lede { max-width: 70ch; margin-top: 28px; }
.buyer-journey-page .product-section--white > .container > .product-section__lede a { color: #294d83; text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 1100px) {
  .buyer-journey-page .solution-display,
  .buyer-journey-page .product-hero__title { max-width: 23ch; }
}
@media (max-width: 760px) {
  .buyer-tools__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 22px; }
}
@media (max-width: 640px) {
  .buyer-journey-page .solution-section__head { gap: 20px; }
  .buyer-journey-page .solution-workflow { grid-template-columns: minmax(0, 1fr); }
  .buyer-journey-page .buyer-step > article { padding: 24px; }
  .buyer-tools__grid { grid-template-columns: minmax(0, 1fr); }
  .buyer-tools > summary { padding: 18px 20px; font-size: 16px; }
}
