/* Product-led service story. Space and photography separate ideas, not rules. */
.b2b-supply { background: #faf8f4; }
.b2b-opening { display: grid; grid-template-columns: 1.12fr 1fr; align-items: center; gap: clamp(32px,7vw,100px); padding-block: 36px 0; }
.b2b-opening > div { grid-column: 2; grid-row: 1; padding-right: clamp(0px,2vw,28px); }
.b2b-opening h1 { max-width: 16ch; }
.b2b-opening figure { grid-column: 1; grid-row: 1; margin: 0; }
.b2b-opening img { display: block; width: 100%; height: auto; aspect-ratio: 4/5; object-fit: contain; }
.b2b-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; margin-top: 28px; }
.b2b-supply p { max-width: 62ch; font-size: 16px; line-height: 1.75; margin-top: 24px; }
.b2b-supply .btn-primary { white-space: normal; text-align: center; }
.b2b-selection { max-width: 820px; padding-block: clamp(56px,7vw,100px); }
.b2b-selection h2 { max-width: 24ch; }
.b2b-supply .b2b-note { color: #625e55; }
.b2b-visit { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(32px,8vw,116px); align-items: center; padding-bottom: clamp(56px,7vw,100px); }
.b2b-visit figure { margin: 0; }
.b2b-visit img { display: block; width: 100%; height: auto; aspect-ratio: 5/4; object-fit: cover; }
.b2b-visit .text-link { margin-top: 18px; }
.b2b-request { background: #ece6dd; padding-block: clamp(44px,6vw,80px); }
.b2b-request-inner { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px,8vw,116px); }
.b2b-request .btn-primary { margin-top: 28px; }
.b2b-request dl { margin: 0; display: grid; gap: 24px; }
.b2b-request dt { font-weight: 500; font-size: 18px; }
.b2b-request dd { margin: 8px 0 0; font-size: 16px; line-height: 1.75; color: #59564f; }
.b2b-next { max-width: 800px; padding-block: clamp(52px,7vw,88px); text-align: center; }
.b2b-next p { margin-inline: auto; }
.b2b-next .text-link { margin-top: 20px; }
@media (max-width: 760px) {
  .b2b-opening { grid-template-columns: 1fr; gap: 28px; padding-top: 32px; }
  .b2b-opening > div,.b2b-opening figure { grid-column: auto; grid-row: auto; padding-right: 0; }
  .b2b-opening h1 { max-width: 20ch; }
  .b2b-opening img { max-height: 460px; }
  .b2b-selection { padding-block: 48px; }
  .b2b-visit,.b2b-request-inner { grid-template-columns: 1fr; gap: 28px; }
  .b2b-visit img { aspect-ratio: 3/2; }
  .b2b-next { text-align: left; }
}
