.b2b-supply { background: #faf9f6; }
.b2b-opening { display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; gap: clamp(32px,6vw,88px); padding-block: 52px; }
.b2b-opening h1 { max-width: 680px; }
.b2b-opening figure { margin: 0; }
.b2b-opening img { display: block; width: 100%; max-height: 520px; aspect-ratio: 1; object-fit: contain; }
.b2b-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin-top: 28px; }
.b2b-supply p { max-width: 68ch; font-size: 16px; line-height: 1.75; }
.b2b-supply .btn-primary { white-space: normal; text-align: center; }
.b2b-selection { display: grid; grid-template-columns: 1fr 1.4fr; gap: 48px; padding-block: 48px; border-top: 1px solid #dcd6ce; }
.b2b-selection p:first-child { margin-top: 0; }
.b2b-supply .b2b-note { color: #6a6259; }
.b2b-request { background: #ece6dd; padding-block: 48px; }
.b2b-request dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px; margin-block: 32px; }
.b2b-request dl > div { border-top: 1px solid #c4baad; padding-top: 18px; }
.b2b-request dt { font-weight: 600; }
.b2b-request dd { margin: 12px 0 0; font-size: 16px; line-height: 1.65; }
.b2b-next { display: grid; grid-template-columns: 1.3fr 1fr; gap: 64px; padding-block: 56px; }
.b2b-next aside { border-left: 1px solid #dcd6ce; padding-left: 40px; }
@media (max-width: 760px) {
  .b2b-opening,.b2b-selection,.b2b-next { grid-template-columns: 1fr; gap: 24px; padding-block: 32px; }
  .b2b-opening img { max-height: 360px; }
  .b2b-actions { align-items: flex-start; flex-direction: column; }
  .b2b-request dl { grid-template-columns: 1fr; gap: 22px; }
  .b2b-next aside { border-left: 0; border-top: 1px solid #dcd6ce; padding: 28px 0 0; }
}
