/* Shared reading rhythm for service pages. Content determines section height. */
:root {
  --subpage-section-space: 80px;
  --subpage-heading-space: 40px;
}
.sec,
.section,
.agentic-field {
  padding-block: var(--subpage-section-space);
}
.sec-head,
.section-head,
.section-heading,
.agentic-head {
  grid-template-columns: 104px minmax(0, 1fr);
  gap: 24px;
  margin-bottom: var(--subpage-heading-space);
}
.sec-head h2,
.section-head h2,
.section-heading h2,
.agentic-head h2 {
  max-width: 36ch;
}
/* Reading content stays visible even before scroll observers initialize. */
.reveal { opacity: 1; transform: none; }
.section-heading-summary { min-width: 0; }
.section-heading-summary p { max-width: 70ch; }
.agentic-board-grid { min-height: 0; }


@media (min-width: 1100px) {
  .section-head-split > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 48px;
    align-items: start;
  }
  .section-head-split h2 {
    max-width: none;
    font-size: var(--type-h2, clamp(32px, 3vw, 44px));
    line-height: 1.08;
  }
  .section-heading-summary > p:first-child { margin-top: 0; }
}
@media (max-width: 1099px) {
  .sec-head,
  .section-head,
  .section-heading,
  .agentic-head { grid-template-columns: 72px minmax(0, 1fr); }
}
@media (max-width: 760px) {
  :root {
    --subpage-section-space: 56px;
    --subpage-heading-space: 32px;
  }
  .sec-head,
  .section-head,
  .section-heading,
  .agentic-head {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }
}
