/* Shared process only inside explicit page wrappers; no generic list overrides. */
:is(.aim26-process-page, .aim26-special) {
  --process-accent: var(--special-accent, var(--aim26-promotion, #58624d));
  --process-line: #dadbd4;
}
.aim26-process-page--brew { --process-accent: var(--aim26-brew, #f9992c); }
.aim26-process-page--nature { --process-accent: var(--aim26-nature, #1060b1); }
.aim26-process-page--community { --process-accent: var(--aim26-community, #9a5d4c); }
:is(.aim26-process-page, .aim26-special) .aim-process { max-width: 1120px; min-width: 0; margin: 48px auto; }
:is(.aim26-process-page, .aim26-special) .aim-process__head { margin-bottom: 32px; }
:is(.aim26-process-page, .aim26-special) .aim-process__list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; padding: 0; margin: 0; list-style: none; counter-reset: aim-step; }
:is(.aim26-process-page, .aim26-special) .aim-process__item { position: relative; display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 32px; min-width: 0; margin: 0; padding: 0 0 44px; counter-increment: aim-step; }
:is(.aim26-process-page, .aim26-special) .aim-process__item::before { content: ''; position: absolute; left: 31px; top: 48px; bottom: 8px; width: 1px; background: var(--process-line); }
:is(.aim26-process-page, .aim26-special) .aim-process__item:last-child::before { content: none; }
:is(.aim26-process-page, .aim26-special) .aim-process__legacy { display: contents; }
:is(.aim26-process-page, .aim26-special) .aim-process__number { position: static; width: 64px; height: 44px; margin: 0; background: white; color: var(--process-accent); font-family: var(--aim26-en); font-style: normal; font-size: 28px; font-weight: 500; line-height: 44px; text-align: center; }
:is(.aim26-process-page, .aim26-special) .aim-process__number--legacy { font-size: 0; }
:is(.aim26-process-page, .aim26-special) .aim-process__number--legacy::after { content: counter(aim-step, decimal-leading-zero); font-size: 28px; }
:is(.aim26-process-page, .aim26-special) .aim-process__body { min-width: 0; max-width: 100%; margin: 0; padding-top: 4px; }
:is(.aim26-process-page, .aim26-special) .aim-process__body :is(h3, dt) { max-width: 100%; margin: 0 0 14px; font-size: clamp(20px, 2vw, 26px); font-weight: 600; line-height: 1.5; word-break: normal; line-break: strict; overflow-wrap: anywhere; text-wrap: balance; }
:is(.aim26-process-page, .aim26-special) .aim-process__body :is(p, dd) { margin: 0 0 16px; font-size: 16px; line-height: 1.9; overflow-wrap: anywhere; }
:is(.aim26-process-page, .aim26-special) .aim-process__body img { max-width: 100%; height: auto; }
/* Old arrow wrappers sometimes contain illustrations: retain images, not empty arrows. */
:is(.aim26-process-page, .aim26-special) .aim-process__legacy > .arrow { grid-column: 2; width: auto; height: auto; padding: 0; background: none; }
:is(.aim26-process-page, .aim26-special) .aim-process__legacy > .arrow .img { position: static; width: auto; height: auto; }
:is(.aim26-process-page, .aim26-special) .aim-process__legacy > .arrow:empty { display: none; }
:is(.aim26-process-page, .aim26-special) .aim-process__legacy > .arrow::before,
:is(.aim26-process-page, .aim26-special) .aim-process__legacy > .arrow::after { content: none; }
:is(.aim26-process-page, .aim26-special) .aim-process__legacy > .arrow img { display: block; max-width: min(100%, 240px); height: auto; }
@media (min-width: 1025px) {
  :is(.aim26-process-page, .aim26-special) .aim-process--horizontal .aim-process__list { grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); gap: 28px; }
  :is(.aim26-process-page, .aim26-special) .aim-process--horizontal .aim-process__item { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  :is(.aim26-process-page, .aim26-special) .aim-process--horizontal .aim-process__item::before { left: 80px; right: -16px; top: 22px; bottom: auto; width: auto; height: 1px; }
}
@media (max-width: 768px) {
  :is(.aim26-process-page, .aim26-special) .aim-process { margin-block: 32px; }
  :is(.aim26-process-page, .aim26-special) .aim-process__item { grid-template-columns: 40px minmax(0, 1fr); gap: 16px; padding-bottom: 32px; }
  :is(.aim26-process-page, .aim26-special) .aim-process__number { width: 40px; font-size: 24px; }
  :is(.aim26-process-page, .aim26-special) .aim-process__number--legacy { font-size: 0; }
  :is(.aim26-process-page, .aim26-special) .aim-process__number--legacy::after { font-size: 24px; }
  :is(.aim26-process-page, .aim26-special) .aim-process__item::before { left: 19px; }
}
