/* Only the added cases and consultation actions; adopted hero styles remain untouched. */
.integrated-cases {
  max-width: 1320px;
  margin: auto;
  padding: 0 max(7vw, 24px) clamp(88px, 12vh, 160px);
}
.integrated-cases > h2 {
  max-width: 24em;
  margin: 0 0 52px;
  font-size: clamp(23px, 2.7vw, 36px);
  font-weight: 600;
  line-height: 1.8;
}
.integration-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px; }
.integration-case { min-width: 0; display: flex; flex-direction: column; border-top: 1px solid #ddd; padding-top: 30px; }
.integration-case h3 { margin: 0 0 20px; font-size: clamp(20px, 2vw, 26px); font-weight: 600; line-height: 1.8; }
.integration-case > p { margin: 0 0 32px; font-size: 15px; line-height: 2.2; }
.integration-photo { margin: auto 0 0; }
.integration-photo img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: contain; background: #f5f5f3; }
.integration-photo figcaption { margin-top: 14px; font-size: 12px; line-height: 1.9; color: #53585a; }
.integration-case-link { margin-top: 24px; }
.integration-read { display: inline-block; padding: 12px 0; text-underline-offset: 6px; font-size: 14px; line-height: 1.8; }
.consultation .integration-actions { margin-top: 34px; }
.consultation > .integration-note { max-width: 620px; color: #606568; font-size: 12px; line-height: 1.9; margin: 22px 0 0; }
@media (max-width: 720px) {
  .integration-grid { grid-template-columns: 1fr; gap: 56px; }
  .integration-photo img { aspect-ratio: auto; }
  .integration-photo-portrait img { max-height: 68svh; object-fit: contain; }
  .integration-actions .entry-main { min-width: 0; width: 100%; gap: 14px; }
}
