.thread-process{display:block;background:#f8f6f0;padding-bottom:64px;overflow:hidden}
.thread-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:10%;margin-bottom:42px}
.thread-heading>.lead{font-size:22px;line-height:1.55;max-width:32ch;padding-bottom:6px}
.thread-stage{position:relative;min-height:560px;isolation:isolate}
.thread-plan{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.31;z-index:-2;pointer-events:none}
.thread-stage::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#f8f6f070,#f8f6f015 65%,#f8f6f040);pointer-events:none}
.thread-drawing{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}
.thread-guide{fill:none;stroke:#a78d772e;stroke-width:1.5;stroke-linecap:round}
.thread-shadow,.thread-line,.thread-highlight{fill:none;stroke-linecap:round;stroke-linejoin:round}
.thread-shadow{stroke:#74412324;stroke-width:7;transform:translate(0,4px);filter:blur(3px)}
.thread-line{stroke-width:3.5}
.thread-highlight{stroke:#f2c8a8;stroke-width:.8;opacity:.72;transform:translate(0,-.9px)}
.thread-tip-halo{fill:#b7633d;opacity:.12}.thread-tip-core{fill:#8b4529;stroke:#fff6e8;stroke-width:2}
.thread-steps{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,5vw,80px);padding:86px 32px 80px;margin:0;list-style:none}
.thread-stop{min-width:0;position:relative}
.thread-stop:nth-child(2){padding-top:130px}.thread-stop:nth-child(3){padding-top:30px}
.thread-node{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border:1px solid #b8a896;background:#f8f6f0;color:#665a4e;font-family:var(--serif);font-size:25px;border-radius:50%;box-shadow:0 6px 16px #26384808;transition:border-color .3s,color .3s,box-shadow .3s,background .3s;position:relative;margin-bottom:25px}
.thread-node::after{content:'';position:absolute;inset:-7px;border:1px solid #a7523200;border-radius:50%;transition:border-color .3s}
.thread-copy{background:#f8f6f0eb;padding:0 12px 12px 0;max-width:30ch}
.thread-copy h3{font-family:var(--serif);font-size:clamp(27px,2.4vw,36px);line-height:1.14;letter-spacing:-.025em;margin-bottom:18px}
.thread-copy>p:last-child{font-size:16px;line-height:1.65;color:#4d5a65}
.thread-label{font-size:12px;line-height:1.5;letter-spacing:.1em;color:#746552;margin-bottom:12px}
.thread-stop.is-reached .thread-node{border-color:#9f5432;color:#873e24;background:#f8efe2;box-shadow:0 8px 24px #8a452018}
.thread-stop.is-current .thread-node::after{border-color:#a7523259}
.thread-stop.is-current .thread-label{color:#91482a}
.thread-caption{position:absolute;bottom:13px;right:0;left:0;text-align:right;font-size:12px;color:#6f756f;line-height:1.5;z-index:2}
@media(min-width:1600px){.thread-stage{max-width:1380px;margin:auto}.thread-steps{gap:100px}}
@media(max-width:960px){
  .thread-process{padding-bottom:48px}.thread-heading{grid-template-columns:1fr;gap:24px;margin-bottom:32px}
  .thread-heading>.lead{font-size:20px;max-width:38ch;padding:0}
  .thread-stage{min-height:0}.thread-plan{object-position:70% center;opacity:.22}
  .thread-steps{grid-template-columns:1fr;padding:28px 0 90px;gap:86px}
  .thread-stop{display:grid;grid-template-columns:64px minmax(0,1fr);column-gap:28px;align-items:start}
  .thread-stop:nth-child(2),.thread-stop:nth-child(3){padding-top:0}
  .thread-node{width:56px;height:56px;font-size:23px;margin:2px 0 0 4px}
  .thread-copy{max-width:46ch;padding:0 0 10px;background:#f8f6f0ed}
  .thread-copy h3{font-size:30px;margin-bottom:15px}.thread-copy h3 br{display:none}
  .thread-copy>p:last-child{font-size:16px;line-height:1.65}
  .thread-label{font-size:12px;margin-bottom:9px}
  .thread-caption{font-size:12px;text-align:left;bottom:12px;max-width:38ch}
  .thread-line{stroke-width:3.5}
}
@media(max-width:390px){.thread-stop{grid-template-columns:52px minmax(0,1fr);column-gap:20px}.thread-node{width:48px;height:48px;margin-left:2px;font-size:21px}.thread-copy h3{font-size:27px}.thread-steps{gap:76px}}
@media(prefers-reduced-motion:reduce){.thread-node,.thread-node::after{transition:none}.thread-tip{display:none!important}}
@media print{.thread-process{background:white}.thread-plan,.thread-drawing{display:none!important}.thread-heading{display:block}.thread-heading>.lead{margin-top:20px}.thread-steps{display:block;padding:20px 0}.thread-stop{padding:15px 0!important;display:grid;grid-template-columns:64px 1fr;gap:20px;break-inside:avoid}.thread-caption{position:static;text-align:left}}
