/* flow.css (Flow page specific styles) */
body {
  background-color: var(--paper);
}

#flowSection {
  margin-top: 73px;
}

.pageSection {
  padding-block: 64px;
  background: var(--paper);
  scroll-margin-top: 80px;
}

.pageSectionAlt {
  background: color-mix(in oklch, var(--paper) 92%, var(--warm2) 8%);
}

.sectionInner {
  width: min(1120px, 100%);
  margin-inline: auto;
  padding-inline: 16px;
}

.sectionTitle {
  color: var(--warm3);
  font-size: clamp(22px, calc(20px + 0.625vw), 32px);
  font-weight: 950;
  margin-block-end: 10px;
  > span {
    display: inline-block;
  }
}

.sectionLead {
  font-size: clamp(14px, calc(13.2px + 0.25vw), 18px);
  line-height: 1.8;
  color: oklch(from #333 l c h / 0.9);
  font-weight: 800;
  margin-block-end: 26px;
}

#flowSection {
  > .sectionInner {
    display: grid;
    grid-template-columns: 55% 1fr;
    gap: 16px;
    > .sectionTitle,
    .sectionLead {
      grid-column: 1/3;
    }
    > img {
      align-self: end;
    }
  }
}

.flowList {
  display: flex;
  flex-direction: column;
  gap: 16px;
  list-style: none;
  padding: 0;
}

.flowItem {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 16px;
  border-radius: var(--radius);
  border: 1px solid oklch(from #333 l c h / 0.1);
  background: oklch(from #fbfbfb l c h / 0.88);
}

.flowBadge {
  flex: 0 0 auto;
  font-weight: 950;
  font-size: clamp(12px, calc(11.6px + 0.125vw), 14px);
  letter-spacing: 0.05em;
  padding: 10px 12px;
  border-radius: 100vmax;
  background: color-mix(in oklch, var(--warm1) 30%, var(--paper) 70%);
  color: oklch(from #333 l c h / 0.9);
  border: 1px solid oklch(from #333 l c h / 0.1);
}

.flowTitle {
  font-size: clamp(16px, calc(15.2px + 0.25vw), 20px);
  font-weight: 950;
  margin-block-end: 6px;
  color: var(--ink);
}

.flowText {
  font-size: clamp(13px, calc(12.4px + 0.1875vw), 16px);
  font-weight: 800;
  line-height: 1.8;
  color: oklch(from #333 l c h / 0.86);
}

/* mobile */
@media (width < 768px) {
  .pageSection {
    padding-block: 56px;
  }

  #flowSection {
    margin-top: 55.5px;
    > .sectionInner {
      grid-template-columns: 40% 1fr;
      > .sectionTitle,
      .sectionLead {
        grid-column: 2/3;
      }
      > img {
        grid-row: 1/3;
        align-self: start;
      }
    }
  }

  .flowList {
    grid-column: 1/3;
  }
}
