:root{font-family:"Plus Jakarta Sans",sans-serif;color:#242830;background:#f9fafc}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0}
a{color:inherit;text-decoration:none}
button,a{outline-offset:3px}
:focus-visible{outline:2px solid #2d415c}
.skip{position:absolute;top:-60px;left:12px;z-index:100;padding:9px 12px;background:#fff}
.skip:focus{top:12px}
.wrap,.header-inner{width:min(100% - 48px,1180px);margin-inline:auto}
.site-header{background:#fff;border-bottom:1px solid #e0e3e8}
.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand img{display:block;width:200px;height:60px;object-fit:contain;object-position:left center}
.site-header nav{display:flex;align-items:center;gap:26px}
.site-header nav a{font-size:12px;font-weight:750;color:#596b5d;white-space:nowrap}
.site-header nav a:hover,.site-header nav a[aria-current]{color:#2d415c}
.heading{padding-block:58px 49px}
.eyebrow{margin:0 0 10px;color:#344c6e;font-size:10px;font-weight:800;letter-spacing:.1em}
h1,h2,p{margin-top:0}
h1{max-width:820px;margin-bottom:14px;font-size:clamp(30px,4vw,48px);line-height:1.16;font-weight:800}
.heading>p:last-child{margin-bottom:0;color:#607164;font-size:15px;line-height:1.6}
.map-section{padding:38px 0 53px;background:#fff;border-top:1px solid #e0e3e8;border-bottom:1px solid #e0e3e8}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}
h2{margin:0;font-size:22px;line-height:1.25}
.map-count,.status-label{font-size:11px;font-weight:750;color:#4c5663}
.map-wrap{position:relative;height:min(54vh,520px);min-height:360px;overflow:hidden;border:1px solid #dde0e5;border-radius:7px;background:#e9ebee}
#wpr-map{height:100%;width:100%}
.map-message{position:absolute;bottom:15px;left:15px;z-index:500;max-width:min(410px,calc(100% - 30px));padding:11px 13px;border:1px solid #dadfe5;border-radius:5px;background:rgba(255,255,255,.96);color:#3b4552;font-size:12px;font-weight:650;box-shadow:0 4px 15px rgba(30,60,36,.08)}
.map-message[hidden]{display:none}
.map-note{margin:12px 0 0;color:#718174;font-size:11px;line-height:1.6}
.progress-section{padding:57px 0 72px;background:#f9fafc}
.status-label{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;background:#e9edf2;border:1px solid #dbe0e7;border-radius:5px;color:#2d415c}
.status-dot{width:8px;height:8px;border-radius:50%;background:#4c6485;box-shadow:0 0 0 4px #d9dfe8;animation:pulse 2.5s infinite}
.timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}
.timeline li{position:relative;min-width:0;text-align:center}
.step-button{display:flex;align-items:center;flex-direction:column;gap:8px;width:100%;min-height:142px;padding:0 12px 14px;background:none;border:0;border-radius:7px;color:inherit;font:inherit;cursor:pointer}
.step-button:hover .number,.step-button:focus-visible .number{transform:translateY(-3px)}
.step-button.selected strong{color:#285e7b}
.number{position:relative;z-index:1;display:grid;place-items:center;width:50px;height:50px;border:4px solid #f9fafc;border-radius:50%;background:#e6ebed;color:#718188;font-size:12px;font-weight:800;transition:transform .25s ease,box-shadow .25s ease}
.complete .number{background:#5289ad;color:#fff}
.current .number{background:#5289ad;color:#fff;box-shadow:0 0 0 5px rgba(82,137,173,.2);animation:current-pulse 2.8s ease-in-out infinite}
.timeline strong{display:block;margin-top:3px;font-size:13px;line-height:1.35}
.step-state{color:#718188;font-size:11px;font-weight:700}
.current .step-state{color:#366c8c}
.step-button.selected .step-state{text-decoration:underline;text-underline-offset:4px}
footer{padding:28px 0;background:#222831;color:#d8dee7;font-size:11px}
@keyframes pulse{50%{box-shadow:0 0 0 9px rgba(69,140,94,0)}}
@keyframes progress-grow{from{width:0}to{width:50%}}
@keyframes current-pulse{50%{box-shadow:0 0 0 10px rgba(82,137,173,0)}}
@media(max-width:700px){.wrap,.header-inner{width:min(100% - 32px,1180px)}.header-inner{align-items:flex-start;flex-direction:column;padding-block:10px 14px;gap:4px}.brand img{width:175px;height:48px}.site-header nav{width:100%;gap:18px;overflow-x:auto;padding-bottom:3px}.heading{padding-block:42px}.section-head{align-items:flex-start;flex-direction:column;gap:10px}.timeline{gap:4px}.timeline strong{font-size:11px}.step-button{padding-inline:2px;min-height:128px}.step-state{font-size:10px}.number{width:44px;height:44px}.map-wrap{height:420px;min-height:300px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.status-dot,.current .number{animation:none}.step-button .number{transition:none}}
