#ia .ai-method__graphic {
  --diagram-surface: #f0f4ff;
  --diagram-line: #c6d5ee;
  --diagram-fill: #dbe6fa;
  --diagram-blue: #3455bf;
  --diagram-violet: #7355a6;
  display: grid;
  grid-template-columns: minmax(0, 124px) 16px minmax(0, 124px);
  align-items: start;
  justify-content: center;
  column-gap: clamp(6px, 1vw, 14px);
  margin-block-end: clamp(16px, 2vw, 24px);
  padding: clamp(12px, 1.35vw, 18px) clamp(10px, 1.2vw, 16px);
  border: 1px solid var(--diagram-line);
  border-radius: 12px;
  background: var(--diagram-surface);
}

#ia .ai-method__graphic-part {
  display: grid;
  grid-template-rows: clamp(60px, 6.4vw, 86px) auto;
  justify-items: stretch;
  gap: 7px;
  min-inline-size: 0;
}

#ia .ai-method__graphic-label {
  color: var(--ai-method-muted);
  text-align: center;
  font-size: .8125rem;
  font-weight: 650;
  line-height: 1.25;
}

#ia .ai-method__graphic-link {
  display: grid;
  place-items: center;
  block-size: clamp(60px, 6.4vw, 86px);
  color: var(--diagram-blue);
  font-size: 1.2rem;
  line-height: 1;
}

#ia .ai-method__graphic-link--divider::before {
  content: '';
  block-size: 58%;
  border-inline-start: 1px dashed #8ea5d3;
}

#ia .ai-method__notes,
#ia .ai-method__themes {
  display: grid;
  gap: 3px;
}

#ia .ai-method__note,
#ia .ai-method__theme {
  --diagram-marker: var(--diagram-blue);
  display: flex;
  align-items: center;
  gap: 5px;
  min-inline-size: 0;
  padding-inline: 6px;
  border: 1px solid var(--diagram-line);
  border-radius: 5px;
  background: white;
}

#ia .ai-method__note:nth-child(2),
#ia .ai-method__theme:nth-child(2) {
  --diagram-marker: var(--diagram-violet);
}

#ia .ai-method__note::before {
  content: '';
  flex: none;
  inline-size: 5px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--diagram-marker);
}

#ia .ai-method__note::after,
#ia .ai-method__theme::after {
  content: '';
  inline-size: 68%;
  block-size: 3px;
  border-radius: 3px;
  background: var(--diagram-fill);
}

#ia .ai-method__note:nth-child(2)::after {
  inline-size: 55%;
}

#ia .ai-method__theme {
  border-inline-start: 3px solid var(--diagram-marker);
}

#ia .ai-method__theme:first-child::after {
  transform: translateY(-3px);
  box-shadow: 0 6px var(--diagram-fill);
}

#ia .ai-method__mini-window {
  position: relative;
  display: grid;
  grid-template-rows: 6px minmax(0, 1fr);
  gap: 5px;
  min-inline-size: 0;
  padding: 6px;
  border: 1px solid var(--diagram-line);
  border-radius: 7px;
  background: white;
}

#ia .ai-method__mini-window::before {
  content: '';
  inline-size: 33%;
  block-size: 3px;
  align-self: center;
  border-radius: 3px;
  background: #9fb1d7;
}

#ia .ai-method__mini-window--selected {
  border-color: var(--diagram-blue);
}

#ia .ai-method__mini-window--selected::after {
  content: '✓';
  position: absolute;
  inset-block-start: 3px;
  inset-inline-end: 5px;
  color: var(--diagram-blue);
  font-size: 11px;
  font-weight: 750;
  line-height: 1;
}

#ia .ai-method__mini-layout {
  display: grid;
  grid-template-rows: 1fr .35fr .35fr;
  gap: 4px;
}

#ia .ai-method__mini-layout > span {
  border-radius: 3px;
  background: var(--diagram-fill);
}

#ia .ai-method__mini-layout--columns {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: 1fr .4fr;
}

#ia .ai-method__mini-layout--columns > span:last-child {
  grid-column: 1 / -1;
  background: #a7b9ed;
}

#ia .ai-method__mini-layout--prototype {
  grid-template-rows: .4fr .4fr 1fr;
}

#ia .ai-method__mini-layout--prototype > span:nth-child(2) {
  inline-size: 72%;
}

#ia .ai-method__mini-layout--prototype > span:last-child {
  inline-size: 65%;
  background: var(--diagram-blue);
}

#ia .ai-method__checks {
  display: grid;
  gap: 4px;
  padding: 6px;
  border: 1px solid var(--diagram-line);
  border-radius: 7px;
  background: white;
}

#ia .ai-method__check {
  display: flex;
  align-items: center;
  gap: 5px;
}

#ia .ai-method__check::before {
  content: '';
  display: grid;
  place-items: center;
  flex: none;
  inline-size: 10px;
  block-size: 10px;
  border: 1px solid #8fa5d6;
  border-radius: 3px;
  color: white;
  font-size: 8px;
  font-weight: 750;
  line-height: 1;
}

#ia .ai-method__check:first-child::before {
  content: '✓';
  border-color: var(--diagram-blue);
  background: var(--diagram-blue);
}

#ia .ai-method__check::after {
  content: '';
  inline-size: 65%;
  block-size: 3px;
  border-radius: 3px;
  background: var(--diagram-fill);
}

@media (min-width: 801px) and (max-width: 899px) {
  #ia .ai-method__step {
    display: grid;
    grid-template-columns: clamp(180px, 29vw, 260px) minmax(0, 1fr);
    gap: 0 24px;
  }

  #ia .ai-method__step h3 {
    grid-column: 1 / -1;
  }

  #ia .ai-method__graphic {
    align-self: start;
    margin-block-end: 0;
  }
}

@media (min-width: 900px) {
  @supports (grid-template-rows: subgrid) {
    #ia .ai-method__step {
      grid-row: span 4;
    }
  }
}
