.process-map { --map-ink:#235442; --map-tint:#e8f0df; margin:30px 0; padding:26px; border:1px solid #d6e1ce; border-radius:15px; background:#f7faf2; }
.process-map figcaption { margin-bottom:22px; }
.map-kicker { font-size:10px; font-weight:700; letter-spacing:.13em; color:#59744c; }
.process-map h3 { font-size:23px; letter-spacing:-.025em; margin:7px 0 10px; color:#244b37; }
.process-map figcaption p { font-size:14px; line-height:1.7; color:#5f7059; margin:0; }
.process-track { display:grid;grid-template-columns:repeat(var(--map-count),minmax(0,1fr));gap:17px;list-style:none;padding:0;margin:0 0 24px; }
.process-track li { position:relative;margin:0;min-width:0; }
.process-track li:not(:last-child)::after { content:'→';position:absolute;right:-14px;top:42px;color:#729063;font-size:17px; }
.process-node { display:flex;flex-direction:column;align-items:flex-start;gap:9px;width:100%;height:100%;min-height:158px;text-align:left;border:1px solid #cdddc0;border-radius:10px;background:#fffef9;padding:13px 10px;color:#2d503c;font:inherit; }
.process-num { display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;border:1px solid #c8d9b7;border-radius:50%;font-size:10px;color:#627c51; }
.process-node strong { font-size:13px;font-weight:650;line-height:1.45;overflow-wrap:break-word; }
.process-node small { font-size:10px;line-height:1.6;color:#66765e; }
.process-node:hover { background:#eff6e4;border-color:#97b27b; }
.process-node[aria-pressed=true] { background:#214f3b;color:#eff5e4;border-color:#214f3b;box-shadow:0 5px 14px #214f3b18; }
.process-node[aria-pressed=true] small { color:#d0dfbf; }
.process-node[aria-pressed=true] .process-num { color:#e2efc3;border-color:#779b65;background:#ffffff0a; }
.process-node:focus-visible { outline:3px solid #8cb660;outline-offset:3px; }
.process-explainer { border-left:3px solid #7da260;border-radius:0 9px 9px 0;background:#e9f1df;padding:18px 22px; }
.map-detail-label { font-size:10px;letter-spacing:.1em;font-weight:700;color:#607b4e; }
.process-explainer h4 { font-size:18px;line-height:1.5;margin:6px 0 9px;color:#244d37; }
.process-explainer p { font-size:14px;line-height:1.8;margin:0;color:#3e5941; }
.process-map .map-footnote { font-size:12px;line-height:1.8;margin:18px 0 0;color:#68745f; }
.focus-evidence .process-map { background:#f7fbfb;border-color:#cfdee0; }
@media(min-width:801px) and (max-width:1150px) { .process-map{padding:20px 15px;}.process-track{gap:13px;}.process-node{padding:11px 8px;}.process-node strong{font-size:12px;}.process-track li:not(:last-child)::after{right:-12px;font-size:14px;} }
@media(max-width:800px) {
 .process-map{padding:20px;margin:24px 0;}.process-track{grid-template-columns:1fr;gap:19px;}.process-track li:not(:last-child)::after{content:'↓';top:auto;right:auto;left:25px;bottom:-19px;line-height:19px;}
 .process-node{min-height:0;display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:14px;row-gap:4px;padding:14px 18px;}.process-num{grid-row:1/3;align-self:center;}.process-node strong{font-size:15px;}.process-node small{font-size:12px;grid-column:2;}.process-map h3{font-size:21px;}.process-explainer{padding:16px 18px;}
}
@media print { .process-map{break-inside:auto;border:1px solid #bdcbbc;padding:12px;background:white;}.process-node{min-height:0;padding:8px;background:white!important;color:#234832!important;}.process-node small{color:#50634b!important;}.process-explainer{background:#f1f5ea;}.process-map h3{font-size:14px;}.process-map figcaption p,.process-explainer p,.process-map .map-footnote{font-size:10px;}.process-node strong{font-size:9px;}.process-node small{font-size:8px;}.process-track{gap:12px;}.process-track li:not(:last-child)::after{right:-11px;font-size:11px;}.process-explainer h4{font-size:12px;} }
.process-inline-note {display:none;}
@media screen and (max-width:800px) { .map-interactive .process-explainer{display:none;}.process-track li:has(.process-node[aria-pressed=true])>.process-inline-note{display:block;font-size:13px;line-height:1.8;margin:0;padding:15px 18px;background:#e9f1df;color:#3e5941;border:1px solid #cedcbe;border-top:0;border-radius:0 0 10px 10px;}.process-track li:has(.process-node[aria-pressed=true])>.process-node{border-radius:10px 10px 0 0;} }
@media screen and (max-width:800px) { .process-node{height:auto;}.process-num{grid-column:1;}.process-node strong{grid-column:2;} }
