/* Visual process: four phases, eight original steps, one shared palette. */
.process-journey{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-6);padding:0;margin:var(--block-space) 0 0;align-items:start}
.process-stage{min-width:0;border-top:1px solid var(--line);padding-top:var(--space-4)}
.process-art{position:relative;height:184px;margin-bottom:var(--space-6);color:var(--ink)}
.process-art svg{display:block;width:100%;height:100%;overflow:visible}
.process-art .art-route{stroke:var(--red);stroke-width:1.7}
.process-number{position:absolute;left:0;top:0;font-size:58px;font-weight:300;letter-spacing:-.06em;line-height:1.2;color:transparent;-webkit-text-stroke:.7px var(--red);user-select:none}
.process-stage h3{font-size:19px;font-weight:600;line-height:1.5;letter-spacing:-.025em;margin:0 0 var(--space-3);min-height:3em}
.process-phase-copy{font-size:14px;line-height:1.85;color:var(--muted);margin:0;min-height:7.4em}
.process-details{margin-top:var(--space-6);border-top:1px solid var(--line)}
.process-details summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:48px;padding:var(--space-3) 0;cursor:pointer;font-size:12px;line-height:1.7;font-weight:600;transition:color .22s ease}
.process-details summary::-webkit-details-marker{display:none}
.process-details summary:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:2px}
.process-details-icon{position:relative;width:16px;height:16px;flex:0 0 16px;color:var(--red)}
.faq summary>.process-details-icon{position:absolute;right:0;top:50%;margin-top:-8px}
.process-details-icon:before,.process-details-icon:after{content:'';position:absolute;left:2px;right:2px;top:7px;height:1px;background:currentColor}
.process-details-icon:after{transform:rotate(90deg);transition:transform .22s ease}
:is(.process-details,.about-detail,.faq)[open] .process-details-icon:after{transform:rotate(0)}
.process-details-hide,.process-details[open] .process-details-show{display:none}
.process-details[open] .process-details-hide{display:inline}
.process-detail-list{list-style:none;margin:var(--space-3) 0 0;padding:0}
.process-detail-list li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:var(--space-2);padding-bottom:var(--space-4)}
.process-detail-list li+li{border-top:1px solid var(--line);padding-top:var(--space-4)}
.process-detail-number{font-size:10px;line-height:2.1;color:var(--red)}
.process-detail-list h4{font-size:12px;line-height:1.7;font-weight:700;margin:0 0 var(--space-2)}
.process-detail-list p{font-size:12px;line-height:1.85;color:var(--muted);margin:0}
.process-journey.motion-ready .process-stage:not(.is-drawn) .art-route{stroke-dasharray:1;stroke-dashoffset:1;opacity:0}
.process-journey.motion-ready .is-drawn .art-route{stroke-dasharray:1;animation:process-draw 1.9s cubic-bezier(.22,.61,.36,1) both;animation-delay:calc(var(--stage-index)*.12s)}
@keyframes process-draw{from{stroke-dashoffset:1;opacity:0}10%{opacity:1}to{stroke-dashoffset:0;opacity:1}}
@media(hover:hover) and (pointer:fine){.process-details summary:hover{color:var(--red)}.process-details:not([open]) summary:hover .process-details-icon{animation:disclosure-hint .65s ease-out}}
@media(max-width:1050px){.process-journey{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--block-space);row-gap:var(--block-space)}.process-art{height:200px}.process-stage h3{min-height:0}.process-phase-copy{min-height:5.55em}}
@media(max-width:600px){.process-journey{grid-template-columns:minmax(0,1fr);gap:var(--space-8)}.process-art{height:184px;margin-bottom:var(--space-4)}.process-number{font-size:64px}.process-stage h3{font-size:20px}.process-phase-copy{font-size:15px;min-height:0}.process-details{margin-top:var(--space-4)}.process-details summary{font-size:13px}.process-detail-list h4,.process-detail-list p{font-size:13px}}
@media(prefers-reduced-motion:reduce){.process-journey .art-route{animation:none!important;stroke-dasharray:none!important;stroke-dashoffset:0!important;opacity:1!important}.process-details summary,.process-details-icon:after{transition:none}.process-details-icon{animation:none!important}}
