/* Enterprise workflow presentation. Scoped to the D candidate merchant module. */
.ai-projects .merchant-project-card {
  display: grid;
  grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr);
  gap: 34px;
  align-items: center;
  margin-top: 38px;
  padding: 32px;
  border: 1px solid #f8f9fc;
  border-radius: 24px;
  background: var(--paper);
  box-shadow: var(--raise-small);
}
.merchant-project-preview, .merchant-project-copy { min-width: 0; }
.merchant-project-preview {
  padding: 8px;
  border: 1px solid #bec5d0;
  border-radius: 16px;
  background: var(--wash);
  box-shadow: var(--press);
}
.merchant-project-preview img { display: block; width: 100%; height: auto; border-radius: 9px; }
.merchant-project-copy h3 { font-size: 28px; line-height: 1.5; margin-bottom: 18px; }
.merchant-project-copy p { font-size: 16px; line-height: 1.85; }
.merchant-project-copy .item-meta { color: var(--accent); font-size: 13px; font-weight: 650; }
.merchant-project-copy .toolbar { margin-top: 22px; }
.merchant-project-copy .primary { min-height: 46px; }
.merchant-reading { max-width: 1100px; margin: 24px auto 48px; }
.merchant-hero { max-width: 920px; margin: 36px 0 56px; padding-bottom: 34px; border-bottom: 1px solid var(--line); }
.merchant-hero h1 { font-size: clamp(34px,4.1vw,52px); line-height: 1.4; margin-bottom: 24px; }
.merchant-hero .lead { font-size: 18px; line-height: 1.9; max-width: 64ch; }
.merchant-section { margin: 52px 0; scroll-margin-top: var(--header-clearance); }
.merchant-section > p { max-width: 72ch; font-size: 17px; line-height: 1.95; }
.merchant-section-heading { display: flex; align-items: center; gap: 18px; margin-bottom: 26px; }
.merchant-section-heading > span {
  display: grid;
  place-items: center;
  flex: 0 0 43px;
  height: 43px;
  border-radius: 50%;
  color: var(--accent);
  background: var(--paper);
  box-shadow: var(--press);
  font-family: "Bahnschrift",sans-serif;
  font-size: 19px;
  font-weight: 600;
}
.merchant-section-heading h2 { margin: 0; font-size: 27px; line-height: 1.45; }
.merchant-contribution-grid, .merchant-planning-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
.merchant-contribution-grid > div { min-width: 0; padding: 27px 29px; border: 1px solid #f8f9fc; border-radius: 22px; box-shadow: var(--raise-small); }
.merchant-contribution-grid h3 { font-size: 21px; margin-bottom: 16px; }
.merchant-contribution-grid p, .merchant-planning-grid p { margin: 0; font-size: 16px; line-height: 1.9; }
.merchant-planning-grid > div { min-width: 0; padding: 22px 0; border-top: 1px solid var(--line); }
.merchant-planning-grid h3 { font-size: 21px; margin-bottom: 14px; }
.merchant-figure { margin: 30px 0 42px; background: var(--paper); border: 1px solid #f8f9fc; border-radius: 23px; box-shadow: var(--raise-small); overflow: hidden; }
.merchant-picture-link { display: block; position: relative; border-bottom: 1px solid var(--line); background: #fff; }
.merchant-picture-link img { display: block; width: 100%; height: auto; }
.merchant-image-hint { display: inline-block; margin: 12px 18px; padding: 8px 13px; border: 1px solid #f8f9fc; border-radius: 999px; background: var(--paper); color: var(--ink); font-size: 14px; }
.merchant-picture-link:focus-visible { outline-offset: -5px; }
.merchant-figure figcaption { padding: 23px 27px; }
.merchant-figure figcaption strong { display: block; font-size: 21px; margin-bottom: 10px; }
.merchant-figure figcaption p { font-size: 16px; line-height: 1.85; margin-bottom: 12px; }
.merchant-figure figcaption > span { font-size: 14px; color: var(--muted); }
.merchant-details { padding-top: 24px; border-top: 1px solid var(--line); }
.merchant-details details { padding: 20px 0; margin: 0; border-color: var(--line); }
.merchant-details summary { min-height: 44px; font-size: 18px; line-height: 1.75; }
.merchant-details summary::marker { color: var(--accent); }
.merchant-details details p { max-width: 72ch; margin: 14px 0 8px; font-size: 16px; line-height: 1.95; }
@media(max-width:900px) {
  .ai-projects .merchant-project-card { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .merchant-project-preview { max-width: 660px; }
}
@media(max-width:680px) {
  .ai-projects .merchant-project-card { padding: 22px 18px; margin-top: 26px; border-radius: 19px; }
  .merchant-project-copy h3 { font-size: 24px; }
  .merchant-reading { margin-top: 22px; }
  .merchant-hero { margin: 26px 0 36px; padding-bottom: 26px; }
  .merchant-hero h1 { font-size: 32px; line-height: 1.45; }
  .merchant-hero .lead { font-size: 17px; }
  .merchant-section { margin-block: 37px; }
  .merchant-section-heading { gap: 13px; margin-bottom: 22px; }
  .merchant-section-heading > span { flex-basis: 36px; height: 36px; font-size: 17px; }
  .merchant-section-heading h2 { font-size: 23px; }
  .merchant-section > p { font-size: 16px; }
  .merchant-contribution-grid, .merchant-planning-grid { grid-template-columns: minmax(0,1fr); gap: 21px; }
  .merchant-contribution-grid > div { padding: 23px 21px; border-radius: 19px; }
  .merchant-contribution-grid h3, .merchant-planning-grid h3 { font-size: 20px; }
  .merchant-planning-grid > div { padding-block: 18px 4px; }
  .merchant-figure { border-radius: 17px; margin-block: 24px 32px; }
  .merchant-image-hint { position: static; margin: 10px 12px 12px; font-size: 14px; padding: 7px 12px; box-shadow: none; }
  .merchant-figure figcaption { padding: 20px 18px; }
  .merchant-figure figcaption strong { font-size: 20px; }
  .merchant-details summary { font-size: 17px; }
}
