.solution-shortcuts{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.5rem 0 2rem}.solution-shortcuts a{padding:.65rem 1rem;background:#fff;border:1px solid #c5d8e4;border-radius:2rem;font-size:.85rem;font-weight:600;min-height:44px}.solution-shortcuts a:hover{background:#02263c;color:white}.solution-map{margin-bottom:1.7rem;padding:1.1rem;background:linear-gradient(140deg,#e8f1f7,#f9fcff);border:1px solid #c9dce8;border-radius:1rem}.map-label{font-size:.68rem;letter-spacing:.12em;font-weight:700;color:#245571;display:flex;justify-content:space-between;gap:.7rem}.map-label span{font-weight:400;letter-spacing:0}.map-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;position:relative}.map-stages:before{content:"";position:absolute;top:35%;left:10%;right:10%;height:1px;background:#87a8bd}.map-stage{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;border:1px solid #b9d0de;background:#fff;border-radius:.7rem;padding:.75rem .25rem;color:#315e77;font:inherit;cursor:pointer;min-width:0}.map-stage svg{width:32px;height:32px}.map-stage strong{font-size:.72rem;overflow-wrap:anywhere}.map-step-number{font-size:.6rem;letter-spacing:.12em}.map-stage[aria-pressed=true]{background:#02263c;color:#fff;border-color:#02263c;box-shadow:0 5px 12px #02263c24}.map-stage[aria-pressed=true] svg{color:#aad9f1}.map-detail{margin-top:1rem;padding:.8rem 1rem;border-left:3px solid #d82135;background:#fff;border-radius:0 .6rem .6rem 0;min-height:7rem}.map-detail strong{font-size:.85rem;color:#163f57}.map-detail p{font-size:.85rem;line-height:1.65;margin:.35rem 0 0}.solution-story-head{display:flex;flex-direction:column}.solution-story-head>.text-link{margin-top:auto;padding-top:1.5rem}@media(max-width:360px){.map-stages{grid-template-columns:repeat(2,minmax(0,1fr))}.map-stages:before{display:none}.map-label{flex-direction:column}.solution-map{padding:.8rem}}@media(prefers-reduced-motion:no-preference){.map-stage{transition:background .2s,box-shadow .2s}.map-detail.is-changing{animation:stage-in .2s ease-out}@keyframes stage-in{from{opacity:.5;transform:translateY(3px)}to{opacity:1;transform:none}}}@media print{.solution-shortcuts{display:none}.map-stages{display:flex}.map-stage{flex:1}.map-detail{min-height:0}}
