/* Four stages around the artist's palette: the reference's topology,
   interpreted in Paloma's paper, wood and hand-painted color palette. */
.process.process {
  display: block;
  padding: clamp(5rem, 8vw, 8rem) clamp(1.45rem, 6vw, 7rem);
}
.process .process-title { position: static; max-width: 850px; margin: 0 auto; text-align: center; }
.process-title .eyebrow { justify-content: center; }
.process .process-title h2 { font-size: clamp(3rem, 5.2vw, 5.5rem); text-wrap: balance; }
.process-title h2 em { display: block; }
.process-intro { max-width: 56ch; margin: 1.5rem auto 0; font-size: 1.15rem; line-height: 1.65; color: var(--muted); }
.process-diagram { position: relative; max-width: 1240px; margin: 4.5rem auto 0; }
.process .process-steps {
  display: grid; grid-template-columns: 1fr 1.1fr 1fr;
  grid-template-rows: repeat(2, minmax(190px, auto));
  column-gap: 1.25rem; row-gap: 4rem;
  position: relative; z-index: 2;
}
.process .process-steps li {
  display: block; min-width: 0; padding: 1.75rem;
  border: 1px solid #a9b8ac; border-radius: 12px;
  background: #fffaf0;
}
.process-steps li:nth-child(1) { grid-column: 1; grid-row: 1; }
.process-steps li:nth-child(2) { grid-column: 3; grid-row: 1; }
.process-steps li:nth-child(3) { grid-column: 1; grid-row: 2; }
.process-steps li:nth-child(4) { grid-column: 3; grid-row: 2; }
.process .process-steps .process-number {
  display: block; margin-bottom: 1rem;
  color: var(--coral); font: 700 .78rem Arial, sans-serif;
  letter-spacing: .08em; font-variant-numeric: tabular-nums;
}
.process .process-steps h3 { margin: 0; font-size: clamp(1.65rem, 2.2vw, 2rem); line-height: 1.15; letter-spacing: -.025em; }
.process .process-steps p { margin: .85rem 0 0; font-size: 1rem; line-height: 1.6; color: var(--muted); }
.process-connections { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; }
.process-connections path { stroke: #8ba89a; stroke-width: 2; vector-effect: non-scaling-stroke; stroke-linecap: round; }
.process-connections path:nth-child(even) { stroke: #bd7860; }
.process-palette {
  position: absolute; z-index: 1; left: 50%; top: 50%;
  width: 34%; max-width: 420px; margin: 0;
  transform: translate(-50%, -50%); pointer-events: none;
}
.process-palette img { display: block; width: 100%; height: auto; filter: drop-shadow(5px 12px 12px #513b2626); }
@media (max-width: 900px) {
  .process .process-steps { grid-template-columns: 1fr .8fr 1fr; column-gap: .75rem; row-gap: 2rem; }
  .process .process-steps li { padding: 1.4rem; }
  .process .process-steps h3 { font-size: 1.65rem; }
}
@media (max-width: 760px) {
  .process-diagram { margin-top: 2rem; }
  .process-palette { position: relative; left: auto; top: auto; width: 260px; max-width: 75%; margin: 0 auto 1.5rem; transform: none; }
  .process-connections { display: none; }
  .process .process-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
  .process .process-steps li { grid-column: auto; grid-row: auto; }
}
@media (max-width: 520px) {
  .process .process-title h2 { font-size: clamp(2.7rem, 10.5vw, 3.5rem); }
  .process-intro { font-size: 1.05rem; }
  .process .process-steps { grid-template-columns: 1fr; }
  .process .process-steps li { display: grid; grid-template-columns: 2rem 1fr; gap: 1rem; padding: 1.5rem; }
  .process .process-steps .process-number { margin-top: .35rem; margin-bottom: 0; }
}
